AGB  ·  Datenschutz  ·  Impressum  







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

Ampelkreuzung

Ein Thema von Danül · begonnen am 7. Apr 2008 · letzter Beitrag vom 26. Nov 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Ampelkreuzung

  Alt 9. Apr 2008, 20:43
Zitat von mkinzler:
Zitat:
2. 30 Timer sind vllt. ein bissel viel, währnd 30 TThread auch nicht grade weniger sind.
Wobei 30 Timer auch 30 Threads sind.
Also mein Task-Manager sagt, dass das nicht stimmt
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Ampelkreuzung

  Alt 9. Apr 2008, 20:50
Seit wann sieht man Threads im Taskmanager
Markus Kinzler
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Ampelkreuzung

  Alt 9. Apr 2008, 20:53
Das kann man einstellen. Und der TTimer der VCL arbeitet mit SetTimer, also ohne Thread.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Ampelkreuzung

  Alt 9. Apr 2008, 20:54
Zitat von mkinzler:
Seit wann sieht man Threads im Taskmanager
Seitdem man im Taskmanager auf Ansicht -> Spalten auswählen.. geklickt hat und Threadanzahl aktiviert hat
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#15

Re: Ampelkreuzung

  Alt 10. Apr 2008, 09:36
Hi
Für die Ampelsteuerung brauchst du exakt 1 Timer. Ja nach Ampel ( Kreuzung mit/Ohne Abbieger, Fußgänger) hast du feste Schritte
Z. einfache Kreuzung
1.Ausgang Quer Grün, Kreuz Rot
2. Quer Gelb, Kreuz Rot
3. Quer Rot, Kreuz Rot
4. Quer Rot, Kreuz Rot-Gelb
5. Quer Rot, Kreuz Grün
6. Quer Rot, Kreuz Gelb
7. Quer Rot, Kreuz Rot
8. Quer Rot-Gelb, Kreuz Rot
9.=1.
Im Ampel-Timer incrementierst du einen Schrittzähler. Wenn du nun hinter die Schritte deine Schrittzeit einträgst, kannst du in deiner Auswertung dem Timerintervall diese Zeit zuweisen und er wird diese Zeit bis zum nächsten Schritt ruhe geben
Am einfachsten baust du für jede Ampelphase eine eigene Procedure. Im Timerevent rufst du diese dann aus einer Case - Anweisung heraus auf
im Timer
Case Schritt of 1: Gruen_Rot; dann die Procedure
Delphi-Quellcode:
Procedure TMyForm.GruenRot;
Begin
  Timer.Intervall:=2000; // 2 Sek z.B. ist nächste Pause
  Ampel_1_QuerRot.Brush.Color:=ClBlack; // bedenke, Die Lampen in der Ampel
  Ampel_1_QuerGelb.Brush.Color:=ClBlack; // gehen aus, sie ändern nicht die Farbe
  Ampel_1_QuerGruen.Brush.Color:=ClLime;
  Ampel_2_QuerRot.Brush.Color:=ClBlack; // 2. Ampel , gleiche Richtung
  Ampel_2_QuerGelb.Brush.Color:=ClBlack;
  Ampel_2_QuerGruen.Brush.Color:=ClLime;
  Ampel_1_KreuzRot.Brush.Color:=ClRed; // 1. Ampel Kreuzverkehr
  Ampel_1_KreuzGelb.Brush.Color:=ClBlack;
  Ampel_1_KreuzGruen.Brush.Color:=ClBlack;
  Ampel_2_KreuzRot.Brush.Color:=ClRed; // 2. Ampel Kreuzverkehr
  Ampel_2_KreuzGelb.Brush.Color:=ClBlack;
  Ampel_2_KreuzGruen.Brush.Color:=ClBlack;
end;
So kanst du die einzelnen Schritte besser übesehen.
Mit Timern für Fußgaänger und 2 für Fahrzeuge ( langsam und schnell sowie ein bischen Mathematik ) bist du schon auf 5 Timer geschrumpft und dürftest eine relativ dynamische Ansicht erreichen.
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat
Danül

Registriert seit: 29. Mär 2008
14 Beiträge
 
#16

Re: Ampelkreuzung

  Alt 10. Apr 2008, 20:27
uiiiii

vielen Dank für deine Mühe, ich werds direkt ausprobieren. Hab auch nun einige Timer schon streichen können

grüße Danül
  Mit Zitat antworten Zitat
bordon5

Registriert seit: 26. Nov 2008
2 Beiträge
 
#17

Re: Ampelkreuzung

  Alt 26. Nov 2008, 14:35
hey leute...

also ich brauche die zeiten einer ampelkreuzung,da ich keine lust habe sie zu stoppen ;D
deswegen wollte ich euch mal fragen ob sie jemand für mich perrat hat...?
  Mit Zitat antworten Zitat
ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#18

Re: Ampelkreuzung

  Alt 26. Nov 2008, 15:06
Siehe eine Seite weiter vorn:
Zitat von Danül:
Sagen wir Grün soll 30sek dauern, orange dann 5 und rot 15.
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#19

Re: Ampelkreuzung

  Alt 26. Nov 2008, 15:33
Zitat von Danül:
Sagen wir Grün soll 30sek dauern, orange dann 5 und rot 15. Wie realisier ich dass dort mit dem Timer?
Dafür gibt es 2 "einfache" Lösungen:

- den "Timer" nicht mit einem gleichmäßigem Intervall laufen lassen, sondern jeweils mit nötigem TimeOut (aktuelle Zeit bis zur nächsten Umschaltung) starten.

- einen Timer mit maximal dem größten gemeinsamen Teiler laufen lassen und und die einzelnen Zeitabschnitte in entsprechende Intervalle umsetzen
Zitat:
Timer-Intetvall = 5s

6x Grün (30s)
1x Gelb (5s)
3x Rot (15s)
ja und wo kommt bitte das Orange, bei 'ner Ampel, her?
$2B or not $2B
  Mit Zitat antworten Zitat
Frankfurtoder

Registriert seit: 27. Mär 2008
112 Beiträge
 
RAD-Studio 2010 Pro
 
#20

Re: Ampelkreuzung

  Alt 26. Nov 2008, 15:36
Wenn die Ampel von rot auf grün wechselt, wird auch erst rot einzeln, dann rot zusammen mit gelb und anschließend nur grün angezeigt. Von grün auf rot werden die Farben nur einzeln angezeigt.
Erik
Alles gut?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:15 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