Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
Re: Append_problem mit textfiles
27. Feb 2009, 12:46
öh, warum nicht so?
Delphi-Quellcode:
procedure CSV_export_newgame(Datei: string);
var csv:textfile;
j :integer;
zeile: string;
begin
zeile:=' ';
For j:=0 to 71 do
begin
If NEW_GAME.Bruecke.Cells[j,0]=' ' then
zeile:=zeile+NEW_GAME.BRUECKE.Cells[j,0]+' ;'
else
zeile:=zeile+' "'+ NEW_GAME.Bruecke.Cells[j,0]+ ' ";';
end;
// Sollte jetzt ein Zeilenumbruch (CR+LF oder CR oder LF) hier sein, dann schmeiss den raus
zeile := StringReplace( zeile, #13#10, ' ', [ rfReplaceAll ] );
zeile := StringReplace( zeile, #10, ' ', [ rfReplaceAll ] );
zeile := StringReplace( zeile, #13 , ' ', [ rfReplaceAll ] );
// Wir schreiben jetzt in einem Rutsch, dann ist die Datei nicht so lange blockiert :)
AssignFile( csv, Datei);
append( csv);
WriteLn( csv, zeile );
CloseFile( csv);
end;
oder mal ganz kurz:
Delphi-Quellcode:
procedure CSV_export_newgame(Datei: string);
var
csv:textfile;
begin
AssignFile( csv, Datei);
append( csv);
WriteLn( csv, NEW_GAME.Bruecke.Rows[ 0 ].DelimitedText );
CloseFile( csv);
end;
oh, einen habe ich noch ... der trennt dann auch den Anzeige- vom Code-Teil:
Delphi-Quellcode:
...
NEW_GAME.Bruecke.Rows[ 0 ].Delimiter := ' ;';
NEW_GAME.Bruecke.Rows[ 0 ].QuoteChar := ' "';
CSV_export_newgame( ' ', NEW_GAME.Bruecke.Rows[ 0 ].DelimitedText );
...
procedure CSV_export_newgame(Datei, Zeile: string);
var
csv:textfile;
begin
AssignFile( csv, Datei);
append( csv);
WriteLn( csv, Zeile );
CloseFile( csv);
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
|
|
Zitat
|