Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Ampelschaltung (https://www.delphipraxis.net/154917-ampelschaltung.html)

NewDelphiBenutzer 30. Sep 2010 16:35

Ampelschaltung
 
Also ich habe folgendes Problem. Es ist glaub ich ganz einfach zu löse, aber ich habe kein plan wie.
Ich soll ein Programm amchen mit einem einzigen Button. Das soll das Formular die Farbe wie eine Ampel ändern lassen. Also wenn ich raufklicke soll es erst grün, beim nächsten Klick gelb,beim nächsten Klick Rot,beim nächsten Klick wieder gelb, beim nächsten Klick Grün, und das soll immer wieder von vorne gehen wie halt ne richtige Ampel. Und wir amchen graden Verzweigungen also das mit If, then else und so sollte eigentlich ganz einfach sein. Kann mir jemadn irgendwie beim Quelltextr helfen oder den hier reinschreiben? wäre nett
lg Alex ;)

Luckie 30. Sep 2010 16:42

AW: Ampelschaltung
 
Klar können wir beim Quelltext helfen. Nur solltest du dann auch deinen Quelltext posten und sagen, was nicht funktioniert.

Und noch ein Tipp, gib mal Ampel in der Suche ein.

p80286 30. Sep 2010 16:44

AW: Ampelschaltung
 
Ich würde das ungefähr so lösen:

Delphi-Quellcode:
Farbarray [0..3] of farben = (grün,gelb,rot,gelb);

....
 Anzeigefarbe:=Farben[Klickzaehler and 3];
Gruß
K-H

Luckie 30. Sep 2010 16:51

AW: Ampelschaltung
 
Ich glaube, es geht dem Lehrer um die if-Verzweigung.

NewDelphiBenutzer 30. Sep 2010 17:01

AW: Ampelschaltung
 
jaa also ich habe eigentlichn noch kaum was geschafft
bei mir stande bis jetzt nur das mit
if button.color=clgreen;
then button.color:=yellow;
else button.color;=green;
und dann konnte man schon mal von nix auf grün und dann auf gelb schalten
und danach wusste ich nicht wie es weiter geht das man auf rot macht danach weil bei mir wurde es dann beim ersten klick rot :S

NewDelphiBenutzer 30. Sep 2010 17:05

AW: Ampelschaltung
 
ups sorry ich meinte
if formular.color=clgreen;
then formular.color:=yellow;
else formular.color;=green;
und dann konnte man schon mal von nix auf grün und dann auf gelb schalten
und danach wusste ich nicht wie es weiter geht das man auf rot macht danach weil bei mir wurde es dann beim ersten klick rot :S





ICh weiß nicht, wie man das mitm Quelltext einfügt. :S
auf jeden fall soll ich ein Programm machen das mit nur einem button funktioniert
er soll die farbe bei jedem klick ändern wie eine Ampel

Luckie 30. Sep 2010 17:10

AW: Ampelschaltung
 
Du kannst deine Beiträge innerhalb von 24 Stunden editieren. Du musst also nicht jedes mal einen neuen Beitrag erstellen. Und bitte benutze Delphi-Tags für deinen Delphi-Code.

Versuch doch erst mal das ganze auf Papier aufzuschreiben oder in einem Flussdiagramm darzustellen.

p80286 30. Sep 2010 17:11

AW: Ampelschaltung
 
Na dann vielleicht so:

Code:
wenn Farbe=Grün dann Farbe=gelb
wenn Farbe=Gelb dann
  wenn Vorgängerfarbe=grün dann Farbe=rot
  wenn Vorgängerfarbe=rot dann Farbe=grün
wenn Farbe=rot dann Farbe=grün
Gruß
K-H

NewDelphiBenutzer 30. Sep 2010 17:41

AW: Ampelschaltung
 
ja wie soll ich das denn schreiben
es wird dann immer sofort rot und nicht erst grün und gelb

xZise 30. Sep 2010 17:46

AW: Ampelschaltung
 
Ganz einfach in dem du seinen Code in Delphi schreibst ;)

Du musst zuerst die Farbe auf deinen gewünschten Startwert setzen (rot wäre wohl das "sicherste"). Das kannst du im FormCreate machen (doppelklick auf das Formular).

Dann übersetzt du den Code in Delphi (das sind nur ifs und elses :stupid: ) und lässt den ausführen, wenn man auf den Button klickt. Das sollte dann funktionieren. Ansonsten brauchen wir mehr Code.

Besonders dein zweiter Code sieht sehr interessant aus:
Delphi-Quellcode:
if formular.color=clgreen;
then formular.color:=yellow;
else formular.color;=green;
Heißt: Wenn das Formular Grün ist, dann mache es Gelb, ansonsten mache es Grün. D.h. wenn es gelb oder rot ist, wird es sofort Grün.

MfG
Fabian


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.
Seite 1 von 2  1 2      

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