AGB  ·  Datenschutz  ·  Impressum  







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

Case und Schleife??

Ein Thema von Sankar · begonnen am 21. Nov 2006 · letzter Beitrag vom 21. Nov 2006
Antwort Antwort
Sankar

Registriert seit: 9. Nov 2006
Ort: Biberach
8 Beiträge
 
Delphi 2005 Architect
 
#1

Case und Schleife??

  Alt 21. Nov 2006, 16:42
So hallo Leute,

Ich hab hier mal ein kleines Problem und hoffe ihr könnt mir dabei helfen.

Also als erstes mal soll das Programm folgendes machen:

Mit Hilfe eines Timers und einer Case-Anweisung möchte ich mit dem Programm eine Art Ampel darstellen.
Dies funktioniert soweit auch wunderbar!
Es läuft auch ein Zähler mit damit ich die einzelnen Schritte nachvollziehen kann!
Das heißt beim Klick auf den Button wird der Timer auf true gesetzt.
Dort wird dann folgendes ausgeführt:
1: Rot
2: Gelb/Rot
3: gelb
4: Grün
5: Gelb

Delphi-Quellcode:
begin
Lb_date.Caption := TimeToStr(Now());
Lb_zaehler1.Caption:=inttostr(zaehler);
zaehler:=zaehler+1;


  case zaehler of

    1:
    begin
      Pn_green.color:=clBtnFace;
      Pn_yellow.Color:=clBtnFace;
      Pn_red.Color:=clred;
    end;

    2:
    begin
      Pn_green.color:=clBtnFace;
      Pn_yellow.color:=clyellow;
    end;

    3:
    begin
      Pn_red.color:=clBtnFace;
      Pn_yellow.Color:=clyellow;
      Pn_green.color:=clBtnFace;
    end;
    4:
    begin
      Pn_red.color:=clBtnFace;
      Pn_yellow.color:=clBtnFace;
      Pn_green.Color:=clgreen;
    end;
    5:
    begin
      Pn_red.color:=clBtnFace;
      Pn_green.Color:=clBtnFace;
      Pn_yellow.Color:=clyellow;
    end;
  end;

end;


procedure TForm1.Btn_startClick(Sender: TObject);
begin
Timer1.enabled:=true;
end;


Soweit läuft es auch wunderbar nur möchte ich jetzt, dass das programm nach der ausführung von 5 wieder mit 1 beginnt.
Hab es versucht in eine Schleife zu schreiben doch das hat nicht so richtig wollen! Deshalb frag ich euch mal an dieser Stelle wie ihr das Umsetzen würdet!

Schonmal vielen Dank im vorraus!

mfg Sankar
Kevin
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Case und Schleife??

  Alt 21. Nov 2006, 16:46
Delphi-Quellcode:
   5:
    begin
      Pn_red.color:=clBtnFace;
      Pn_green.Color:=clBtnFace;
      Pn_yellow.Color:=clyellow;
      zaehler:=0;
    end;
  end;
Sollte doch so gehen, oder?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Case und Schleife??

  Alt 21. Nov 2006, 16:46
zaehler:=(zaehler-1) mod 5+1; EDIT: Wenn dann schon zaehler:=1;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Case und Schleife??

  Alt 21. Nov 2006, 16:48
Zitat von 3_of_8:
zaehler:=(zaehler-1) mod 5+1; EDIT: Wenn dann schon zaehler:=1;
Wieso nicht (z mod 5)+1?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Case und Schleife??

  Alt 21. Nov 2006, 16:51
@3_of_8

Zitat von 3_of_8:
zaehler:=(zaehler-1) mod 5+1; EDIT: Wenn dann schon zaehler:=1; ;)
Warum wenn im Prozeduranfang "zaehler:=zaehler+1; " steht?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Case und Schleife??

  Alt 21. Nov 2006, 16:52
Ich hab nicht genau nachgeschaut, wie das Inkrementieren gemacht wird.

Natürlich kann man das inkrementieren und die Restanweisung...
Delphi-Quellcode:
zaehler:=zaehler+1;
zaehler:=(zaehler-1) mod 5+1;
...zusammenfassen in:
zaehler:=zaehler mod 5+1; EDIT: mist, stimmt... ich bin irgendwie atm auch ned so ganz auf der Höhe meiner Konzentrationsfähigkeit. ^^
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Sankar

Registriert seit: 9. Nov 2006
Ort: Biberach
8 Beiträge
 
Delphi 2005 Architect
 
#7

Re: Case und Schleife??

  Alt 21. Nov 2006, 16:54
Ich danke euch vielmals!!! Man an die einfachsten Dinge denkt man irgendwie immer zuletzt! Ich zumindest!
Vielen Dank! Optimial!

mfg Sankar
Kevin
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:45 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