Einzelnen Beitrag anzeigen

Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

String nach Wort durchsuchen

  Alt 14. Jan 2004, 14:48
Hi,
ich habe eine lange Zeichenkette und suche nach einem bestimmten Wort
(oder halt einer Zeichenkette). Ich hab das mal so realisiert und wollt
fragen, ob man das so machen kann...

Delphi-Quellcode:
function vgl (str1, str2 : string): boolean;
var s, s2 : string;
    x, richtig, i, o : integer;
    uebereinstimmung : boolean;
begin
  if gks = false then begin // Wenn gks = false, dann wird der Text in Großbuchstaben umgewandelt
     str1 := Uppercase (str1);
     str2 := Uppercase (str2);
  end;

  vgl := false;
  if str1 = str2 then begin
     result := true;
     exit;
  end;
  if length(str2) > length(str1) then begin
     s := str1;
     str1 := str2;
     str2 := s;
  end;
  { str1 ist die längere satzkette }
  s := '';

  i := -1; // Wenn Vgl.String > Org.String ist, keine Übereinstimmung mehr möglich
  uebereinstimmung := false;
  while (i <= length(str1)) and (i <= length(str1)-length(str2))
   and (uebereinstimmung = false) do begin
    inc (i);
    o := 0;
    richtig := 0;

    for o := 0 to length(str2)-1 do begin
        if (str1[i+o] = str2[1+o]) then inc (richtig);
        if richtig = length(str2) then uebereinstimmung := true;
    end;
  end;

  if uebereinstimmung = true then result := true;
end;
Also man übergibt der Funktion zwei Strings. Die längere Zeichenkette wird dann
Zeichen für Zeichen mit Zeichen der kürzeren Zeichenkette verglichen.
-- Never change a running system --
  Mit Zitat antworten Zitat