Array in csv schreiben
Ich dachte, dass es einfach ist den Ihnalt eines Array's in eine csv zu schreiben, denn umgekehrt ist es das.
Was ich habe:
Delphi-Quellcode:
Das Seltsame daran ist, dass es auf dem Entwickler-PC funktioniert, aber dort auf dem Fileserver, wofür ich das gemacht habe, bekomme ich immer einen E/A-Fehler 32.
AssignFile(output1, Ordner+'A.csv');
if FileExists('A.csv') then begin reWrite(output1,'A.csv'); end else begin FileCreate(Ordner+'A.csv'); end; Reset(output1); for i := 0 to laenge-1 do begin if trim(FeldZeile[i,2])<>'' then zeile:=FeldZeile[i,0]+';'+FeldZeile[i,1]+' '+FeldZeile[i,2]+';'+FeldZeile[i,3]+';'+FeldZeile[i,4] else zeile:=FeldZeile[i,0]+';'+FeldZeile[i,1]+';'+FeldZeile[i,3]+';'+FeldZeile[i,4]; append(output1); WriteLn(output1,Zeile); end; CloseFile(output1); Setlength(FeldZeile,0,0) Der Programmbenutzer hat an dieser Stelle volles schreib.- und änderungsRechte. Kann mir da jemand bitte helfen? |
AW: Array in csv schreiben
rewrite : Erstellt eine neue Datei und öffnet sie anschließend.
reset : Öffnet eine vorhandene Datei. Also:
Delphi-Quellcode:
if FileExists(Ordner + 'A.csv') then begin
Reset(output1); end else begin reWrite(output1); end; |
AW: Array in csv schreiben
Ich würde als erstes mal aufräumen, ob "Ordner" nun zum Dateinamen gehört oder nicht, das wechselt derzeit in jeder Zeile.
|
AW: Array in csv schreiben
Ok, klingt logisch, DANKE.
Ich habe die IF gelöscht, dafür nur noch
Delphi-Quellcode:
Soll ja auch so sein, immer überschreiben...
reWrite(output1,Ordner+'A.csv');
|
AW: Array in csv schreiben
Wenn du eine CSV nach RFC 4180 erzeugen möchtest, dann packe für jede Zeile alle Felder in eine TStringList und schreibe dann den TStringList.DelimitedText als resultierende Zeile. Die Stringlist kümmert sich dann auch um das korrekte Setzen des TStrings.QuoteChar und TStrings.Delimiter und du brauchst dir keinen Kopf machen.
Umgekehrt funktioniert das leider nur unter der Bedingung, wenn kein Feld einen Zeilenumbruch beinhalted ;) |
AW: Array in csv schreiben
Zitat:
|
AW: Array in csv schreiben
Zitat:
Delphi-Quellcode:
als Trennzeichen benötigt
;
|
AW: Array in csv schreiben
Nicht vergessen TStrings.StrictDelimiter auf True zu setzen.
|
AW: Array in csv schreiben
Zitat:
|
AW: Array in csv schreiben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz