Ich hab eine kleine Funktion geschrieben, die mir in einer Zeichenkette alle Umlaute durch ihre Äquivalente mit zwei Buchstaben (z.B.: ä = ae) ersetzen soll.
Merkwürdigerweise gibt mir die Routine immer nur eine leere Zeichenkette zurück.
Ein Breakpoint in der Zeile zs := zs + zwch; mit Überwachung von zs und zwch zeigt, das zwch immer das jeweilige Zeichen aus dem String s enthält, aber zs bleibt stets leer.
Ersetze ich
Code: Alles auswählen
zs := zs + zwch;
Code: Alles auswählen
zs := zs + 'x';

Code: Alles auswählen
function UmlauteWeg(s:string):string;
var zs, zwch : string;
a : longint;
begin
zs := '';
for a := 0 to length(s) do
begin
zwch := s[a];
if s[a] = 'Ä' then zwch := 'AE';
if s[a] = 'Ö' then zwch := 'OE';
if s[a] = 'Ü' then zwch := 'UE';
if s[a] = 'ä' then zwch := 'ae';
if s[a] = 'ö' then zwch := 'oe';
if s[a] = 'ü' then zwch := 'ue';
if s[a] = 'ß' then zwch := 'ss';
zs := zs + zwch;
end;
Result := zs
end;
Ich zweifle schon einigermaßen an mir

Schönen Nachmittag
Christian