Entwickler-Ecke
Dateizugriff - Inhalt einer Datei auslesen !
Jagg - Mi 27.11.02 14:28
Titel: Inhalt einer Datei auslesen !
Hallo Leute !
Ich benutzte den Befehl "FindFirst,FindNext usw." zum Suchen der Dateien !
Wenn er jetzt die Datei gefunden hat soll er die Datei nicht nur anzeigen,sondern auch den Inhalt der Datei aus lesen und in einem Memefeld hineinschreiben !
Geht das denn überhaupt ???
Jagg !
bis11 - Mi 27.11.02 14:33
Hi,
klar geht das mit folgenden Befehl :
Quelltext
1:
| memo1.lines.loadfromfile('Test.txt'); |
Delete - Mi 27.11.02 15:06
Bei Dateien in binär Format dürfte das aber nicht klappen, da das Dateieende-Zeichen für Textdateien auch schon mitten in der Datei vorkommen kann.
bis11 - Mi 27.11.02 15:08
Hi,
jagg hat halt nicht gesagt, was für Dateien es sind ob binär oder ASCII. Deswegen habe ich ja extra als Dateinamen Test.txt genommen.
Jagg - Mi 27.11.02 16:01
ich habe so :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); var Text : TSearchRec; Quelle : string; begin Quelle := 'C:'; if FindFirst (Quelle+'\*.txt',faAnyFile,Text) = 0 then Memo1.Lines.LoadFromFile (Text); end; |
.... geht aber nicht !
Udontknow - Mi 27.11.02 16:06
Herr Gott noch mal, was ist das denn für eine Beschreibung?
"Geht aber nich"... Anhand so einer klaren Fehlerbeschreibung können wir natürlich das Prob in NullKommaNix lösen... *grummel*
Wie wäre es mit LoadFromFile(Quelle+'\'+Text.Name)?
Cu,
Udontknow
foxy - Fr 29.11.02 08:30
an deiner stelle würde ich es Zeilenweise einlesen geht genauso schnell
ungetestet
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| ZNr:=0; {$i-} ReSet(f); //Datei zum Lesen öffnen {$i+} if ioResult <> 0 then halt; While Not EoF(f) Do Begin ZNr:=ZNr+1; ReadLn(f,zeile); begin ListBox1.Items.Add(zeile); end; end; CloseFile(f); |
noch ein tipp: an deiner stelle würde ich kein Memo nehmen da die man nur 735 Zeilen hinein schreiben kann
Udontknow - Fr 29.11.02 09:55
Solange es sich nicht um Megabyte-Texte handelt, ist ein zeilenweises Einlesen doch überflüssig, ist nur Schreibarbeit.
Und seit wann können Memos nur 735 Zeilen haben? Das ist schlicht und ergreifend falsch.
Cu,
Udontknow
foxy - Fr 29.11.02 10:13
wie das ist falsch?? dann versuchs doch ma ich hab versucht 8000 zeil einzulesen ... in einer listbox geht das bei einer mome macht er nach 730 schluss ... haste das überhaupt schon ma versucht ?? bevor du so ne aussage machst :evil:
LCS - Fr 29.11.02 10:16
Hi
die Memos sind beschränkt auf 64K. Wieviele Zeilen das ergibt hängt von der Länge der Zeilen ab.
Gruss Lothar
Udontknow - Fr 29.11.02 10:21
Ja, ich habs versucht... 10000 Zeilen, no prob. Siehe LCS´s Beitrag. Die Begrenzung gilt übrigens nur für Win9x.
Touché! :mrgreen:
foxy - Fr 29.11.02 10:24
hm ok dann entschuldige ich mich :oops:
... wusste das mit der 64k nich sry ... weil ich hab verschieden Versuche gestartet und da immer die selbe anzahl von zeilen kam ... nahm ich das ma an weil mit listbox geht das nu .. ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!