- Bitte DELPHI-Tags (das Helmsymbol im Forum-Editor) - oder wenigstens CODE-Tags verwenden, denn so ist dein Code viel zu mühsam zu lesen!
- Bitte Code ordentlich einrücken. Bei den paar Zeilen mag das noch nicht so kritisch sein, aber wenn der Code länger wird, ist saubere Einrückung unabdingbar!
- Verwende aussagekräftige Variablenbezeichner! x, z, edit1 und edit2 sind nicht aussagekräftig. Im Moment magst du noch wissen, welche Variable was bezeichnet und wofür sie gut ist, aber ein anderer, der in den Code schaut, muss sich erst reinlesen, und auch du selbst wirst in Wochen/Monaten erstmal überlegen müssen, was du da geschrieben hast.
So, genug der "Standpauke", nun zum Problem: Ohne jetzt den Code komplett umzuschreiben (es bietet sich eine Funktion mit Boolescher Rückgabe an, die besagt, ob das Zeichen gefunden wurde), fällt mir dies auf Anhieb ein:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
j,i:Integer;
z,x:string;
found: Boolean;
begin
found:= False;
j:= length(edit1.Text);
x:= edit1.Text;
for i := 1 to j do
begin
if edit2.Text[1]=edit1.Text[i] then
begin
found:= True;
z:=ansiuppercase(x[i]);
delete(x, i, 1);
insert(z, x, i);
edit1.text:= x;
end;
end;
if NOT found then ShowMessage('nicht gefunden');
end;
MfG Dalai