Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ausgeben bestimmter informationen aus txt datei (https://www.delphipraxis.net/53071-ausgeben-bestimmter-informationen-aus-txt-datei.html)

Scumi 9. Sep 2005 14:43


ausgeben bestimmter informationen aus txt datei
 
Hallo!

Bin noch relativ neu in Delphi.
Folgendes: Ich habe mehrere txt-Dateien. Im Inhalt derer befinden sich sich wiederholende Zeichenketten, welche auch nur eine Zeile lang sind. Nun möchte ich eine der Dateien auslesen und die verschiedenen Zeichenketten suchen lassen und in mehreren Feldern darstellen. Die Zeichenketten sind aber zT an unterschiedlichen Positionen, sodass ich keine bestimmte Zeile definieren kann.

Beispiel:

-[o]- --- > Start of Transmission < --- -[o]-

|| Status: Mission 1 ||
|| Mission: Neuanfang ||
|| Teilmission 2: Piraterie ||
|| Geheimhaltungsstufe: rot ||

Ich habe mehrere Labels erstellt mit Status, Mission, etc und nun soll darunter/dahinter "Mission 1, Neuanfang, etc" eingetragen werden. Wie geht das genau?

Danke schonmal für eure antworten.
gruß

mr.unbekannt 9. Sep 2005 15:37

Re: ausgeben bestimmter informationen aus txt datei
 
hi scumi!

weißt du wie du aus dateien ausliest?

Delphi-Quellcode:
var f:textfile;
begin
assignfile(f,file.txt');
reset(f);
//weitertext unten beschrieben
closefile(f);
das ist erstmal das öffnern der datei
zum lesen nimmst du
Delphi-Quellcode:
readln(f,such);
wobei such eine string variable ist in der die zeile kommt!

so, um einen bestimmte zeichenfolge zu suchen musst du:
Delphi-Quellcode:
pos('was',wo);
machen. reicht dir das?

mfg mr.unbekannt

p.s. bei // dürfte der text eigentlich nur blau sein der rest nicht

Scumi 9. Sep 2005 15:44

Re: ausgeben bestimmter informationen aus txt datei
 
Dachte mit openfromfile, aber das wär ja öffnen und net auslesen. *merk* Ich kanns so erstmal versuchen, aber so richtig durchsteigen tu ich noch nicht :)

trotzdem danke...

mr.unbekannt 9. Sep 2005 15:48

Re: ausgeben bestimmter informationen aus txt datei
 
na was brauchstn noch?

Delphi-Quellcode:
assignfile(f,'help.txt'); //datei der variable f zuordnen
reset(f); //datei zum lesen öffnen bei schreiben wäre es rewrite
readln(f); //eine zeile lesen
closefile(f); //datei schließen
noch fragen?

Mr_G 9. Sep 2005 15:49

Re: ausgeben bestimmter informationen aus txt datei
 
Vielleicht meinst du LoadFromFile von TStringList?
Damit kannst du auch recht einfach mit Textdateien umgehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var List: TStringList;
begin
  List := TStringList.Create;
  List.LoadFromFile('C:\text.txt');
  List.Add('Zeile hinzugefügt');
end;

mr.unbekannt 9. Sep 2005 15:50

Re: ausgeben bestimmter informationen aus txt datei
 
er will ja den string zerschnippeln und das geht dann denke ich net so gut

Mr_G 9. Sep 2005 16:06

Re: ausgeben bestimmter informationen aus txt datei
 
Ist doch alles kein Problem:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var List: TStringList;
begin
  List := TStringList.Create;
  List.LoadFromFile('C:\text.txt');
  ...
  List.IndexOf('suchtext');
  ...
end;
Außerdem bietet die TStringList noch so tolle Sachen wie DelimitedText oder die Sortierfunktion.

mr.unbekannt 9. Sep 2005 16:09

Re: ausgeben bestimmter informationen aus txt datei
 
jaja naja wa solls

Scumi 9. Sep 2005 16:58

Re: ausgeben bestimmter informationen aus txt datei
 
Danke ich versuchs ma übers WE aufm Laptop. Melde dann das Ergebnis ^^

gruß

Scumi 13. Sep 2005 16:02

Re: ausgeben bestimmter informationen aus txt datei
 
Okay, hier klappt garnix :) Wenn ich das Programm starte zeigt es weder im Memo, noch per showmessage irgendetwas.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var List: TStringList;
begin
 List := TStringList.Create;
 List.LoadFromFile('D:\zug.txt');
 List.Add('|| Status: Mission 1 ||');
 List.IndexOf('|| Status: Mission 1 ||');
 ShowMessage ( List[0] );
 Memo1.Text:= List[0];
end;
Ausserdem würde mir das nicht viel weiter helfen, da ich zB nur "Mission 1" ausgeben möchte, wenn vom Programm "Status:" gefunden wurde. Aber er zeigt ja noch nichtmal so etwas.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz