![]() |
Einfache Textdateien
Hallo Gemeinde!
Bevor ich angefangen habe mich für Delphi zu interessieren, hab ich mit Basic rumgestrickt. Eine Random-Datei (mit freiem Zugriff) zu erstellen und mit ihr Sätze zu verwalten, holen, ändern, speichern usw. war einfach. In den gängigen Delphibüchern wird diese (altmodische) Art der Daten-Verwaltung vernachlässigt. Es gibt ja Datenbanken. Hat jemand ein Tutorial, in welchem sämtliche Vorgänge wie Datei öffnen/schließen, Sätze anhängen oder Sätze editieren und wieder abspeichern, erläutert werden? Das würd mich wahnsinnig interessieren. Wie immer lieben Gruß Hans-Peter |
So auf Anhieb, könnte ich Dir jetzt nur mal ein wenig Source hintippen, aber nicht getestet :?
Delphi-Quellcode:
Das sollte Dir auf jeden Fall schon einmal einen Start geben - ist eigentlich auch ganz einfach. In der Hilfe, einfach mal nach den Stichwörtern suchen, weitere Vorschläge werden gezeigt.
type
// datensatz struktur TMyRec = record Wert1, Wert2: Byte; Wert3: array[0..50] of Char; end; var // datei handle F: File of TMyRec; MyRec: TMyRec; begin // datei auswählen AssignFile(F, 'C:\Temp\Datenschrott'); // datei öffnen // bin mir nicht sicher, entweder so Reset(F); // oder so Reset(F, 1); // sechsten Datensatz ansteuern (von 0 an zählen) Seek(F, 5); // lesen Read(F, MyRec); // schreiben - jetzt der 7. Datensatz, da der sechste gerade gelesen wurde Write(F, MyRec); // datei schliessen CloseFile(F); end; ...:cat:... |
Moin Hans-Peter,
und so sähe sakura's Beispiel unter Verwendung von TFileStream aus:
Delphi-Quellcode:
Prinzipieller Nachteil dieser Methode(n):
type
TMyRec = record Wert1, Wert2: Byte; Wert3: array[0..50] of Char; end; var fsWork : TFileStream; MyRec : TMyRec; begin fsWork := TFileStream.Create('C:\Temp\Datenschrott',fmOpenReadWrite); try fsWork.Seek(5*SizeOf(TMyRec),soFromBeginning); fsWork.Read(MyRec,SizeOf(MyRec)); fsWork.Write(MyRec,SizeOf(MyRec)); finally FreeAndNil(fsWork); end; end; Es funktioniert nur bei gleicher Satzlänge, dass heisst, es könnte viel Platz verschenkt werden. |
Ich hab ´nen Vorschlag:
Wirklich, ich finde es wird Zeit diesen Vorschlag zu machen.
Da dieses Forum sowieso das Beste ist, was mir passieren konnte, mach ich den Vorschlag einfach mal: Und meine Anfrage nach mehr Erläuterungen zum Umgang mit einfachen Textdateien ist das richtige Beispiel. Es sollte in diesem Forum eine Ecke geben, wo diese simplen (Anfänger-)Probleme jeweils komplett in einem kleinen Beispielprogramm durchexerciert werden. Damit beginnend, wo was in der Quelldatei hingehört, was beachtet werden muß und dann die dazugehörigen zusammenhängenden Befehle. In meinem Fall: Datei anlegen, öffnen, Sätze gezielt hervorholen, ändern, speichern, schließen .... Nennt die Ecke "Tutorial-Ecke", erfindet eine Schlagwortsuche und eine Menge gestresster Programmiernovizen atmen auf. Ich finde den Vorschlag gut, denn ich weiß, was Einsteiger brauchen. Das hat nichts nur mit ´Abschreiben´ zu tun. Ich für meinen Teil bin überzeugt davon, daß auch auf andere zutrifft: Einmal abgeschrieben und du weißt, wie´s geht. Wie immer lieben Gruß Hans-Peter |
Das stimmt und Du hast recht. Hier erst einmal ein Link zu unserer
![]() ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz