Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Timer procedure


Lena00 - Mo 27.11.17 17:24
Titel: Timer procedure
Hallo!
Ich möchte ein Spiel programmieren und bin bereits soweit, dass von einer bestimmten Anzahl von images zufällig durch Klick auf einen Button, je nach Zufallszahl, das entsprechende erscheint/sichtbar wird und andere verschwunden bleiben (image.visible....). Nun möchte ich allerdings auch, dass von allein nach einem timer von 2 Sekunden, welchen ich schon programmiert habe, das jeweilige image sichtbar wird und nicht nur durch Klick auf einen Button. Dies soll immer und immer wieder geschehen, alle 2 Sekunden ein anderes sichtbares image von 9 möglichen und das zufällig.
Liebe Grüße!


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 27.11.2017 um 17:20


Symbroson - Mo 27.11.17 17:31

Es gibt da entweder die TTimer Komponente der du ein interval und eine callback Methode zuweisen kannst, oder du machst es komplett selber mit einem TThread.
Wenn es wirklich mur das Bild wechseln soll ist der Timer erstmal das einfachste.
Zufallszahlen kannst du mit randomize initialisieren und random(max) generieren.

LG


Lena00 - Mo 27.11.17 17:46

Vielen Dank für die schnelle Antwort im voraus!
Bin relativ neu bei Delphi und habe mich kurz in die callback Methode eingelesen, aber trotzdem nicht wirklich verstanden wie sie arbeitet. Gibt es vielleicht auch eine einfachere Methode durch eventuell die Verbindung zweier Proceduren, bzw. die Verbindung von der timer procedure mit einer anderen die für das "Erscheinen" zuständig ist?


haentschman - Mo 27.11.17 17:52

Moin... 8)
Vor dem Programmieren sollte man mal das E-Book für Delphi lesen. :idea:
https://www.delphi-treff.de/downloads/e-book/
Wichtig in diesm Zusammenhang sind:
* Variablen
* proceduren
* functionen
* Events und deren Handler (= Callback)
...usw.


Narses - Mo 27.11.17 18:18

Moin und :welcome: in der EE!

Eigentlich sollte es schon reichen, wenn du den Inhalt der Button-Prozedur, der zeitgesteuert ausgeführt werden soll, in die Timer-Prozedur einfügst/verschiebst. :idea: ;)

cu
Narses


Lena00 - Mo 27.11.17 18:41

Super!!!! Vielen lieben Dank, es hat so geklappt. Aber das E-Book werde ich mir trotzdem noch zu Gemüte führen ;D


haentschman - Di 28.11.17 10:18

Moin... :P
Ich habe deinen Code in deinem Bild gesehen. Dazu hätte ich noch ein paar Tipps. :wink:

http://www.delphipraxis.net/1379518-post10.html
Punkte 1-4