Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: string problem

  Alt 27. Nov 2005, 16:00
Knapp vom Unwissenden geschlagen, aber als Alternative taugst allemal:
Du musst den String so aufteilen:
1.Teil: Alles vor dem '->'
3.Teil: Alles ab dem LETZTEN Komma
2.Teil Alles zwischen 1.Teil und 3.Teil, aber ohne die Trenner.

Beim 2.Teil noch "art : " vorne abschneiden (also 6 Zeichen).
Na, das ist doch einfach:
Delphi-Quellcode:
Procedure MatthiasSeinStringAufteiler (Const aStr : String; Var Teil1, Teil2, Teil3 : String);
// Teilt einen String BLA->art : FOO,BAR in die 3 Teile BLA, FOO und BAR
Var
  i,j : Integer;
Begin
  i := Pos ('->',aStr);
  Teil1 := Trim (Copy (aStr,1,i-1));
  inc (i,2); // i steht jetzt auf dem 'a' von 'art : FOO'
  Inc (i,6); // wenn immer'art : ' da steht, also 6 Zeichen, einfach rüberhüpfen
  j := Length (aStr);
  While aStr[j]<>',do dec (j); // Letztes Komma suchen
  Teil2 := Trim (Copy (aStr, i, j-i));
  Teil3 := Trim (Copy (aStr, j+1, maxint));
End;
Achtung: Die Routine verhält sich komisch, wenn der String anders aussieht, weil keine Plausibilitätsprüfung eingebaut wurde.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat