Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Fokusieren des Buttons vermeiden

  Alt 16. Jan 2007, 18:19
Schau mal folgenden Code an, der wiedeholt sich mindestens 10 Mal mit ganz geringen Unterschieden:
Delphi-Quellcode:
procedure TForm1.Button10Click(Sender: TObject);
begin
  if (panel1.caption='0') or (operation=true) then
  begin
    panel1.caption:='0';
    operation:=false;
  end
  else panel1.caption:=panel1.caption+'0';
  if strich=true then zahl:=true;
  panel1.setfocus;
end;
Wenn man ein Codefragment so oft sieht, muss sofort die Alarmglocke UNTERFUNKTION klingeln!!
Hier die Unterfunktion mit dem Parameter "zahl":
Delphi-Quellcode:
procedure TForm1.ZahlKlick(zahl:char);
begin
  if (panel1.caption='0') or (operation=true) then
  begin
    panel1.caption:=zahl;
    operation:=false;
  end
  else panel1.caption:=panel1.caption+zahl;
  if strich=true then zahl:=true;
  panel1.setfocus;end;
Damit ergibt sich folgende Vereinfachung (und zwar für 10 Buttons):
Delphi-Quellcode:
procedure TForm1.Button10Click(Sender: TObject);
begin
   ZahlKlick('0');
end;
Deine Art zu programmieren nennt man "Programmierung mittels Copy & Paste" und erzeugt sehr viel Programmcode, der nur schwer zu debuggen ist.
http://de.wikipedia.org/wiki/Antipat...-Anti-Patterns
Andreas
  Mit Zitat antworten Zitat