Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
AW: TStringlist wieder mit Trennzeichen speichern
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: TFile.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)
|