| Autor |
Beitrag |
chrisbie
Hält's aus hier
Beiträge: 4
win XP
|
Verfasst: Mo 19.01.04 18:58
ich möchte mit delphi gezielt eine zeile aus einer textdatei auslenen.
wie kann ich das machen?
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 19.01.04 19:04
Am einfachsten gehts wohl mit TStringList:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function ReadLine(filename: string; line: integer): string; begin with TStringList.Create do try LoadFromFile(filename); if count <= line then result := Strings[line] else result := ''; finally free; end; end; |
(ungetestet)
|
|
derDoc
      
Beiträge: 623
Win Vista Prof
D2007 Prof
|
Verfasst: Mo 19.01.04 19:04
Datei in StringList (StringList ist der Bezeichner) laden.
Delphi-Quelltext 1:
| StringList.LoadFromFile('C:\MirEgal.txt'); |
Mit StringList.Strings[4] (5. Zeile) darauf zugreifen.
//Edit: Zu langsam
_________________ MfG derDoc
There are only 10 types of people: those who understand binary and those who don't.
Zuletzt bearbeitet von derDoc am Mo 19.01.04 19:07, insgesamt 1-mal bearbeitet
|
|
ixtreme
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 19.01.04 19:06
wieso über die umwege und wieso ein stringlist missbrauchen...
| Zitat: | | Die Prozedur Readln liest eine Textzeile aus einer Datei. |
gruß
ixtreme.de
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 19.01.04 19:09
Schön, aber wenn du an die 3269 Zeile willst, musst du erst alle 3268 Zeilen vorher auslesen. 
|
|
ixtreme
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 19.01.04 19:12
ja aber davon stand ja nichts in der frage!
gruß
ixtreme.de
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 19.01.04 19:41
| chrisbie hat folgendes geschrieben: | | ich möchte mit delphi gezielt eine zeile aus einer textdatei auslenen. |
Da steht aber auch nicht "Wie kann ich gezielt Zeile 1 auslesen"
|
|
ixtreme
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 19.01.04 19:46
ne aber auch bei 10 von 100 zeilen wäre es noch annehmbarer...
gruß
ixtreme.de
|
|
Brueggendiek
      
Beiträge: 304
Win 98, Win98SE, Win XP Home
D5 Std
|
Verfasst: Mo 19.01.04 22:49
Hallo Leute!
Die Readln-Methode ist aus meiner Sicht deshalb vorzuziehen, weil nur die Zeilen bis zur Gewünschten geladen werden müssen.
Bei einer Stringlist wird die ganze Datei in den RAM kopiert - auch Zeile 2589, wo doch nur Zeile 1234 gebraucht wurde. Deshalb dauert die Stringlist-Variante abhängig von der Größe der Datei (mit überproportionaler Verlängerung, wenn Windows den Hauptspeicher auf die Platte schreiben muß), bei der Readln-Variante aber abhängig von der Position der gesuchten Zeile (normalerweise ohne Hauptspeicher-Auslagerung, da ja immer nur 1 Zeile im RAM ist - sinnvolle Zeilenlängen stark unterhalb 1MB vorausgesetzt).
Gruß
Dietmar Brüggendiek
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Di 20.01.04 02:21
Haa, wenigstens auf Brueggendiek ist noch Verlass. Nichts von wegen: in Zeile 2-10 von 50.000 ist irgendwas, aber wo genau ? Na, dann lese ich eben alle 50.000 und hole durch Verwendung von succ usw. wieder 0.0001 Sek. von 10.000 wieder rein. 
_________________ Gruß
Hansa
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 20.01.04 12:23
wer sagt denn dass er nur ein mal eine Zeile braucht?. Braucht er später noch mal eine, fängt er wieder von vorne an die Datei zu lesen. 
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Di 20.01.04 13:02
| chrisbie hat folgendes geschrieben: | ich möchte mit delphi gezielt eine zeile aus einer textdatei auslenen.
wie kann ich das machen? |
Wenn ich das wörtlich nehme, dann besser readln. Ansonsten (z.B. wiederholtes Suchen, überwiegend am Ende der Datei suchen) hat Luckie natürlich Recht. Den Fragesteller scheints sowieso nicht mehr zu jucken. 
_________________ Gruß
Hansa
|
|
ixtreme
Gast
Erhaltene Danke: 1
|
Verfasst: Di 20.01.04 13:59
ich denke mal das ist jetzt auch egal, wir haben die möglichkeiten aufgezählt, soll er sich die beste (für sein Projekt) raussuchen...
Gruß
ixtreme.de
|
|
chrisbie 
Hält's aus hier
Beiträge: 4
win XP
|
Verfasst: Di 20.01.04 16:15
|
|
G-man
      
Beiträge: 258
Win 2000, Win ME, SuSE 8.2
D5 Standard, D6 Professional
|
Verfasst: Di 20.01.04 16:25
Ich weiß jetzt nicht genau, wofür du das lesen einer Textdatei brauchst,
aber du kannst, wenn es sich um eine Datei handelt, in der du Einstellungen speicherst, auch eine Ini-Datei benutzen, dazu findest du hier schon einen Haufen Fragen zu...
_________________ ...To err is human, but to really foul things up requires a computer.
|
|