AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

txt. Datei in Array einlesen

Ein Thema von lprade · begonnen am 21. Apr 2006 · letzter Beitrag vom 21. Apr 2006
Antwort Antwort
lprade

Registriert seit: 19. Okt 2005
14 Beiträge
 
#1

txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:00
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:
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;
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.

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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:02
Was ist der Sinn deines Programmes?
Markus Kinzler
  Mit Zitat antworten Zitat
lprade

Registriert seit: 19. Okt 2005
14 Beiträge
 
#3

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:24
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:
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.
Gruss
Ludwig
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:40
Hallo Ludwig,

schaue Dir doch einmal in der Delphi-Hilfe die Klasse Delphi-Referenz durchsuchenTStringList an. Diese besitzt eine Methode LoadFromFile und erlaubt einen direkten Zugriff auf einzelne Elemente der Liste.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#5

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:41
In einem Label kannst aber nix eingeben... Nimm stattdessen ein TEdit-Feld.
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
lprade

Registriert seit: 19. Okt 2005
14 Beiträge
 
#6

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:49
@ 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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:51
Auf die einzelnen Zeilen kannst du nach dem Laden per Index zugreifen.
Markus Kinzler
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#8

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 18:55
Wenn das ganze eine "Datenbank" werden soll, warum nimmst du nicht einfach Hier im Forum suchenTIniFile?
Dort wird das ganze schon strukturiert und ist auch einfach mit Funktionen ausles- und schreibbar.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: txt. Datei in Array einlesen

  Alt 21. Apr 2006, 19:44
Wenn du aber unbedingt den Dateinzeiger in einer Textdatei setzen willst, dann kann ich dir meine Erweiterung empfehlen, damit ist sowas "inoffiziell" möglich ._.

64-Bit für TextFile / File of xxx
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz