Autor |
Beitrag |
rob87
      
Beiträge: 461
Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
|
Verfasst: Mi 08.08.07 10:23
Hallo
ist es möglich mit einem ButtonClick eine Procedure aufrufen.
Bsw. mit Button...Click zum FormShow des Formulares??
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 08.08.07 10:36
Moin!
Ja, einfach im Handler des Buttons die gewünschte Methode aufrufen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
arj
      
Beiträge: 378
Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
|
Verfasst: Mi 08.08.07 10:36
Natürlich ist das möglich: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private public procedure Blub(); end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Blub; begin
end;
procedure TForm1.Button1Click(Sender: TObject); begin Blub(); end; |
|
|
rob87 
      
Beiträge: 461
Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
|
Verfasst: Mi 08.08.07 10:46
Ich möcht halt eg nicht den Inhalt von meinem FormShow nochmal in den Button schreiben.
Sondern er soll mit diesem Button automatisch zu der Procedure FormShow springen.
Damit, falls ich was im FormShow ändere, ich es nicht auch noch doppelt bei dem Button ändern muss.
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Mi 08.08.07 10:52
... der Grund ist eigentlich ja jedem klar und die Lösung hat dir arj ja schon gegeben.
Du rufst die Prozedur halt einfach auf:
Delphi-Quelltext
Ich bin mir allerdings nicht sicher, ob du den Zusatz "Sender" unbedingt brauchst. Ich hab nie verstanden, was da soll.
Aber so müsste es funktionieren.
MfG
Terra
_________________ Hasta La Victoria Siempre
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 08.08.07 10:52
Dann schreibe eine Methode und ruf diese im OnShow-Ereignis des Formulares und im OnClick-Ereignis der Schaltfläche auf.
|
|
rob87 
      
Beiträge: 461
Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
|
Verfasst: Mi 08.08.07 10:56
Zitat: | Ich bin mir allerdings nicht sicher, ob du den Zusatz "Sender" unbedingt brauchst. |
Den Sender brauchst.  Funktioniert wunderbar. Merci.
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Mi 08.08.07 11:03
... ansonsten hilft auch oft eine eigene Prozedur (wie Luckie gesagt hat), die du dann aufrufst wie es dir arj gesagt hat.
Das geht auch.
_________________ Hasta La Victoria Siempre
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 08.08.07 12:18
Du kannst auch im ButtonClick FormShow(Button1); (vorausgesetzt die Methode für OnShow heißt bei dir so, d.h. du hast den namen nicht geändert) aufrufen, der Sender dient dazu, dass du in der aufgerufenen Prozedur feststellen kannst, von welcher Komponente das Ereignis kam, das die Methode aufgerufen hat. Da du das vermutlich nicht benutzt, ist es egal, welche Komponente du als Parameter übergibst, Sender geht natürlich auch.
Das OnShow direkt aufrufen ist finde ich ein wenig unübersichtlicher, weil du nicht siehst wie die bei dir aufgerufene Methode heißt, funktioniert aber natürlich genausogut.
|
|