Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Auf den letzten char in einer Datei zugreifen

  Alt 18. Feb 2020, 12:08
Bei der StringListe aufpassen, dass es nicht knallt, sollte die Datei leer sein und einfach so ohne Prüfung auf Count-1 zugegriffen werden,
bzw. das letzte Char, wenn es nichts in der Zeile gibt.

PS: TStringList hängt beim Speichern einen Zeilenumbruch hinter jede Zeile, selbst wenn es beim Einlesen hinter der letzten Zeile keinen Zeilenumbruch gab.


CreateFile, SetFilePointer, ReadFile, MSDN-Library durchsuchenSetEndOfFile, CloseHandle
oder
Delphi-Quellcode:
S := TFileStream.Create(...);
//S.Position := S.Size - 1;
//if AnsiChar(S.Read(..., 1)) = ',' then
S.Size := S.Size - 1;
S.Free;
CreateFile/TFileStream knallt nichts, außer du willst es.
Ein Read/SetPosition hinter das Ende wird auf das Ende zurückgesetzt, bzw. stoppt dort.
Einige Read-Methoden (die ohne Result), werfen eine Exception, wenn sie nicht genug lesen/schreiben konnten und die mit Result sagen dir wieviel sie wirklich gemacht hatten (wenn du nicht vergisst die Results auszuwerten).
Read/Write vs. ReadBuffer/WriteBuffer
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (18. Feb 2020 um 12:10 Uhr)
  Mit Zitat antworten Zitat