Zitat von
Toxman:
Es gibt einen Befehl in der Stringbearbeitung, mit dem du alle Zeichen auf kleine Buchstaben setzten kannst, nennt sich
lowercase Damit sparst du dir eine der beiden Schleifen. Dann kannst du das ganze etwas schneller machen, indem du nicht alle 26 Buchstaben ausprobierst, sonder mit ord() die gleich den
Ascii-Wert eines Buchstabens holst. Dann kannst du noch 64 oder 96 anziehen und weisst den Buchstaben zum Ersetzten:
Delphi-Quellcode:
For i:=0
to length(text)
do
ordx:= ord( lowercase(text[i])) );
// oedx ist der Ascii-Wert des Buchstaben
dec(ordx,64);
CodeBuchstabe:= symbole1[ordx];
end;
// Lowercase verträgt keine Umlaute wie ä,ö,ü
So ist's etwas schneller und
imho schöner;
Aber gefährlich, da du Problememit Zeichen bekommst die nicht in 'A'..'Z' und 'a'..'z' drinnen sind -> da das Array symbole1 nur 26 Zeichen hast, greifst du dann auf symbole1[-12] oder symbole1[29] zu -> sehr gefährlich !!!!!!!!!!!!!!!