AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Txt Datei Tabulatorschritte --> Stringlist
Thema durchsuchen
Ansicht
Themen-Optionen

Txt Datei Tabulatorschritte --> Stringlist

Ein Thema von Schuster · begonnen am 2. Mär 2005 · letzter Beitrag vom 3. Mär 2005
Antwort Antwort
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#1

Txt Datei Tabulatorschritte --> Stringlist

  Alt 2. Mär 2005, 17:30
Habe folgendes Problem

habe eine txt Datei die so aufgebaut ist:

Abbrenn   St   Wildalpen   8924   Wildalpen Die großen Abstände sind Tab-Schritte.

Nun will ich diese txt datei in eine Stringlist laden.
(Hab ich schon)

Nun will ich z.b. 8924 herauskopieren.

nur wie kann ich diese Position finden
Habe am Anfang gedacht einfach mal die Schritte bis zu 8924 zählen und dann herausholen.

copy(Stringliste.Strings[x],24,4); Nur das funkt natürlich nicht.

Wie find ich die Position wenn Tab-Schritte dazwischen sind??
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 2. Mär 2005, 17:41
Ein Tab ist ein Zeichen und zwar #9 und danach kannst du mit Delphi-Referenz durchsuchenPos und Delphi-Referenz durchsuchenPosEx suchen...


Bye

Edit:
mit Delphi-Referenz durchsuchenCopy kannst du dann das dazwischen in einen String kopieren...
Edit2:
KEnnst du ja schon wie ich seh
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 2. Mär 2005, 17:49
Thx
werds morgen mal probieren
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
Benutzerbild von mwiesbau
mwiesbau

Registriert seit: 27. Mai 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 2. Mär 2005, 18:25
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;
qui s'excuse, saccuse
(Wer sich entschuldigt, klagt sich an)
  Mit Zitat antworten Zitat
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#5

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 3. Mär 2005, 11:19
Zitat von mwiesbau:
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;
Also irgendwie komm ich mit dieser txt Datei nicht zurecht.
@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.
Miniaturansicht angehängter Grafiken
bild_194.jpg  
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
Benutzerbild von mwiesbau
mwiesbau

Registriert seit: 27. Mai 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 3. Mär 2005, 12:47
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
qui s'excuse, saccuse
(Wer sich entschuldigt, klagt sich an)
  Mit Zitat antworten Zitat
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#7

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 3. Mär 2005, 12:59
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;
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#8

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 3. Mär 2005, 15:13
Mein nächstes Problem ist das zwar nun die PLZ stimmt aber der Ort Wenn er xxx am xx lautet.

Wenn ich Ort mit
StringGrid1.Cells[1,x]:=(templist[4]); //Ort aufrufe wird wieder nur xx ausgegeben wird da er ja beim einlesen in templist bei jeden
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??
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
Benutzerbild von mwiesbau
mwiesbau

Registriert seit: 27. Mai 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Txt Datei Tabulatorschritte --> Stringlist

  Alt 3. Mär 2005, 15:42
also das müsste auch ohne

temstrinlist.delimiter:=#9 funktionieren, nimm mal diese zeile raus
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
qui s'excuse, saccuse
(Wer sich entschuldigt, klagt sich an)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz