AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Timer VErständnis Frage!

Ein Thema von Wargrave · begonnen am 7. Okt 2004 · letzter Beitrag vom 8. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Wargrave

Registriert seit: 1. Okt 2004
Ort: Krefeld
39 Beiträge
 
#1

Timer VErständnis Frage!

  Alt 7. Okt 2004, 16:24
Noch eine dumme Frage!
Ich habe das so verstanden, dass ein Timer einen Befehl nur imer wieder wiederholt.
Ich soll aber nun eine Ampel bauen.Also ich habe vier kleine Icons.Einmal nur rot,dann rot und gelb, dann grün und einen nur gelb. diese bilder müssen so hintereinander visible werden dass das auch aussieht wie ne ampel. Das Prog habt ihr ja gesehen.Also den Button um den Timer ein und auszustellen habe ich ja nun.habe zu anfang ampelrot.visible:=true und die anderen bilder obendrüber.der timer wiederholt ja nur eine sache aber wie kann man sachen HINTEREINADNER wiedergeben?
Bitte helft mir... dann is das Prog auch fertig!

Danke Danke
Wargrave
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 16:29
Speicher dir doch die Ampelphase und mach in dem OnTimer-Event ne case-Abfrage
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Wargrave

Registriert seit: 1. Okt 2004
Ort: Krefeld
39 Beiträge
 
#3

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 16:37
Hmm das war mir ne nummer zu schnell als Noob!
Erstens: wo krieg ich ne ampelphase her ?
oder meinst du : rot.visible:=true;
rotgelb.visible:=false;
gruen.visible:=false;
gelb.visible:=false; ???
und was is ne case abfrage?
Sorry bin noch neu auf dem gebiet!
Aber trotzdem danke!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 16:39
Hi Wargrave,

wenn ich mich nicht irre, dann beziehst du dich auf diese Frage.
Du könntest die Tag-Eigenschaft des Timers dazu verwenden:
Im OnTimer
Delphi-Quellcode:
Timer1.Tag := Timer1.Tag + 1;
case Timer1.Tag of
  5: //schalte auf grün
  10: //schalte auf orange
  12: begin
    //schalte auf rot
    Timer1.Tag := 0; //zurücksetzen, der Spaß beginnnt von neuem.
  end;
end;
Kurze Erklärung: Die Werte hängen vom Timer-Intervall ab. Nehmen wir an, du stellst 1000 (entspricht ca. 1 Sekunde) als Intervall ein, dann ist die Ampel 5 Sekunden lang auf Rot, 5 Sekunden lang auf Grün, 2 Sekunden auf Orange und dann beginnt das Spiel von neuem.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Wargrave

Registriert seit: 1. Okt 2004
Ort: Krefeld
39 Beiträge
 
#5

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 16:43
War der Quelltext gerade nicht noch anders?
Ohne case?
Naja mal schaun!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 16:55
Zitat von Wargrave:
War der Quelltext gerade nicht noch anders?
Ohne case?
Ja, war er. Da ich dieses Thema aber erst nach dem Posten der Lösung im anderen Thema gesehen habe, hab ich schnell noch case eingefügt und die Antwort hierher verschoben, da sie hier besser herpasst.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Wargrave

Registriert seit: 1. Okt 2004
Ort: Krefeld
39 Beiträge
 
#7

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 20:06
Ich würde aber gerne nochmal den ausführlichen sehen. Ohne "case" Befehl.

Es hat wunderbar funktioniert aber was habe ich jetzut falsch gemacht?:
-------------------------------------------------------------------------
Delphi-Quellcode:
procedure TForm1.startClick(Sender: TObject);
begin
  if (start.Caption = 'Ampel starten!') //Wenn Caption=Ampel starten!
   then begin
    start.Caption := 'Ampel stoppen!'; //Dann Caption:=Ampel stoppen!
    zeit.Enabled := true; //Dann Timer aktivieren
end
  else begin
    start.Caption := 'Ampel starten!'; //Sonst Caption:=Ampel starten!
    zeit.Enabled := false; //Sonst Timer deaktivieren
end;
end;
procedure TForm1.zeitTimer(Sender: TObject);
begin
if (zeit.Tag= 3)
  then
    rotgelb.visible:=true;
if (zeit.Tag= 4)
  then
    gruen.visible:=true;
if (zeit.Tag= 7)
  then
    gelb.visible:=true;
if (zeit.Tag=8 )
  then
    rot.visible:=true;
if (zeit.Tag=8 )
  then
    zeit.Tag:=0;
end;
end.
--------------------------------
zeit recht häufig an undefiniertes Objeakt als der markiert dann den timer. is aber quatsch!
Bitte nochmal um hilfe.

MFG Wargrave

[edit=Admin]Quellcode in Delphi-Tags gesetzt. Künftig bitte selber machen. Danke Mfg, Daniel[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 20:49
Zitat von Wargrave:
zeit recht häufig an undefiniertes Objeakt als der markiert dann den timer. is aber quatsch!
Tatsache - dieser Satz ist wirklich Quatsch .

Und du solltest die [ delphi]-Tags (ohne Leerzeichen) verwenden um den Code formatiert anzeigen zu lassen. So wie jetzt liest er sich sehr schlecht.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#9

Re: Timer VErständnis Frage!

  Alt 7. Okt 2004, 20:58
Hi Wargrave,

Zitat von Wargrave:
Ich würde aber gerne nochmal den ausführlichen sehen. Ohne "case" Befehl.
Den hast du grad selbst geschrieben

Zitat von Wargrave:
zeit recht häufig an undefiniertes Objeakt als der markiert dann den timer. is aber quatsch!
Ich schätze mal du hast den Timer auf dem Form? und ich schätze auch dass der Timer zeit heißt? Wenn ja, dann ist es quatsch. Wenn nein, dann bessere die Fehler aus. Ich sehe keine anderen Fehler.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Wargrave

Registriert seit: 1. Okt 2004
Ort: Krefeld
39 Beiträge
 
#10

Re: Timer VErständnis Frage!

  Alt 8. Okt 2004, 16:00
Em also das alles ist ja sehr plausibel.
Aber es soll auch möglich sein (also komplizierter) diese Ampel nur mit IF-THEN-ELSE schleifen und timern zu schalten ohne dabei den befehl Timer1.Tag auszunutzen.
weiß einer wie?
  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 06:33 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