Hi Ich weiss es im Moment nicht, wie es geht, daher hab da mal eine Frage: Ich habe Button1 Button2 Button3 Button4 Button5 Button6 Button7 Wie kann ich einen Button auswählen in dem ich die letzte Nummer mit einem Aufruf übergebe? Z.B. Button[i].click; geht ja leider nicht, da kein Array für die Button angelegt ist. Ich denke dass man zuerst ein Array von Buttons anlegen muss und dann eben über das Array den Button auswählt, wie aber diesen Button dann ( Name ) in der Form beschreiben? Ich hoffe ich habe es verständlich formuliert. Vielen Dank!
Ich weiss nicht ob ich Deine Frage Richtig verstanden habe, aber ich denke Du suchst das: http://stackoverflow.com/questions/1231669/get-an-instance-of-a-persistent-object-given-the-identifier-in-string Grüsse, René
In Tag wird der Index des Buttons abgelegt. Button1.Tag := 1; Button2.Tag := 2; Button3.Tag := 3; Button4.Tag := 4; Button5.Tag := 5; Button6.Tag := 6; Button7.Tag := 7; Allen Buttons wird dieselbe OnClick-Procedure zugewiesen. Button1.OnClick := MyButton1Click; Button2.OnClick := MyButton1Click; Button3.OnClick := MyButton1Click; Button4.OnClick := MyButton1Click; Button5.OnClick := MyButton1Click; Button6.OnClick := MyButton1Click; Button7.OnClick := MyButton1Click; In der OnClick-Procedure wird über Tag der Auslöserbutton ermittelt. procedure TForm1.MyButton1Click(Sender: TObject); begin ShowMessage(IntToStr(TButton(Sender).Tag)); end;
hagi schrieb: > In Tag wird der Index des Buttons abgelegt. Hagen ;-) danke! genau das wars ;-) ... das andere geht ja so oder: VAR Buttons : ARRAY [0..10] OF TButton; {...} FOR n:=Low(Buttons) TO High(Buttons) DO BEGIN Buttons[n] := TButton.Create(Self); {...} END; Vielen Dank! ;-)
Rene H. schrieb: > http://stackoverflow.com/questions/1231669/get-an-instance-of-a-persistent-object-given-the-identifier-in-string > > Grüsse, > René Hi René, Deins brauch ich auch ;-) Danke! LG ;-)
Man kann immer auf normale objekte von einem Array her zugreifen. Solange man die objekte vom array her nicht instanziert. Var u:array[1..10]of tbutton; u[1]:=button1; ... u[1].click()
und noch viel sinnvoller ist, die buttons erste zur laufzeit zu erzeugen..
Robert L. schrieb: > und noch viel sinnvoller ist, die buttons erste zur laufzeit zu > erzeugen.. Warum ist das sinnvoller? Es ist eine Möglichkeit, okay. Aber wofür existiert dann der Formulardesigner?
Den Formulardesigner benutzt man fuer statische Objekte, die dynamische Generierung fuer dynamische Objekte. Wenn man den Button eh braucht, wuerde ich ihn auch mit dem Designer platzieren. Und nacher mit einem Array ansprechen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.