- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 39

Thema: Uhr mit Tagen

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    19.02.2010
    Beiträge
    67
    Anzeige

    Praxistest und DIY Projekte
    versuch mal das Jahr nur zweistellig - also anstelle 2010 nur 10.
    J und I sind nur Variablen die Temporär belegt sind - also deren Ergebnis am Ende keine Rolle spielt.

    Was du mit deinem Code im letzten Post vorhast verstehe ich leider nicht.
    klar, alle 24 Stunden muss man den Tag einmal inkrementieren. damit würdest du eine fortlaufende Zahl erreichen, die jeden Tag um 1 anwächst.
    Diese ließe sich auch wieder bei 8 umbrechen (if Tag>=8 then Tag=1) und du könntest mit Lookup oder Case nach dem dazugehörigen Wochentag schauen.

    Dann musst du aber jedes mal die Uhr vor- und zurückstellen um rauszukriegen was morgen für ein Wochentag ist, oder Heiligabend.

    Gruß BoGe-Ro

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    hi
    also mit lookup und case kenne ich mich nicht aus sorry.
    Kanst mir vieleicht ein beispiel aufzeien?
    Also sin der ganzen sache ist es das ich 1. im display die akutelle zeit steht unbd 2tens zum bestimten zeiten an bestimmten tagen aktionen ausgeführt werden z.b. Led's dimmen und co.

    gruß Dominik

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.03.2008
    Ort
    Huntlosen
    Alter
    32
    Beiträge
    391
    also das geht alles, wie gesagt, am einfachsten ist es warscheinlich mit einer switch case anweisung oder gleich mehreren verschachtelten. Musst du einfach mal die Bascomhilfe aufschlagen und nach SWITCH-CASE suchen. Dort ist das erklärt, oder bei Wiki Switch anweisung eingeben.

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    also bei der Wiki finde ich nichts unter switch anweisung.
    bei Bascom unter hilfe kommt wenn ich nach switch Suche kein treffer
    Irgendwie stehe ich auf dem schlauch

  5. #15
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.03.2008
    Ort
    Huntlosen
    Alter
    32
    Beiträge
    391
    ok also das Ding heißt unter Bascom:

    SELECT-CASE-END SELECT

    Sorry hier heißt das etwas anders als in C, naja und i wie habe ich mir angewöhnt dazu switch anweisung zu sagen.
    Eine Switch anweisung ist im prinzip eine mehrfache if anweisung: Select Case [Variable]
    Wo Variable steht schreibste das rein, was er überprüfen soll,
    hinter CASE schreibste rein, was die Variable für ein Wert haben soll, z.B. 3, also wenn die in der Variable eine 3 steht, führt er alles aus, was im Case steht.

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    Danke dir,

    also z.b. select case 8 [Tag]
    tag = tag - 7
    dann würde gefrüft ob die variable tag den wert 8 hatt, und fals ja würde der wert auf zurückgesetzt. soweit sogut. Ist ja fast das slebe wie mit if then...

    aber wie verknüpfe ich das mit den wochentagen wie montag oder mittwoch?
    lookup und case wurde oben geschireben, aber da habe ich keine ahnung von

  7. #17
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.03.2008
    Ort
    Huntlosen
    Alter
    32
    Beiträge
    391
    ohh man mach doch einfach n kleinen zähler der da sagt:

    If stunde = 24 then
    stunde= 0
    tag = tag +1
    end if

    select case tag
    case 1 : Print "Montag"
    case 2 : Print "Dienstag"
    .
    .
    .
    dann noch ne kleine if anweisung:

    if tag >7 then
    tag = 0
    woche = woche +1
    end if
    dann haste sogar n Kalenderwochenzähler noch mit drin
    kannst natürlich auch weglassen und so einfach tag auf 0 setzen.
    Kannst das auch so machen, das du mit Case Else arbeitest , da würdest du dir die eine if anweisung sparen und einfach sagen:

    case select : tag = 0

    gruß Hunni

  8. #18
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    hey danke Hunni, hat mir SEHR geholfen.
    Aber ein kleines problem habe ich noch.
    ich habe in meinem timer die anweisung:
    Print Stunde ; ":" ; Minute ; ":" ; Sekunde
    also werden jede sekunden die akutellen daten ausgegeben.
    Ist es möglich das ich da auch den Wochtenag reinbekomme?
    Weil die select case tag anweisung stände dann ja extra, und es whre besser wens alles hinernander in einer reihe geschhrieben würde.

    gruß Dominik

  9. #19
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.03.2008
    Ort
    Huntlosen
    Alter
    32
    Beiträge
    391
    nah kla, die einfachste möglickeit wäre einfach noch eine word variable zu erzeugen und anstatt dem case 1: Print "BLA" einfach nur:

    DIM Wochentag as Word
    .
    .
    .den ganzen anderen kram
    .
    case 1 : Wochentag = "Montag"

    und das bindest du einfach dann in deine Printanweisung ein:
    Print Stunde ; ":" ; Minute ; ":" ; Sekunde;":";Wochentag

  10. #20
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    Danke
    habe jetzt die printanweisung :
    Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag

    und oben in meiner do loop schleife:
    Taste = Tastenabfrage()
    If Taste <> 0 Then

    Select Case Taste
    Case 1
    Call Plussekunde
    Case 2
    Call Plusminute
    Case 3
    Call Plusstunde
    Case 4
    Call Clockstart

    End Select
    Sound Portd.7 , 400 , 500 'BEEP
    End If
    Waitms 100

    If Sekunde = 60 Then
    Sekunde = 0
    Minute = Minute + 1
    Else
    End If

    If Minute = 60 Then
    Minute = 0
    Stunde = Stunde + 1
    Else
    End If

    If Stunde = 24 Then
    Stunde = 0
    Tag = Tag + 1
    End If

    select case tag
    Case 1 : Wochentag = "Montag"
    Case 2 : Wochentag = "Dienstag"
    Case 3 : Wochentag = "Mittwoch"
    Case 4 : Wochentag = "Donnerstag"
    Case 5 : Wochentag = "Freitag"
    Case 6 : Wochentag = "Samstag"
    Case 7 : Wochentag = "Sonntag"
    End Select

    jetzt habe ich aber errors: 2x error 242 in den folgenden eilen:

    Case 1 : Wochentag = "Montag"
    Case 2 : Wochentag = "Dienstag"

    und nochmal error 7 und 269 in der Case 2 : Wochentag = "Dienstag" eile.

    K.a. wie ich die beseitiegen kann.

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests