Forum: Mikrocontroller und Digitale Elektronik Bascom if then Anweisung


von Thomas (Gast)


Lesenswert?

Hallo Leute, nach dem ich diverse Beiträge durchgeforstet habe und 
nichts gefunden habe, wende ich mich an Euch.

Ich habe folgende Bascom Anfängerfrage.

Ich möchte folgendes realisieren :

Wenn 3 Parameter bestimmten Werte erreicht haben, sollen diese auf Null 
gesetzt werden ( Uhr Reset )

Bsp:

If Hour = 23 And Min = 59 And Sec = 59 Then
Hour = 00 And Min =00 And Sec = 00
End If

So funktioniert nicht...Mit Select Case, wirds auch nicht....Wie könnte 
ich es elegant lösen ?

Code ist extrem simpel gehalten ( Zähler zählt von 0 bis 59 dann addiere 
1 zur Minute usw...Augabe über LCD funzt soweit so gut...

: Verschoben durch User
von Oliver (Gast)


Lesenswert?

a) ein beliebiges Basic-Tutorial für Einsteiger durcharbeiten
b) das richtige Forum wählen (hier ist die Codesammlung)

Oliver

von Karl H. (kbuchegg)


Lesenswert?

Frage verschoben

von Paul Baumann (Gast)


Lesenswert?

If Hour = 23 And Min = 59 And Sec = 59 Then
Hour = 0
Min =0
Sec = 0
End If

Oder so:
If Hour=23 then
   If Min=59 then
      If Sec=59 Then
          Hour = 0
          Min =0
          Sec = 0
      End if
   End if
End if

MfG Paul

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:

> Code ist extrem simpel gehalten ( Zähler zählt von 0 bis 59 dann addiere
> 1 zur Minute usw...Augabe über LCD funzt soweit so gut...

Normalerweise stellt sich dein Problem gar nicht, wenn du die 
Weiterschaltungen richtig hast
1
   Sec = Sec + 1
2
   if Sec = 60 then
3
     Sec = 0
4
     Min = Min + 1
5
     if Min = 60 then
6
       Min = 0
7
       Hour = Hour + 1
8
       if Hour = 24 then
9
         Hour = 0
10
       end if
11
     end if
12
   end if

so regelt sich alles ganz von alleine

1
Hour = 00 And Min =00 And Sec = 00
Äh, nein. Das funktioniert so nicht. And ist die logische Verknüpfung 
2-er Teilausdrücke und nicht 'führe das aus UND führe das aus'. Wenn du 
mehrere Anweisungen hast, die ausgeführt werden sollen, dann schreib sie 
einfach in der richtigen Reihenfolge untereinander.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

>dann schreib sie einfach in der richtigen Reihenfolge untereinander.

oder mit Doppelpunkten trennen.

XY=10 : PRINT "HELLO WORLD" : AB=XY

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.