ExportDatei.WRITE('"' + FORMAT(ArtikelID) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(Artikelnr) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(ArtName) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(KurzBeschr) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(LangBeschr[1]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[2]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[3]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[4]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[5]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[6]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[7]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[8]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[9]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[10]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[11]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[12]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[13]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[14]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[15]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[16]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[17]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[18]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[19]) + Zeichenkonvertierung.CharToAnsi(LangBeschr[20]) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(Verfuegbarkeit) + '"' + Feldtrennzeichen + '"' + FORMAT(Aktiv) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(Steuernummer) + '"' + Feldtrennzeichen + '"' + FORMAT(Artikelpreis,0,'<Standard Format,1>') + '"' + Feldtrennzeichen + '"' + FORMAT(BruttoNetto) + '"' + Feldtrennzeichen + '"' + FORMAT(HaendlerpreisNetto,0,'<Standard Format,1>') + '"' + Feldtrennzeichen + '"' + FORMAT(UVP,0,'<Standard Format,1>') + '"' + Feldtrennzeichen + '"' + FORMAT(PreisAufAnfrage) + '"' + Feldtrennzeichen + '"' + FORMAT(Finanzierbar) + '"' + Feldtrennzeichen + '"' + FORMAT(Aktionspreis) + '"' + Feldtrennzeichen + '"' + FORMAT(AktionspreisEndkunde,0,'<Standard Format,1>') + '"' + Feldtrennzeichen + '"' + FORMAT(AktionspreisHaendler,0,'<Standard Format,1>') + '"' + Feldtrennzeichen + '"' + FORMAT(AktionStart) + '"' + Feldtrennzeichen + '"' + FORMAT(AktionEnde) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(Laenderrestriktionen) + '"' + Feldtrennzeichen + '"' + FORMAT(StartseitenHotSpot) + '"' + Feldtrennzeichen + '"' + FORMAT(VerzeichnisHotSpot) + '"' + Feldtrennzeichen + '"' + FORMAT(GeschenkMinimalerWarenwert,0,'<Standard Format,1>') + '"' + Feldtrennzeichen + '"' + FORMAT(GeschenkMaximalerWarenwert,0,'<Standard Format,1>') + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(VerzeichnisIDs) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(Liefereinschraenkungen) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(Zubehoer) + '"' + Feldtrennzeichen + '"' + Zeichenkonvertierung.CharToAnsi(Artikeloptionen) + '"');
Comments
The ASCII value of each character needs to written separately, if TEXTMODE is set to FALSE.
This is an Example for Separator ";" ( ASCII Code : 59)
Create a function WriteIntoFile with parameters "Field" (Text) and "IsLastField" ( Boolean)
If the FieldDelimiter-Quotes " ( char /ASCII : 34 ) are necessary, these have to be written before and after the field in this function
You could also try to build up the string before writing it to avoid the stack error, use TEXTMODE(TRUE) in this case.
ExportString := FieldDelimiter + Field1 + FieldDelimiter + FieldSeparator;
ExportString := ExportString + FieldDelimiter + Field2 + FieldDelimiter + FieldSeparator;
ExportString := ExportString + FieldDelimiter + Field3 + FieldDelimiter + FieldSeparator;
.... etc. ( no FieldSeparator for the last field)
MyFile.Write(ExportString);