Autor Beitrag
Muck22
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mi 08.03.06 18:45 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button4Click(Sender: TObject);
var Zeile:String;
var x:Integer;
begin
  s:=TStringList.Create; //StringListe erzeugen
  s.LoadFromFile('C:\daten.txt'); //aus der Datei einlesen
  Zeile:=s.Strings[0];
   x:=Pos(',',Zeile);

  showmessage(IntToStr(x));

end;


Damit kann ich mir ja die Position des ersten Kommas anzeigen lassen!
Der String sieht ungefähr so aus:

Hans,Mustermann,Musterstrasse,usw,usw

Ergebnis wäre dann ja 5.
Wie komm ich an die Position des zweiten Kommas ran???? :-)
(Und wie kann ich den Code oben im Forum vernünftig dargestellt erscheinen lassen?) :-)

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 08.03.06 18:53 
Hallo!

Schau Dir mal die Funktion "PosEx" an. Damit kannst Du IIRC das bewerkstelligen, was Du machen willst.

Wie Du Code hier im Forum richtig darstellst, verrät Dir die Hilfe ;-)

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
DarkLord05
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Mi 08.03.06 18:54 
Den Code kannste richtig machen (ist zwar nu schon, aber für die Zukunft) über "Bereiche" und dann Delphi.

Also wenn du einen string teilen willst der so aussieht, dann würd ich dir emfehlen das so zu machen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var x, y : String;
    i : Intger;
begin
x := Hans,Mustermann,Musterstrasse,usw,usw
i := Pos (x);
y := Copy (x, 0, i-1);


Und dann löschst du den teil bis zum 1. Komma. Das inner schleife bis kein "," mehr da ist, und dann passt das.^^

//EDIT...zu spät und...das kannte ich gar net^^ Danke Christian.
Muck22 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mi 08.03.06 18:56 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button4Click(Sender: TObject);
var Zeile:String;
var x,y:Integer;
begin
  s:=TStringList.Create; //StringListe erzeugen
  s.LoadFromFile('C:\daten.txt'); //aus der Datei einlesen
  Zeile:=s.Strings[1];
   x:=Pos(',',Zeile);
   y:=x+Pos(',',Zeile);
  showmessage(IntToStr(y));

end;


Danke ich hab es ein wenig uneleganter gelöst! :-)
Muck22 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mi 08.03.06 19:11 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button4Click(Sender: TObject);
 var x,y:String;
 i,n:Integer;
begin
  s:=TStringList.Create; //StringListe erzeugen
  s.LoadFromFile('C:\daten.txt'); //aus der Datei einlesen
  x:=s.Strings[0];
  i:=Pos(',',x);
  n:=i+Pos(',',x);
  y:=Copy(x, 0, n-2);
  showmessage(y);

end;


Für meine Zwecke sieht das dann so aus!

Vielen Dank für Eure Hilfe! :-)