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