Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - TButton(Sender) Methode klappt nicht


nealmorsexx - Di 30.12.08 03:34
Titel: TButton(Sender) Methode klappt nicht
Nabend ;-),


bin am verzweifeln. Schon seit Stunden versuche ich, für unseren Informatikkurs die Taschenrechneraufgabe zu lösen.

Dabei bin ich mir eigentlich ziemlich sicher, dass es auf diese Weise funktionieren müsste.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.taschenrechner(Sender : TObject);
begin
    if TButton(Sender).Caption = 'DEL' then
    begin
    Anzeige.Lines.Strings[0]:='';
    Anzeige.Lines.Strings[2]:='0';
    end;
end;


Wenn ich die Form öffne und es testen will, geschieht nichts, sobald ich auf den DEL-Knopf drücke.

Ich habe selbst zum Test mal ausprobiert, ein kleines Programm, dass die Caption eines Buttons in ein einfaches Editfeld einträgt, beim Buttonklick, hat auch nicht funktioniert.


Die Sendermethode hat bei mir nur funktioniert, als ich es in eine ButtonClick-Prozedur (z.B. die OnClick-Methode von der Taste "1") reingepackt habe. Allerdings klappte das dann nur bei der Taste ("1").

Liegts eventuell an meiner Delphi-Version, die vielleicht beschädigt ist? (Was mir eigentlich nicht aufgefallen ist...Delphi zeigt mir nichtmal einen Fehler an!)

Klar, es wäre eifnach, für jeden Button eine OnClick Methode zu machen, sollen wir aber nicht.


Danke schonmal im Vorraus und MfG,


Christoph ;)


Xentar - Di 30.12.08 03:57

Wieso soll immer gleich Delphi kaputt sein, wenn etwas nicht geht..?

Natürlich musst du diese Methode "taschenrechner" dem OnClick eines Buttons zuweisen - woher soll der sonst wissen, was passieren soll?
Du kannst jedoch für mehrere Buttons die selbe Methode auswählen, musst also nicht für jeden eine eigene machen.


nealmorsexx - Di 30.12.08 04:02

Danke schonmal für deine schnelle Antwort :-)


gibt es denn eine Möglichkeit, dieser Prozedur irgendwie klar zu machen, dass
sie eine Onclick Methode zugewiesen werden soll? Ich hab ja probiert, sie in eine der 9 Buttons reinzupacken, jedoch hat das auch nicht funktioniert. Gibt es da keine allgemeine Prozedur oder so?

Mein Wissen ist da leider noch nicht ausreichend genug, sorry :oops:



Trotzdem danke ;)



MfG

Christoph


Xentar - Di 30.12.08 04:08

Hm..?
Du klickst auf nen Button, wählst links im Objektinspektor die Registerkarte "Ereignisse", suchst "OnClick" und wählst da "taschenrechner" aus.