Thema: Delphi Frage zu einer funktion

Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Frage zu einer funktion

  Alt 4. Dez 2003, 15:31
hoi,

ich hab ne frage und zwar hierzu :

Delphi-Quellcode:
function CountWords(str: string; sep: char): integer;
begin
  result := 0;
  if str <> 'then // Wenn str nicht leer ist
  begin
    if pos(sep, str) <> 0 then // Wenn chr in str ist
    begin
      while Copy(str, 1, 1) = sep do // Solange zeichen1 löschen bis es nichtmehr chr ist (wenn überhaupt?)
      Delete(str, 1, 1);
      while pos(sep, str) <> 0 do // hier muss ich schon wieder abfragen ob chr noch in str ist? (siehe if-abfrage2)
      begin
        inc(Result);
        Delete(str, 1, Pos(sep, str));
      end;
      if str <> 'then // hier muss ich schon wieder abfragen ob str nicht leer ist? (siehe if-abfrage1)
      inc(Result);
    end
    else
    inc(Result);
  end
  else
  Result := 0;
end;

ich krieg es nicht anders hin, gibt es ne alternative? Der code funzt einwandfrei, ich übergebe einen string der in wörter geteilt wird anhand des seperators... aber ich finde das ist für sone kleinigkeit vielzuviel geschrieben oder nicht? z.b das ich 2 abfragen doppelt hab (aber wie gesagt anders bekomm ichs nicht hin). ich wollt mal wissen wie ihr das gemacht höättet, damit ich mir n paar (bessere?) beispiele angucken kann
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat