AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie daraus eine Funktion machen?

Ein Thema von kompi19 · begonnen am 21. Sep 2008 · letzter Beitrag vom 21. Sep 2008
Antwort Antwort
kompi19

Registriert seit: 14. Sep 2008
14 Beiträge
 
#1

Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:09
Delphi-Quellcode:
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;
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?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:12
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?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:12
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: Hier im Forum suchenFindComponent.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:16
Dann aber am besten gleich in ein Array packen um das "Find" zu vermeiden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:19
Delphi-Quellcode:
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;
Nachtrag:
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);
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:20
@Jens: Stimmt, das wäre noch schöner, zumal man die aussagekräftige Benennung dann beibehalten kann.
  Mit Zitat antworten Zitat
kompi19

Registriert seit: 14. Sep 2008
14 Beiträge
 
#7

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:25
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.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:46
@sx2008: Was willst du uns mit diesem Quelltext sagen? ein paar Zeilen dazu wären nicht falsch
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
kompi19

Registriert seit: 14. Sep 2008
14 Beiträge
 
#9

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 12:51
Delphi-Quellcode:
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);
das genau muss in die prozedur..wie muss nun der kopf dazu aussehen und wie rufe ich dann die prozedur auf?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Wie daraus eine Funktion machen?

  Alt 21. Sep 2008, 13:04
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:
http://www.delphi-treff.de/tutorials...shkurs/page/5/
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz