Beim Öffnen der Datei zum Schreiben haben Sie TXT oder CSV angegeben. Dies ist eine Textdatei. Lesen Sie es als String, wählen Sie StringSubstr und konvertieren Sie es in das gewünschte Format
void Write_File()
{
int handle;
staticdouble BlueL,RedL;
string B_level= DoubleToStr(BlueLine, Digits);
string R_level= DoubleToStr(RedLine, Digits);
string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt";
if(BlueLine!=BlueL||RedLine!=RedL)
{
Sleep(10000);//подождем 10 сек, пока оператор меняет уровни// Открытие или создание файла и перемещение указателя в конец
handle= FileOpen(f_name,FILE_CSV|FILE_READ|FILE_WRITE," ");
if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; }
FileSeek(handle,0,SEEK_END);
// Если новый файл - записать имя файла и строку заголовков колонокif(FileSize(handle)==0)
{
FileWrite(handle,f_name);
FileWrite(handle,"Изменение Уровней BlueLine RedLine");
}
// Сбор информации и запись в файлFileWrite(handle,TimeToStr(TimeCurrent()), " ",B_level, " ",R_level);
FileClose(handle);
BlueL=BlueLine;RedL=RedLine;
}
return;
}
Das ist die richtige Art zu schreiben! TCT
Es tut mir leid, aber ich verstehe nicht, wie man jetzt genauB_level undR_level herausbekommt.Ich brauche kein Datum und keine Uhrzeit! Ich möchte sie aber aufschreiben)
Es tut mir leid, aber ich verstehe nicht, wie man jetzt genauB_level undR_level herausbekommt.Ich brauche kein Datum und keine Uhrzeit! Aber ich will es aufschreiben)
Als String lesen, StringSubstr markieren und in das gewünschte Format konvertieren. Einlesen als String, Zuweisung von StringSubstr und Konvertierung in das gewünschte Format
Einlesen als String, Zuweisen eines StringSubstr und Konvertieren in das gewünschte Format. Als String einlesen, StringSubstr auswählen und in einen beliebigen Wert konvertieren
Ah ah ah ah ah ah, ich hab's!!! Das war's!!! Danke@STARIJ! Ich werde es ausprobieren)
2018.02.26 12:49 1.24368 1.22581 Jetzt ... Markieren Sie StringSubstr und konvertieren Sie es in das, was Sie brauchen. Alles muss Schritt für Schritt gemacht werden. Eile ist der Feind des Programmierers.
Lesen als String, Zuweisung von StringSubstr und Konvertierung in String. Als String einlesen, StringSubstr zuweisen und in das gewünschte Format konvertieren.
STARIJ: Lesen wir zunächst die letzte Zeichenkette
2018.02.26 12:49 1.24368 1.22581 Jetzt ... allokieren Sie StringSubstr und konvertieren Sie in das, was Sie brauchen. Man muss alles Schritt für Schritt machen. Eile ist der Feind des Programmierers.
Lesen als String, Zuweisung von StringSubstr und Konvertierung in String. Als String einlesen, StringSubstr zuweisen und in einen String umwandeln
STARIJ: Danke für die Aufschlüsselung!
Überarbeitet! Jetzt gehen die Zahlen aus irgendeinem Grund nicht mehr auf!
Die Zahlen in der Datei sehen folgendermaßen aus:
2018.02.2617:441.249381.22771
Und derselbe Alert gibt diese:
Woher hat er die Nullen nach 1,2? Ich habe versucht zu normalisieren. Nein!
Der Code ist wie folgt geschrieben:
void Read_File()
{
int handle;
string str;
staticdouble BlueL;
staticdouble RedL;
string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt";
if(BlueL!=BlueLine||RedL!=RedLine)
{
// Открытие или создание файла и перемещение указателя в конец
handle= FileOpen(f_name,FILE_READ|FILE_TXT," ");
if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; }
while(!FileIsEnding(handle)) //Читаем последнюю строку
str=FileReadString(handle,60);//Чтение строки из файлаFileClose(handle);
BlueL=StrToDouble(StringSubstr(str,16,7));
RedL=StrToDouble(StringSubstr(str,23,7));
Alert(DoubleToStr(BlueL,5), " ", DoubleToStr(RedL,5));
ObjectSet("BlueLine",OBJPROP_PRICE1,BlueL);
ObjectSet("RedLine",OBJPROP_PRICE1,RedL);
}
return;
}
STARIJ: Danke für die Aufschlüsselung! Überarbeitet! Jetzt gehen die Zahlen aus irgendeinem Grund nicht mehr auf! Die Zahlen in der Datei lauten: Aber derselbe Alert gibt folgende Zahlen aus: Woher kommen die Nullen nach 1,2? Ich habe versucht zu normalisieren. Nein! Ich habe den Code wie folgt geschrieben:
Ich hatte StringSubstr(str,20,7) und du schreibst StringSubstr(str,16,7). Subtrahiere die letzten 4 Ziffern von 1,24938 und erhalte 1,2. Ich habe dir gesagt, du sollst alles der Reihe nach machen. I had Alert(s); - die gelesene Zeichenkette ausdrucken, um sich zu vergewissern, dass sie korrekt ist, während man in Eile ist, ObjectSet(. Beim Programmieren geht es um Geduld, um kleine Schritte nach vorn - solange man im Forum schreit. Während Sie auf eine Antwort warten - wie viele kleine, zuversichtliche Schritte können Sie machen!!!
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Beim Öffnen der Datei zum Schreiben haben Sie TXT oder CSV angegeben. Dies ist eine Textdatei. Lesen Sie es als String, wählen Sie StringSubstr und konvertieren Sie es in das gewünschte Format
Das ist die richtige Art zu schreiben! TCT
Es tut mir leid, aber ich verstehe nicht, wie man jetzt genauB_level undR_level herausbekommt.Ich brauche kein Datum und keine Uhrzeit! Ich möchte sie aber aufschreiben)
Das ist die richtige Art zu schreiben! TCT
Es tut mir leid, aber ich verstehe nicht, wie man jetzt genauB_level undR_level herausbekommt.Ich brauche kein Datum und keine Uhrzeit! Aber ich will es aufschreiben)
Als String lesen, StringSubstr markieren und in das gewünschte Format konvertieren. Einlesen als String, Zuweisung von StringSubstr und Konvertierung in das gewünschte Format
Einlesen als String, Zuweisen eines StringSubstr und Konvertieren in das gewünschte Format. Als String einlesen, StringSubstr auswählen und in einen beliebigen Wert konvertieren
Ah ah ah ah ah ah, ich hab's!!! Das war's!!! Danke@STARIJ! Ich werde es ausprobieren)
@STARIJ funktioniert nicht, ich kann noch nicht herausfinden, wo ich falsch liege! Hilfe!
Warum mag er das nicht?
Warum ist es nicht so?
Achten Sie darauf, welche und wie viele Parameter Sie an die Funktion übergeben und was sie zurückgibt.
Klicken Sie auf f1, setzen Sie den Cursor vorher auf diese Funktion
@STARIJ funktioniert nicht, ich kann noch nicht herausfinden, wo ich falsch liege! Hilfe!
Ich habe einen Fehler gemacht, aber was habe ich falsch gemacht?2018.02.26 12:49 1.24368 1.22581 Jetzt ... Markieren Sie StringSubstr und konvertieren Sie es in das, was Sie brauchen. Alles muss Schritt für Schritt gemacht werden. Eile ist der Feind des Programmierers.
Lesen als String, Zuweisung von StringSubstr und Konvertierung in String. Als String einlesen, StringSubstr zuweisen und in das gewünschte Format konvertieren.
Lesen wir zunächst die letzte Zeichenkette
2018.02.26 12:49 1.24368 1.22581 Jetzt ... allokieren Sie StringSubstr und konvertieren Sie in das, was Sie brauchen. Man muss alles Schritt für Schritt machen. Eile ist der Feind des Programmierers.
Lesen als String, Zuweisung von StringSubstr und Konvertierung in String. Als String einlesen, StringSubstr zuweisen und in einen String umwandeln
STARIJ: Danke für die Aufschlüsselung!
Überarbeitet! Jetzt gehen die Zahlen aus irgendeinem Grund nicht mehr auf!
Die Zahlen in der Datei sehen folgendermaßen aus:
Und derselbe Alert gibt diese:
Woher hat er die Nullen nach 1,2? Ich habe versucht zu normalisieren. Nein!
Der Code ist wie folgt geschrieben:
STARIJ : Danke für die Aufschlüsselung!
Überarbeitet! Jetzt gehen die Zahlen aus irgendeinem Grund nicht mehr auf!
Die Zahlen in der Datei lauten:
Aber derselbe Alert gibt folgende Zahlen aus:
Woher kommen die Nullen nach 1,2? Ich habe versucht zu normalisieren. Nein!
Ich habe den Code wie folgt geschrieben:
STARIJ: Danke für die Aufschlüsselung!
Überarbeitet! Jetzt gehen die Zahlen aus irgendeinem Grund nicht mehr auf!
Die Zahlen in der Datei sehen folgendermaßen aus:
Und derselbe Alert gibt diese:
Woher hat er die Nullen nach 1,2? Ich habe versucht zu normalisieren. Nein!
Ich habe den Code wie folgt geschrieben:
Versuchen Sie dies.