Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Ampelschaltung mit Case Anweisungen.

  Alt 28. Jan 2007, 15:40
Alternative Zustandsfortschaltung. Es wird ausgenutzt das TAmpelZustand ein Ordinaltyp ist und daher mit Zahlen gerechnet werden kann.
Delphi-Quellcode:
procedure TForm1.TAmpelTimer(Sender: TObject);
begin
  // den Zustand fortschalten
  AmpelZustand := TAmpelZustand((Ord(AmpelZustand) + 1) mod (High(AmpelZustand) + 1));
Erst wird mit Ord(AmpelZustand) der Zustand in eine Zahl umgewandelt und dann um 1 erhoeht. Das Resultat wird mit mod begrenzt (ein Ring der Zustaende wird geformt). Zuletzt wird das Ergebnis wieder in einen Ampelzustand verwandelt.
Das duerfte aber den Lehrer misstrauisch machen. Kein Anfaenger kann das aus dem Aermel schuetteln.
  Mit Zitat antworten Zitat