AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ampelschaltung

Ein Thema von NewDelphiBenutzer · begonnen am 30. Sep 2010 · letzter Beitrag vom 30. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Ampelschaltung

  Alt 30. Sep 2010, 16:51
Ich glaube, es geht dem Lehrer um die if-Verzweigung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
NewDelphiBenutzer

Registriert seit: 30. Sep 2010
14 Beiträge
 
#2

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:01
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
  Mit Zitat antworten Zitat
NewDelphiBenutzer

Registriert seit: 30. Sep 2010
14 Beiträge
 
#3

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:05
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

Geändert von NewDelphiBenutzer (30. Sep 2010 um 17:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:10
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:11
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
NewDelphiBenutzer

Registriert seit: 30. Sep 2010
14 Beiträge
 
#6

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:41
ja wie soll ich das denn schreiben
es wird dann immer sofort rot und nicht erst grün und gelb
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#7

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:54
Wie war das mit Flussdiagramm? Rot - Gelb - Grün - Gelb (sind 4 Zustände)

So, wie kommt man jetzt von dem ersten Zustand auf den nächsten? Ganz einfach. Zuerst definiert man, dass man sich beim 1. Zustand befindet. Die Ampel ist also rot.
Delphi-Quellcode:
AmpelFeld.Color := clRed;
Zustand := 1;
So, jetzt wird der Button gedrückt. Dadurch änderst du zuerst den Zustand.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Zustand := Zustand + 1; // Zustand ist eine globale Variable (var Zustand: Integer)
  if Zustand > 4 then
    Zustand := 1;
So, jetzt gehst du immer wieder alle Zustände durch. Visuell passiert jetzt noch nichts. Das kommt jetzt erst:
Delphi-Quellcode:
  if (Zustand = 1) then // Ampel wird ROT
    AmpelFeld.Color := clRed;

  if (Zustand = 2) then // Ampel wird das erste mal Gelb (oder Rot/Gelb)
    AmpelFeld.Color := clYellow;

  if (Zustand = 3) then // Ampel wird grün
    AmpelFeld.Color := clGreen;

  if (Zustand = 4) then // Ampel wird das 2. Mal Gelb
    AmpelFeld.Color := clYellow;
end;
So, jetzt musst du das erst einmal verstehen. Dazu erklärst DU mir mal, was der obrige Code macht.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:46
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 ) 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
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
NewDelphiBenutzer

Registriert seit: 30. Sep 2010
14 Beiträge
 
#9

AW: Ampelschaltung

  Alt 30. Sep 2010, 17:55
das ist mein quelltext keine ahnugn wie man den anders einfügt


procedure TForm1.AmpelBtnClick(Sender: TObject);
begin
if form1.color=clgreen
then form1.color:=clyellow
else form1.color:=clgreen;
if form1.color=clyellow
then form1.color:=clred;



end;




aber das geht auch nicht es wird einfach grün dann rot dann wieder grün und ich weiß nichjt wie man das ändert
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#10

AW: Ampelschaltung

  Alt 30. Sep 2010, 18:09
Delphi-Quellcode:
if form1.color=clgreen then
  form1.color:=clyellow
else
  form1.color:=clgreen;

if form1.color=clyellow then
  form1.color:=clred;
Oben setzt du es auf gelb, wenn es grün ist. Direkt da drunter gehst du auf rot, wenn es gelb ist. Du springst also immer von gelb auf rot. Wenn man seinen Code etwas strukturiert wie in diesem Post fällt sowas auch auf. Und nimm dir die Anregungen hier doch bitte etwas zu Herzen, besonders das mit den Delphi-Tags... Dieses Husch-Pfusch-Verhalten und Hauptsache die Aufgabe fertig bekommen wird dich nicht weiter bringen, weder beim lernen von Delphi, noch bei der Hilfsbereitschaft der anderen Helfer hier...
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz