Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#3

AW: MessageDlg - Schleifen Problem

  Alt 28. Mai 2013, 17:11
  1. Bitte DELPHI-Tags (das Helmsymbol im Forum-Editor) - oder wenigstens CODE-Tags verwenden, denn so ist dein Code viel zu mühsam zu lesen!
  2. 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!
  3. 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
  Mit Zitat antworten Zitat