Einzelnen Beitrag anzeigen

Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#1

Parse String - Satz splitten Problem

  Alt 26. Aug 2006, 09:55
Guten Morgen, ich habe gerade ein Problem, mit dem ich mich an Euch wende.
Hat jemand eine elegantere Lösung? Insbesondere der Sonderfall gefällt mir nicht.

Die Funktion gibt mit ToList(h) das Wort aus dem Satz in eine TStringList.
Das letzte Wort wurde nicht gelesen, somit habe ich den Sonderfall eingebaut.
Geht es nicht eleganter/schneller?


Delphi-Quellcode:
Function ParseString(var s:String):Boolean;
CONST Letters :set of Char =['0'..'9','A'..'Z','a'..'z'];
Var h:String;
    i:Integer;
    flag:Boolean;
begin
result:=False;
H:='';
//Space am Anfang und Ende entfernen?
Trim(S);
if S=''then exit;
Flag:=False;
for i:=1 to length(s) do
begin
   if S[i] in Letters then
        begin
        Flag:=True;
        H:=H+S[i];
        // Sonderfall: Sonst wird das letzte Wort nicht angezeigt
        if I=length(s) then
           begin
           //showmessage(h);
           ToList(H);//Wird in Liste hizugefügt, wenn nicht vorhanden
           Flag:=false;
           h:='';
           end;
        // Sonderfall Ende
        end
   else
       if Flag=true then
       begin
          //showmessage(h);
          ToList(H);
          Flag:=false;
          h:='';
       end;
end;
end;
Weiß wer was (www)?
  Mit Zitat antworten Zitat