![]() |
Bestimmte Daten aus txt lesen die durch ; getrennt sind
Das steht in der Datei die umgeformt werden soll
Code:
[b]Nachname;Vorname;PLZ;Ort;Tel;
Mueller;Klaus;12454;Salzburg;02349/1234; Maier;Peter;12344;München;23489/1233; Mayer;Erwin;12312;Stuttgart;12334/1234; [/b] Habe schon folgenden Code:
Delphi-Quellcode:
Möchte jetzt aber nur bestimmte Daten in Variablen schreiben (Nachname,Vorname,Tel).
procedure TForm1.Button1Click(Sender: TObject);
var str: string; begin while pos(';',strl.text) > 0 do begin listbox1.Items.Add(copy(strl.text, 1, pos(';',strl.text)-1)); str :=strl.text; delete(str,1,pos(';',str)); strl.text := str end; end; Mit dem oben genannten Code wird nur die kompletten Daten in einer Listbox untereinander geschrieben, wie kann ich jetzt die Daten (Nachname, Vorname, Tel) in eine neue Textdatei schrieben. [edit=sakura] [delphi]Tags gesetzt. Mfg, sakura[/edit] |
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
Hi!
Eine Möglichkeit wäre doch nur den 1., 2. und 5. aus der Listbox zu nehmen und dann eben wieder 6., 7. und 10. usw. Oder? Ciao fkerber |
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
dann übergehe doch einfach die schritte die du nicht brauchst...der code sieht irgendwie nach meinem aus :-)
gruß synonym |
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
|
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
@luckie
meinst du nicht der code ist für dieses kleine beispiel ein wenig zu aufwendig? der oben genannte code ist viel einfacher und erfüllt genauso seinen zweck.. synonym |
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
Das muss ich scon mit Code lösen, da dies oben nur ein kleiner Auszug aus der Datei ist. Wie kann ich das jetzt durch Code lösen, mit den Antworten bis jetzt kann ich das nicht. Vielleicht kann mir jemand einen Beispielcode machen.
mfg |
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
Er hat doch gesagt, dass sein Code nicht genau das tut was er will oder? Und explode macht genau das was er will, es zerlegt den String und packt die teile in ein String Array auf das er leicht zugreifen kann.
|
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
Delphi-Quellcode:
type
TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Memo1: TMemo; procedure Button1Click(Sender: TObject); end; var Form1: TForm1; var zeile: Array[0..10] of string[255]; implementation {$R *.dfm} const sep = ';'; procedure zerlegen(s: string); var currentitem:integer; i: integer; procedure nextitem; begin inc(currentitem); zeile[currentitem] := ''; end; begin currentitem :=-1; nextitem; for i :=1 to length(s) do begin if s[i] <> sep then zeile[currentitem] := zeile[currentitem] + s[i] else nextitem; end; end; procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin memo1.Clear; zerlegen(edit1.Text); for i:=0 to 10 do memo1.Lines.Add(zeile[i]); end; end. |
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
*grummel* warum antwortet denn niemand wenn man was postet :x
|
Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe die Frage als Anregung benutzt und eine kleine Klasse für das Problem gebastelt (siehe strsplit.pas). Die Klasse TJsStringSplitter verfügt über die Methoden LoadFromFile und LoadFromStream mt denen die Daten geladen werden. Mit der property FirstLineHasFieldnames kann festgelegt werden, ob die erste Zeile die Feldnamen enthält. Wenn ja, müssen in DisplayFields die Feldnamen stehen, die dann angezeigt werden sollen. Über die Items property kann man dan wie folgt auf einen Wert zugreifen:
Delphi-Quellcode:
aStr enthält dann 'Peter'.
aStr:=FSplitter.Items[1,'Vorname'];
Über die property Values kann über die Angabe des SpaltenIndex und des ZeilenIndex zugeriffen werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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 by Thomas Breitkreuz