Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#16

AW: TStringlist wieder mit Trennzeichen speichern

  Alt 22. Jan 2020, 18:34
Diese vielen WRITE lassen kaum erkennen was wo steht.
Wie wäre es, wenn man eine Zeile im Code mit einer Spalte in der Datei gleichsetzt?
Delphi-Quellcode:
write(Datei, Artikelnummer, ';');
write(Datei, '10', ';');
write(Datei, Kapazitaet, ';');
write(Datei, '1', ';');
write(Datei, '1', ';');
write(Datei, '', ';');
write(Datei, Auftragsnummer, ';');
write(Datei, '');
Aber da dieser Code wohl eh bald gelöscht wird ... naja.

PS: Delphi-Referenz durchsuchenTFile.WriteAllLines
Delphi-Quellcode:
// schade dass hier dieses blöde TStringDynArray als Parameter verwendet wird
//uses IOUtils; // im Delphi, aber FPC hat bestimmt auch irgendwo sowas
TFile.WriteAllLines(Filename, [Artikelnummer, ';', '10', ';', Kapazitaet,
  ';', '1', ';', '1', ';', ';', Auftragsnummer, ';']);

// aber niemand verbietet dir, dass du dir selbst eine Hilfsfunktion schreibst ;)
//procedure WriteToCSV(Filename: string; Columns: array of const);
WriteToCSV(Filename, [Artikelnummer, 10, Kapazitaet, 1, 1, '', Auftragsnummer]);



"slZeile" und "Datei" haben auch noch kein Finally.

PS: man kann auch verschachteltn.
Delphi-Quellcode:
A := TXyz.Create;
try
  B := TXyz.Create;
  try
    ...
  finally
    B.Free;
  end;
finally
  A.Free;
end;
Delphi-Quellcode:
A := TXyz.Create;
B := TXyz.Create; // wenn es im Cnstructor nicht knallen kann
try
  ...
finally
  B.Free; // natürlich nur, wenn das Free hier auch nie knallen wird
  A.Free;
end;
Delphi-Quellcode:
B := nil;
A := TXyz.Create;
try
  B := TXyz.Create;
  ...
  //FreeAndNil(B); // wenn erwünscht, ABER kein B.Free; hier drin
  ...
finally
  B.Free;
  A.Free;
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (22. Jan 2020 um 18:37 Uhr)
  Mit Zitat antworten Zitat