AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi "Disco" (oder Countdown) in Delphi möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

"Disco" (oder Countdown) in Delphi möglich?

Ein Thema von Informatik_Doppelstundler · begonnen am 9. Dez 2005 · letzter Beitrag vom 10. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Informatik_Doppelstundler

Registriert seit: 6. Dez 2005
11 Beiträge
 
#1

"Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:19
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.

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.
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:25
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 Delphi-Referenz durchsuchenTimer.
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#3

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:27
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;
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Informatik_Doppelstundler

Registriert seit: 6. Dez 2005
11 Beiträge
 
#4

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:43
Wow 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".
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:46
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#6

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:47
@FriFra
Noch nie von Delphi-Referenz durchsuchencase gehört?

@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
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Interceptor
Interceptor

Registriert seit: 28. Mai 2004
Ort: Würzburg
118 Beiträge
 
Delphi 6 Professional
 
#7

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:48
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.
David
~ Nichts ist wahr, alles ist erlaubt ~
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#8

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:48
timer aufs formular ziehen property interval einstellen enabled auf true und im ereignis on timer den code rein -> fertig
  Mit Zitat antworten Zitat
Alt 9. Dez 2005, 16:50     Erstellt von faux
Dieser Beitrag wurde von sakura gelöscht. - Grund: überflüssig
Informatik_Doppelstundler

Registriert seit: 6. Dez 2005
11 Beiträge
 
#9

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 16:53
Ja genau das war das problem (wo ich TTimer finde)

1000 Dank


UUUND: Es funzt!!!!!! Fett! (Wofür werden Informatik-Lehrer bezahlt, wenn sie einem solche dinge net erklären können

Also nochmal dankedankedanke
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#10

Re: "Disco" (oder Countdown) in Delphi möglich?

  Alt 9. Dez 2005, 17:00
Zitat von Airblader:
@FriFra
Noch nie von Delphi-Referenz durchsuchencase gehört?
Doch, aber ich bevorzuge trotzdem if, da man damit auch komplexere Abfragen realisieren kann... wenn einem mal irgendwann noch eine weitere Bedigung "einfällt", dann hat es sich ohnehin "ausgecased"

Zitat von faux:
Wo liegt bloß der Sinn, wenn vier Leute exakt das Selbe schreiben?
Den gibt es nicht ...
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz