Autor Beitrag
rob87
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
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
BeitragVerfasst: Mi 08.08.07 10:36 
Natürlich ist das möglich:
ausblenden 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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure Blub();
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Blub;
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Blub();
end;
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: 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:

ausblenden Delphi-Quelltext
1:
Form1.OnShow(Sender);					


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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.