Einzelnen Beitrag anzeigen

hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Vergleichen von 2 Strings (prozentual)

  Alt 26. Sep 2010, 14:44
Ich würde erstmal die beiden Längen der Strings ermitteln, dann eine Schleife für die Länge des längeren Strings einsetzten.
In der Schleife dann überprüfen, ob die überprüften Buchstaben an der Stelle gleich sind, wenn ja, dann in die eine Variable (z.B. BuchsGleich) speichern, wenn nicht, in eine andere.
Am Ende dann die Länge des längeren Strings durch 100 und mal die gleichen (bzw. ungleichen, wenn man auf prozentuale Ungleichheit prüfen möchte) Buchstaben nehmen.

Ungetesteter Code!!
Delphi-Quellcode:
var BuchsGleich, BuchsUngleich, Länge: Integer;//Länge = Länge der Schleife
    string1, string2: String;//deine beiden Strings
    lString1, lString2: integer;//Länge deiner beiden Strings
    helpStr1, helpStr2: string;//braucht man zum Vergleichen
    CopyStart: integer;//Startposition des Kopiervorgangs
begin
  lString1:=length(string1); lString2:=length(string2);
  if lString1 > lString2 then Länge:=lString1
  else Länge:=lString2;
  CopyStart:=0;
  for i:=1 to Länge do//hier beginnt deine Prüfschleife
  begin
    helpStr1:=LowerCase(Copy(string1,CopyStart,1)); helpStr2:=LowerCase(Copy(string2,CopyStart,1));
    {die beiden Zeichen herauslösen, LowerCase notwendig, da man dann auch solche Strings vergleichen kann: 'BAUM' und 'baum'}
    if helpStr1 = helpStr2 then BuchsGleich:= BuchsGleich + 1
    else BuchsUngleich:= BuchsUngleich + 1;
    CopyStart:=CopyStart + 1;
  end
end
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!

Geändert von mkinzler (26. Sep 2010 um 14:45 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat