![]() |
Txt Datei Tabulatorschritte --> Stringlist
Habe folgendes Problem
habe eine txt Datei die so aufgebaut ist:
Delphi-Quellcode:
Die großen Abstände sind Tab-Schritte.
Abbrenn St Wildalpen 8924 Wildalpen
Nun will ich diese txt datei in eine Stringlist laden. (Hab ich schon) Nun will ich z.b. 8924 herauskopieren. :mrgreen: nur wie kann ich diese Position finden :?: Habe am Anfang gedacht einfach mal die Schritte bis zu 8924 zählen und dann herausholen.
Delphi-Quellcode:
Nur das funkt natürlich nicht. :wall:
copy(Stringliste.Strings[x],24,4);
Wie find ich die Position wenn Tab-Schritte dazwischen sind?? |
Re: Txt Datei Tabulatorschritte --> Stringlist
|
Re: Txt Datei Tabulatorschritte --> Stringlist
Thx
werds morgen mal probieren :dp: |
Re: Txt Datei Tabulatorschritte --> Stringlist
hallo versuch mal
Delphi-Quellcode:
for i:=0 to stringliste.count-1 do // schleife zum durchlaufen der gesamten stringliste begin tempstringlist.delimiter:=#9; // setzt als trennzeichen den tabulator tempstringlist.delimitedtext(stringliste[i]); //Nun hast du 5 Spalten über die du auf die einzelnen werte zugreifen kannst showmessage(tempstringlist[3]); //zeigt dir die postleitzahl an. end; |
Re: Txt Datei Tabulatorschritte --> Stringlist
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
@mwiesbau Dein Code funkt leider nur Teilweise, da wenn der Ort xxx am xxx lautet wird in der Plz z.b am angezeigt. Siehe Anhang. Ich steh voll an Bitte um Hilfe. :pale: :wiejetzt: |
Re: Txt Datei Tabulatorschritte --> Stringlist
ok dann musst du dass ganze so lösen
Delphi-Quellcode:
for i:=0 to stringliste.count-1 do // schleife zum durchlaufen der gesamten stringliste
begin tempstringlist.delimiter:=#9; // setzt als trennzeichen den tabulator tempstringlist.delimitedtext(stringliste[i]); //Nun hast du 5 Spalten über die du auf die einzelnen werte zugreifen kannst try begin strtoint(tempstringlist[3]); //zeigt dir die postleitzahl an. HIER DEIN CODE ZUM EINFÜGEN IN DIE LISTE end; except //Wenn die convertierung in Integer fehlegeschlagen weil keine zahl dann begin (tempstringlist[4]) //Nimmt die nächste spalte HIER DEIN CODE ZUM EINFÜGEN IN DIE LISTE end; end; hoffe es funktioniert und du weisst was ich meine |
Re: Txt Datei Tabulatorschritte --> Stringlist
Habs auch grad so gelöst :)
Delphi-Quellcode:
for x:=2 to Meinestringlist.count-1 do // schleife zum durchlaufen der gesamten stringliste
begin templist.delimiter:=#9; // setzt als trennzeichen den tabulator templist.delimitedtext:=(trim(Meinestringlist[x])); //Nun hast du 5 Spalten über die du auf die einzelnen werte zugreifen kannst Stringgrid1.RowCount:=x; try strtoint(templist[3]); StringGrid1.Cells[0,x]:=(templist[3]); //postleitzahl StringGrid1.Cells[1,x]:=(templist[4]); //Ort except try strtoint(templist[4]); StringGrid1.Cells[0,x]:=(templist[4]); StringGrid1.Cells[1,x]:=(templist[5]); except try strtoint(templist[5]); StringGrid1.Cells[0,x]:=(templist[5]); StringGrid1.Cells[1,x]:=(templist[6]); except try strtoint(templist[6]); StringGrid1.Cells[0,x]:=(templist[6]); StringGrid1.Cells[1,x]:=(templist[7]); except StringGrid1.Cells[0,x]:=(templist[7]); StringGrid1.Cells[1,x]:=(templist[8]); end; end; end; end; end; |
Re: Txt Datei Tabulatorschritte --> Stringlist
Mein nächstes Problem ist das zwar nun die PLZ stimmt aber der Ort Wenn er xxx am xx lautet.
Wenn ich Ort mit
Delphi-Quellcode:
aufrufe wird wieder nur xx ausgegeben wird da er ja beim einlesen in templist bei jeden
StringGrid1.Cells[1,x]:=(templist[4]); //Ort
leerzeichen #9 einfügt. Gibts da nicht etwas einfacheres?? Da ja bei meiner Ursprüngliche txt Datei die Strings mit #9 ja schon geteilt sind?? |
Re: Txt Datei Tabulatorschritte --> Stringlist
also das müsste auch ohne
Delphi-Quellcode:
funktionieren, nimm mal diese zeile raus
temstrinlist.delimiter:=#9
mit dieser funktion legst du ein explizites trennzeichen deines textes fest welches du aber nicht brauchst wenn dein text durch leerzeichen oder tabulatoren getrennt ist. eine möglichkeit wäre noch die temstringlist durchzufählen und die letzen zwei einträge auszulesen, da wie mir scheint der ort immer der letzte eintrag und die postleitzahl immer der vorletzte eintrag ist.
Delphi-Quellcode:
StringGrid1.Cells[1,x]:=(templist[templist.count-1]); //Ort
StringGrid1.Cells[1,x]:=(templist[templist.count-2]); //PLZ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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-2025 by Thomas Breitkreuz