(Co-Admin)
Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
Delphi 2010 Professional
|
19. Dez 2002, 08:08
Hallo Chris_H,
herzlich willkommen im Delphi-PRAXIS Forum.
Gerade Seek ist darauf angewiesen, dass die Datensätze gleich lang sind. Es ist ja möglich mit Seek an eine Position z.B. 10ter Datensatz zu springen und diesen zu überschreiben. Wenn du eine Textdatei hast, funktioniert das natürlich so nicht, weil jede Zeile unterschiedlich lang sein kann. Auch Filepos, wenn es angeben soll, die wievielte Zeile einer Texdatei gerade gewählt wurde ich schwierig. Aber du kannst diese Funktionen (mit der o.g. Beschränkung, dass Datensätze nicht überschrieben werden können) nachbilden mit Readln in einr Schleife. Es wäre auch möglich z.B. eine eigene Indexdatei anzulegen, die jeweils auf den Anfang einer neuen Zeile zeigt (Byteposition) und sich die Länge des Eintrages merkt. Dann kannst du die Textdatei als untypisierte Datei öffnen und mit BlockRead Datensätze lesen.
Albert Live long and prosper
MrSpock
|