Einzelnen Beitrag anzeigen

skaven

Registriert seit: 13. Okt 2004
87 Beiträge
 
#1

String auslesen der mehrere gleiche zeichen hat

  Alt 4. Nov 2004, 09:10
Hallo zusammen,

ich möchte gerne einen string auslesen der in etwas so aussieht:

#'+*~04~00~09+*#'

Jetzt habe ich ein Programm geschrieben das den String nach dem Zeichen ~ durcsucht und mir die nachfolgende Zahl filtert.

Beim nächsten Umlauf fängt die Suche leider wieder von vorne an und er findet das erste Zeichen wieder und liest dieselbe Zahl aus '04', er soll aber einen weiter springen und nach der nächsten Tilde suchen, damit ich alle Zahlen ausgelesen habe.

Kann ich einen Merker setzten, nachdem Motto, erste Tilde gefunden, zahl ausgelesen, weiter ab dieser Stelle suchen und nicht von vorne.

Hänge Euch mal meine Funktion an ide ich bis jetzt zum auslesen geschrieben habe und die immer von neuen anfängt.

Delphi-Quellcode:
function TForm1.auswerten(data: string): string;

    var
    firstletter, lastletter, hilfspoint :integer;
    wert : string;

     begin
      firstletter := 0;
      lastletter := 0;

      if not(pos('~',data) = 0) then
        begin


         {Ermittlung der Befehlsposition "erste Doppelzahl"}
         while (firstletter < Length(data)) and not (data[firstletter] in [#48..#57]) do
               Inc(firstletter);
               lastletter := firstletter;


         {auslesen und speichern der Doppelzahl}
         while (lastletter < Length(data)) and (data[lastletter] in [#48..#57]) do
             begin
             wert := wert + data[lastletter];
             Inc(lastletter);
             end;
             firstletter := lastletter;
             hilfspoint:=strtoint(wert);
             auswerten:=inttostr(hilfspoint);
  Mit Zitat antworten Zitat