Einzelnen Beitrag anzeigen

Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#16

AW: Herauslösen eines Strings im string

  Alt 3. Mär 2014, 09:50
Hey schönen Montag euch allen,

Ich habe nun eine Lösung entwickelt, welche einen Mix aus euren Codevorschlägen darstellt. Mit unten stehendem Code kann ich
Code:
99,10,Text1=Text2
oder
Code:
99,Text1=Text2
komplett zerlegen:

Delphi-Quellcode:
procedure TForm1.b_schneidenClick(Sender: TObject);
var s,s1,s2,s3,s4:string;
zahl: double;
ipos, xpos:integer;
begin
  s := ListBox2.Items[ListBox2.ItemIndex];//markierte Zeile als Start-String
  s1 := StrToken(s, ','); // ID abtrennen
  s2 := StrToken(s, ','); // Headline abtrennen

  //Prüfen ob Headline überhaupt existiert
  if TryStrToFloat(s2, zahl) then
  begin
   //Headline ist vorhanden !
   s3 := StrToken(s, ',');
   s4 := StrToken(s3, '=');
  end
 else
  begin
   //KEINE Headline vorhanden
   s2 := '99';//fake ID setzen
   s := ListBox2.Items[ListBox2.ItemIndex];//s neu setzen, weil leer..
   
   //Dazwischen abschneiden
   iPos := Pos (',', s);
   if (iPos > 0) then
   begin
     Delete(s,1,ipos);
     //nochma schneiden
     xPos := Pos ('=', s);

     if (xPos > 0) then
     begin
       Delete(s,xpos,s.Length-1);
       e_qu.Text:=s;
     end;
   end;

   s := ListBox2.Items[ListBox2.ItemIndex];//s neu setzen, weil leer..
   s4 := StrToken(s, '=');
  end;
End;
So funktioniert es einwandfrei, obwohl da ne Menge Optimierungspotential drinsteckt
Ich danke euch !
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat