![]() |
"Disco" (oder Countdown) in Delphi möglich?
Hi! Verzeiht meine vermeintlich doofe Frage, aber ich fange eben grade erst mit Delphi an, angefangen durch den Informatik Unterricht aber auch privat viel spaß dran.
Also, meine Frage lautet: Gibt es die möglichkeit in delphi einen countdown laufen zu lassen, bzw. "form1.color" von farbe grün zu rot, zu lime, zu orange...usw. wechseln zu lassen? Also praktisch eine disco ablaufen zu lassen? Natürlich gibt es das, aber ich hab halt keine ahnung wies geht. :stupid: Ich habe genau diese letzte "disco"-idee mit einer for-schleife und einer while-schleife probiert, aber keine der beiden funktioniert. Er wechselt immer nur von der grundfarbe, die von vorneherein eingestellt ist, auf die letzte Farbe in der schleife. Dabei liegt es nicht daran, dass die schleife so schnell durchlaufen wird, dass man es nicht sieht (i in der for-schleife hab ich von 1 bis 7000000 laufen lassen!!) Naja wie gesagt, ich bin ratlos. Könnt ihr mir helfen? P.S.: Das Problem liegt auch nicht in der Procedure, ich lass das unter edit1.change laufen, unter der bedingung, dass man "disco" eingibt. |
Re: "Disco" (oder Countdown) in Delphi möglich?
Hallo!
Mit einer Schleife wird es nicht gehen, da das Programm wärend deren Ausführung zuzusagen "gesperrt" ist, also keine Paint-Ereignisse auslöst. Jetzt gibt es zwei Möglichkeiten. Entweder du schreibst in deine Schleife Application.HandleMessage; um Delphi dazuzubringen, auch wären deiner Schleife das Formular neu zu zeichnen, oder du benutzt einen ![]() Ich würde den Timer bevorzugen. Einfach einen Timer auf die Form (Reiter System) und auf Enabled:= True setzen, sowie das Intervall in millisekunden einstellen und dann doppelklicken und den Code eingeben. Einfach mal probieren oder in der DP suchen. Grüße Faux EDIT: Das Wort System hervorgehoben |
Re: "Disco" (oder Countdown) in Delphi möglich?
Mit einer Schleife wirst Du IMHO nicht glücklich werden, da diese viel zu schnell läuft. Nimm lieber einen Timer ;)
z.B.:
Delphi-Quellcode:
procedure TForm1.Timer1Execute(Sender: TObject);
begin if Color = clBtnFace then Color := clRed else if Color = clRed then Color := clGreen else if Color = clGreen then Color := clBlue else if Color = clBlue then Color := clLime else if Color = clLime then Color := clBtnFace; end; |
Re: "Disco" (oder Countdown) in Delphi möglich?
Wow :shock: das ging ja schnell! So fixe antworten hätte ich nicht erwartet :) DankeDanke. Nu zum Problem:
Also ich hab euch verstanden, hab jetzt nur noch ein Problem: Da ich delphi 5 leider auf englusch habe und die deutsche version nur in der schule, kann ich mit dem index eintrag zum "timer" net viel anfangen. Deswergen wärs klasse wenn ihr mir nochmal erklären könntet, wie man "einen timer setzt". :stupid: |
Re: "Disco" (oder Countdown) in Delphi möglich?
Im prinzip musst du diesen nur auf die Form setzen, und dann doppelt anklicken.
Alles was du dann in die erschienene Procedure schreibst, wird dann alle 1000ms (jede Sekunde) ausgeführt, es sei denn, du hast in der Eigenschaft Intervall einen anderen Wert. Grüße Faux |
Re: "Disco" (oder Countdown) in Delphi möglich?
@FriFra
:shock: Noch nie von ![]() @Informatik_Doppelstundler Einfach einen TTimer auf dein Formular ziehen und bei "Interval" die Millisekunden angeben. Bei den Prozeduren dazu kannst du das Event OnTimer definieren, dass jeden Timerdurchlauf ausgeführt wird ;) "Enables" sagt dir, ob der Timer läuft (TRUE) oder nicht (FALSE) air |
Re: "Disco" (oder Countdown) in Delphi möglich?
Der Timer is ne Komponente, befindet sich im Reiter 'System', wenn mich nicht alles täuscht.
Zieh ihn auf die Form, klicke doppelt drauf und du bist im On_Timer event, da schreibst du dann den Code rein. Und nicht vergessen ihn vorher auf enabled := true zu setzen. |
Re: "Disco" (oder Countdown) in Delphi möglich?
timer aufs formular ziehen property interval einstellen enabled auf true und im ereignis on timer den code rein -> fertig :mrgreen:
|
Re: "Disco" (oder Countdown) in Delphi möglich?
Ja genau das war das problem (wo ich TTimer finde)
1000 Dank :-D UUUND: Es funzt!!!!!! :-D :-D :-D :-D Fett! (Wofür werden Informatik-Lehrer bezahlt, wenn sie einem solche dinge net erklären können :twisted: Also nochmal dankedankedanke :dp: |
Re: "Disco" (oder Countdown) in Delphi möglich?
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz