Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Append_problem mit textfiles

  Alt 27. Feb 2009, 11: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)
  Mit Zitat antworten Zitat