Oh, da ich habe ne ganz tolle Idee.
Ich weiß nicht so recht, ob der Lehrer sowas gemeint haben könnte.... ich glaube er meinte etwas ähliches über eine eigene Funktion. Deine Lösung ist recht Elegant. Muss ich schon sagen. den Sender einfach zu Missbrauchen. Dafür solltest du eine 1+ bekommen *G*.
Aber ob der Fragesteller das erklären kann? Weil der Lehrer wird bestimmt einige Fragen stellen zum Code.... wir können das ja mal durchspielen:
(Ich kenne die Antworten schon)
1. Entspricht der Code einen guten Programmierer Style?
2. Wozu ist der Sender eigentlich da?
3. Warum keine eigene kleine Funktion schreiben?
4. Wie bist du auf die Idee gekommen den Sender zu nutzen?
5. Was genau passiert hier eigentlich "Button1Click(tobject(pointer(cardinal((b shl 16) or (a mod b) ))));"
Gibt es weitere Fragen? *G*
Edit01:
Code: Alles auswählen
if (self = form1) and (sender = form1.button1) then begin
Gerade aufgefallen: Was soll dieser Vergleich? Diese Abfrage ist eigentlich überflüssig. Ich denke nicht, dass die Methode von einem anderen From als Form1 aufgerufen wird und das der Sender mal button2 sein könnte oder edit1 oder sowas.