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