![]() |
Wie daraus eine Funktion machen?
Delphi-Quellcode:
Kann ich aus dem eingegrenzten Teil eine Funktion machen? Habe nämlich noch 14 weitere Buttons in dieser Code teil der markiert ist rein muss. Mit einer Funktion würde sich da mächtig Code sparen lassen. Wenn es geht, wie muss die Funktion aussehen und wie führe ich sie aus?
procedure TForm3.EinCentClick(Sender: TObject);
begin zahlung:=StrToFloat(Label1.Caption); zahlung:=zahlung-0.01; // BEGINN DER FUNKTION if zahlung<0 then begin Label2.Caption:='Ihr Rückgeld:'; Label1.Caption:=FloatToStrF(-zahlung,fffixed,16,2); EinCent.Enabled:=false; ZweiCent.Enabled:=false; FuenfCent.Enabled:=false; ZehnCent.Enabled:=false; ZwanzigCent.Enabled:=false; FuenfzigCent.Enabled:=false; EinEuro.Enabled:=false; ZweiEuro.Enabled:=false; FuenfEuro.Enabled:=false; ZehnEuro.Enabled:=false; ZwanzigEuro.Enabled:=false; FuenfzigEuro.Enabled:=false; HundertEuro.Enabled:=false; ZweihunderEuro.Enabled:=false; FuenfhundertEuro.Enabled:=false; end else Label1.Caption:=FloatToStrF(zahlung,fffixed,16,2); //ENDE DER FUNKTION end; |
Re: Wie daraus eine Funktion machen?
Natürlich kann man daraus eine Funktion machen aber ich glaub eine procedure reicht in dem Fall da du nichts zurück zu geben brauchst. Wie?! Eine neue Methode/procedure/funktion anlegen und den Quelltext dort rein kopieren. Diese Funktion dann aufrufen - fertig.
Wo genau kommst du nicht weiter? |
Re: Wie daraus eine Funktion machen?
Hi,
nur kurz zu Edits und Buttons: Wenn du diese mit fortlaufender Nummer benennst, kannst du sie in einer Schleife durchgehen. Das spart dir einige Code-Zeilen. Stichwort wäre: ![]() Grüße |
Re: Wie daraus eine Funktion machen?
Dann aber am besten gleich in ein Array packen um das "Find" zu vermeiden.
|
Re: Wie daraus eine Funktion machen?
Delphi-Quellcode:
Nachtrag:
type
TGeldStueck = (gs1Cent, gs2Cent, gs5Cent,...., gs500Euro); // die Punkte bitte mit Werten ersetzen (Fleissarbeit) TGeldStuecke = set of TGeldStueck; procedure TForm3.EnableStueckelung(g:TGeldSuecke); begin EinCent.Enabled:= gs1Cent in g; ZweiCent.Enabled:=gs2Cent in g; ... // nochmal die Fleissarbeit FuenfhundertEuro.Enabled:= gs500Euro in g; end; Damit lassen sich dann gezielt einige oder alle Checkboxen abschalten:
Delphi-Quellcode:
var
gs : TGeldStuecke; begin // Beispiel 1 gs := []; // Menge EnableStueckelung(gs); // alle Checkboxen aus // Beispiel 2 gs := [gs1Euro, gs2Euro, gs5Euro, gs10Euro]; EnableStueckelung(gs); // 1,2, 5 und 10 Euro Checkbox aktiv // Beispiel 3 gs := gs + [gs20Cent, gs50Cent]; // Vereinigungsmenge bilden EnableStueckelung(gs); |
Re: Wie daraus eine Funktion machen?
@Jens: Stimmt, das wäre noch schöner, zumal man die aussagekräftige Benennung dann beibehalten kann.
|
Re: Wie daraus eine Funktion machen?
na wie genau müsste denn diese prozedur dann vom code aussehen und wie sieht es aus wenn ich sie ausführen will? Bin da ncoh nciht so bewandert, deswegen wäre eure Hilfe sehr nett.
|
Re: Wie daraus eine Funktion machen?
@sx2008: Was willst du uns mit diesem Quelltext sagen? ein paar Zeilen dazu wären nicht falsch :-)
|
Re: Wie daraus eine Funktion machen?
Delphi-Quellcode:
das genau muss in die prozedur..wie muss nun der kopf dazu aussehen und wie rufe ich dann die prozedur auf?
if zahlung<0 then
begin Label2.Caption:='Ihr Rückgeld:'; Label1.Caption:=FloatToStrF(-zahlung,fffixed,16,2); EinCent.Enabled:=false; ZweiCent.Enabled:=false; FuenfCent.Enabled:=false; ZehnCent.Enabled:=false; ZwanzigCent.Enabled:=false; FuenfzigCent.Enabled:=false; EinEuro.Enabled:=false; ZweiEuro.Enabled:=false; FuenfEuro.Enabled:=false; ZehnEuro.Enabled:=false; ZwanzigEuro.Enabled:=false; FuenfzigEuro.Enabled:=false; HundertEuro.Enabled:=false; ZweihunderEuro.Enabled:=false; FuenfhundertEuro.Enabled:=false; end else Label1.Caption:=FloatToStrF(zahlung,fffixed,16,2); |
Re: Wie daraus eine Funktion machen?
letzendlich arbeitest du schon mit Funktionen. In deinem Fall mindestens mit FloatToStrF.
Genau so wie du diese Funktion aufrufst, ruft man auch selbst geschriebene Funktionen/Methoden/proceduren auf denn es spielt keine Rolle ob du den Quelltext getippt hast oder jemand anderes. Funktionen aufrufen, declarieren etc. gehört zu den Grundlagen. Wunderbare Tutorials findest du hier bei delphi-treff.de für deinen Konkreten Fall: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz