![]() |
txt. Datei in Array einlesen
Hallo zusammen,
Ich möchte den Inhalt einer Textdatei in ein Array einlesen, und anschliessend in eine dat. Datei schreiben. Mit einer Zeile funktioniert dass auch schon so:
Delphi-Quellcode:
Hier lese ich den Inhalt der Textdatei "Messier.txt" im Stammverzeichnis C:/ in das Char-Array "S" ein (Maximale Länge einer Zeile ist hier 10 Zeichen). Anschliessend wird in der folgenden "For" Schleife der Inhalt des Arrays Zeichen für Zeichen wieder in die Variable "Content" ausgelesen (content:=s[Zaehler]) und dann die dat. Datei "d" geschrieben.
var m: textfile;
S: Array[0..10] of char; content: char; d: File of Char; zaehler: byte; begin AssignFile(m,'C:\Messier.txt'); Reset(m); Readln(m,S); AssignFile(d,'C:\Messier2.dat'); Rewrite(d); for Zaehler:=0 to 10 do begin content:=s[zaehler]; Write(d,content); end; end; Leider funktioniert diese Methode nur für eine Zeile. Wenn eine Textdatei mehrere Zeilen hat, kann ich nicht auf die einzelnen Zeilen zugreifen, da es meines Wissens nach keinen Datenzeiger für Textdateien gibt. Habe auch versucht ein zweidimensionales Array zu benutzen, aber in den kann ich den Inhalt der .txt Datei nicht einlesen. Hätte jemand von euch einen Vorschlag? Villeicht auch ohne den Umweg über das Array? Vielen Dank an alle Ludwig |
Re: txt. Datei in Array einlesen
Was ist der Sinn deines Programmes?
|
Re: txt. Datei in Array einlesen
Ich möchte damit eine Datenbank (für ein astronomische Programm) erstellen. Sinn des ganzen ist es, dass das Program sich das gewünschte Himmelsobjekt via Datenzeiger in der .dat suchen kann. Wenn ich zum Beispiel Stern Nr. 7 Suche kann ich ihn mit:
Delphi-Quellcode:
Gruss
Sucher:=strtoint(label1.caption); //Hier gebe ich das gesuchten Stern, also 7 ein
Seek(s,Sucher); Read(s,Ausgabe); //Womit ich jetzt die Daten weiterverarbeiten kann, die unter "s,7" gespeichert waren. Ludwig |
Re: txt. Datei in Array einlesen
Hallo Ludwig,
schaue Dir doch einmal in der Delphi-Hilfe die Klasse ![]() Gruß Hawkeye |
Re: txt. Datei in Array einlesen
In einem Label kannst aber nix eingeben... Nimm stattdessen ein TEdit-Feld.
|
Re: txt. Datei in Array einlesen
@ Mackhack
klar, hast recht, war nur ein Leichtsinnsfehler von mir. @Hawkeye Danke für den Tipp, kann ich damit auch auf einzelene Zeilen in einer Textdatei zugreifen? Gruss, Ludwig |
Re: txt. Datei in Array einlesen
Auf die einzelnen Zeilen kannst du nach dem Laden per Index zugreifen.
|
Re: txt. Datei in Array einlesen
Wenn das ganze eine "Datenbank" werden soll, warum nimmst du nicht einfach
![]() Dort wird das ganze schon strukturiert und ist auch einfach mit Funktionen ausles- und schreibbar. Flare |
Re: txt. Datei in Array einlesen
Wenn du aber unbedingt den Dateinzeiger in einer Textdatei setzen willst, dann kann ich dir meine Erweiterung empfehlen, damit ist sowas "inoffiziell" möglich ._.
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 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