Menu schließen

visual basic ampel schaltung

Frage: visual basic ampel schaltung
(1 Antwort)


Autor
Beiträge 6
0
Nach dem Google keine richtigen Erfolge gebracht hat versuche ich`s einfach mal hier.

Ich geh noch zur Schule dort haben wir mit Visual Basic angefangen, jedoch komme ich 
nun nicht 
mehr recht mit.
Ich soll eine ganz einfache Ampelschaltung machen.
Jedoch ist das Problem das ich nicht so recht weiter komme.

Es sollen mit 3 commandbuttons die ampelphasen rot rot und gelb und dann grün 
programmiert werden.

Durch klick auf den ersten rot ,der 2 rot gelb und der 3 grün und die anderen beiden Ampel 
Lampen gehen "aus sollen wieder schwarz werden.

So nun meine ich das ,dass ganze noch mit if then Else kombiniert wurde jedoch,da dass 
Thema noch neu ist ,habe ich keine so Rechte Idee wie ich das mache.

Was ich hab bisher
Privat sub Command1_click()
Shape1.backcolor=farbcode rot 

End sub 
Privat sub Command2_click()
Shape1.backcolor=farbcode rot
Shape2.backcolor=farbcode gelb
End sub


Privat sub Command3_click()
Shape1.backcolor=farbcode schwarz
Shape2.backcolor=farbcode schwarz
Shape3.backcolor=farbcode grün
End sub 
Die "roh" Version habe ich ,jedoch ohne if Then else

Vlt kann mir wer helfen
Frage von Alexander109 | am 09.06.2015 - 14:16


Autor
Beiträge 74
6
Antwort von Colirbi | 09.06.2015 - 16:25
Moin,

ich habe zwar keine VB Erfahrungen, aber im Grunde sind ja alle Programmiersprachen gleich.

Soweit ich das verstehe sollst du wirklich 3 Buttons haben für 3 Phasen.
Und dein Lehrer will jetzt, dass du den Code oben mit if else baust?
Falls das der Fall ist kannst du folgendes machen.

Ein if- else Konstrukt würde dir hier ersparen, dass du 3 Sub-Routinen machen musst, du würdest dabei mit einer auskommen.

Da du sagst du kommst nicht so recht mit erkläre ich mal kurz wie if-else funktioniert:
Das Statement sieht wie folgt aus:
If [Bedingung] Then  
Do Sth.
End   If

So das Programm überprüft zunächst deine Bedingung. Ist diese wahr, wird das Programm ab then weiter bis end if ausgeführt.
Das ganze lässt sich nun noch mit else kombinieren:

If [Bedingung] Then  
 do sth.
Else
 do sth else
End   If

Ist deine Bedingung nicht wahr, so wird der if then Teil übersprungen und ab else bis end if weiter gemacht.

Die Dritte Variante ist das was du nun brauchst. Ein sogenanntes elseif:

If [Bedingung1] Then
  If [Bedingung1.1] Then 
    do sth.
  Else 
    do sth. else 
 End   If  
ElseIf [Bedingung2] Then  
 If [Bedingung2.1] Then  
   do sth. 
 Else
  do sth. else 
 End   If  
Else 
 do sth else.  
End   If

Und nun mal ein (sinnloses) Beispiel:

If dayW = DayOfWeek.Wednesday Then
  If hour = 14 Or hour = 15 Then 
    Return   True 
  Else 
    Return   False 
 End   If  
ElseIf dayW = DayOfWeek.Thursday Then  
 If hour = 12 Then  
   Return   True  
 Else
  Return   False 
 End   If  
Else 
 Return   False  
End   If

Und nichts anderes brauchst du. Du schreibst nun statt 3 Routinen nur noch eine und fragst dann so etwas wie Button1clicked? Button2clicked? etc.

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN:
BELIEBTE DOWNLOADS: