Schau mal nach unter FileCreate() und die Flags: "FILE_UNICODE 64 Zeilen des Typs UNICODE (2-Byte-Symbole). Flagge wird beim Oeffnen von Dateien (FileOpen()) verwendet"
FileCreate leider nicht gefunden, habe jetzt mal in FileOpen reingeschaut.
Finde zwar:
"FILE_ANSI Zeilen des Typs ANSI (Einbyte-Symbole)
FILE_UNICODE
Zeilen des Typs UNICODE (Zweibyte-Symbole) "
und
"Hinweis
Aus Sicherheitsgründen ist die Arbeit mit Dateien in MQL5 streng gesteuert. Dateien, mit denen Datei-Operationen mittels MQL5 durchgeführt werden, können nicht außerhalb der Datei-Sandbox sein.
Wenn eine Datei in einer bestimmten Codierung gelesen werden muss (es wurde der Parameter codepage mit einem Wert der Codepage angegeben), muss das Flag FILE_ANSI gesetzt werden. Wenn das Flag FILE_ANSI nicht angegeben wurde, wird die Textdatei in Unicode ohne Konvertierung gelesen.
"
kann daraus aber leider immernoch nicht wirklich ziehen was ich implementieren muss...
"kann daraus aber leider immernoch nicht wirklich ziehen was ich implementieren muss..."
Verstehe ich nicht steht doch alles da, was notwendig ist (man müsste noch einen Mausklick für die Codeseiten investieren!):
Parameter file_name [in] Name der geöffneten Datei, kann Unterordner haben. Wenn die Datei für Schreiben geöffnet wird, werden die angegebenen Unterordner erzeugt werden, wenn sie es nicht gibt. open_flags [in] Kombination der Flaggen, die Arbeitsmode mit Datei bestimmt. Flaggen werden folgenderweise bestimmt: FILE_READ Datei wird für Lesen geöffnet FILE_WRITE Datei wird für Schreiben geöffnet FILE_BIN Binärmode Lesen-Schreiben (ohne Umwandlung der Zeile in die Zeile) FILE_CSV Date des Typs csv (alle geschriebenen Elemente werden in die Zeilen des entsprechenden Typs umgewandelt, unicode oder ansi, und durch Begrenzer getrennt) FILE_TXT einfache Textdatei (dieselbe csv, aber Begrenzer wird nicht berücksichtigt) FILE_ANSI Zeilen des Typs ANSI (Einbyte-Symbole) FILE_UNICODE Zeilen des Typs UNICODE (Zweibyte-Symbole) FILE_SHARE_READ Gesamter Lesezugang von mehreren Programmen FILE_SHARE_WRITE Gesamter Schreibezugang von mehreren Programmen FILE_COMMON Lage der Datei im Gesamtordner aller Client-Terminals \Terminal\Common\Files delimiter='\t' [in] Wert, der als Begrenzer in txt oder csv-Datei verwendet wird.Wenn der Begrenzer für csv-Datei nicht angegeben wird, wird als Default-Wert Tab-Symbol verwendet. Wenn der Begrenzer für txt-Datei nicht angegeben wird, wird keiner Begrenzer verwendet. Wenn Begrenzer auf Null gestellt wird, wird keiner Begrenzer verwendet. codepage=CP_ACP [in] Wert der Kodeseite. Für die am meisten verwendeten Kodeseiten werden entsprechende Konstanten vorausgesehen.
"kann daraus aber leider immernoch nicht wirklich ziehen was ich implementieren muss..."
Verstehe ich nicht steht doch alles da, was notwendig ist (man müsste noch einen Mausklick für die Codeseiten investieren!):
Unicode ist doch nicht UTF8 (letzteres brauche ich). Die CSVs werden bei mir bereits standard in Unicode geschrieben. (Falls du überhaupt
Unicode meintest)
@amando für Pyhton Jupyter leider unumgänglich :(
Unicode ist doch nicht UTF8 (letzteres brauche ich). Die CSVs werden bei mir bereits standard in Unicode geschrieben. (Falls du überhaupt
Unicode meintest)
@amando für Pyhton Jupyter leider unumgänglich :(
https://www.mql5.com/de/articles/2720
Da steht drin wie du das gewünschte erreichen kannst.
Leider ist der entscheidene Teil sehr mager .Deswegen nun doch Code:
void OnStart(){ int h=FileOpen("test_UTF8.csv",FILE_WRITE|FILE_ANSI|FILE_CSV,";",CP_UTF8); if(h==INVALID_HANDLE){ Alert("Error opening file"); return; } for(int i=1;i<=10;i++){ string str="Line-"+IntegerToString(i)+"-"; FileWrite(h,str+"1",str+"2",str+"3"); } FileClose(h); Alert("File created"); }
- www.mql5.com
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.