Re: Aktion einmalig jeden Tag Kategorie: Programmierung (von Jörg Hansen - 27.10.2009 20:58) | ||
Als Antwort auf Re: Aktion einmalig jeden Tag von ChristianS - 26.10.2009 22:09 | ||
| ||
Hallo zusammen, warum so kompliziert mit Timern? Ich frage einfach ab, ob sich der Wochentag geändert hat. Mache die Berechnung um 4 Uhr, da dann die SZ/WZ Umstellung gelaufen ist und vor 4 Uhr die Sonne eh nie aufgeht. 1) Beim Start das Mainthreads einmal aufrufen (Systemneustart): SASU(); SASUneu = system.day(); 2) Abfrage auf neuen Tag und 4 Uhr z.B. im loop des Mainthreads: if system.day()!= SASUneu and (system.hour() == 4)// Neuer Tag und nach MESZ Umstellungszeit { sleep 500; SASU(); SASUneu = system.day(); }; Funktion zur Berechnung und Terminalsausgabe: //------------------------------------------------------------------------------ function SASU () //Berechnung Sonnenauf- untergangszeiten, feste Geodaten //------------------------------------------------------------------------------ { int time[2]; string s; geo.SaSu(system.year(),system.month(),system.day(),50.71,6.2,0,time); SA=geo.MinuteSerial_to_TimeHHNN(time[0]); SU=geo.MinuteSerial_to_TimeHHNN(time[1]); s = "Sonnenaufgang: "; str.putint(s,SA); hwcom.send(s,23); hwcom.ret(); wait hwcom.ready(); s = "Sonnenuntergang: "; str.putint(s,SU); hwcom.send(s,25); hwcom.ret(); wait hwcom.ready(); } P.S. für SASUneu reicht ein integer vollkommen aus. Vielleicht kanns ja jemand brauchen :-) Viele Grü�e aus Aachen Jörg Hansen | ||
Antwort schreiben Antworten: Re: Aktion einmalig jeden Tag (von ChristianS - 28.10.2009 18:10) Re: Aktion einmalig jeden Tag (von ChristianS - 28.10.2009 20:03) Re: Aktion einmalig jeden Tag (von Jörg Hansen - 29.10.2009 22:33) Re: Aktion einmalig jeden Tag (von ChristianS - 30.10.2009 12:07) |