Zitat von
nahpets:
Hallo,
Soundex hat für meine Begriffe den Nachteil, dass der erste Buchstabe übernommen wird und die Länge auf vier Zeichen begrenzt ist. Er ist ursprünglich auf englische/amerikanische Namen optimiert (im Jahre 1918).
Soundex bei Wikipedia
Schaut euch die Beispiele dort an und ihr merkt quasi sofort, wo die Schwachstellen liegen. Chaos und Kaos würden nie als identisch oder auch nur ähnlich erkannt.
Die Funktion SoundEx erwartet als zweiten Parameter eine Längenangabe als Integer. Hier könnte man die Länge des Input-Strings nehmen und angefügte Nullen nachher entfernen.
ShowMessage(StringReplace(SoundEx(Edit1.text, Length(Edit1.text)), '0', '', [rfReplaceAll]));