Hi,
die Variablen für die kalten Tage, heißen Tagen usw... werden ja automatisch aktualisiert, wenn nachts nach 0 Uhr die Internetdateien aktualisiert werden.
Allerdings habe ich das Problem, daß bei mir %ws_uldays_y%
(mit benutzerdefiniertem Grenzwert <= xxx) nicht automatisch aktualisiert wird, sondern nur, wenn man selbst manuell auf "Internet-Daten aktualisieren" klickt.
Mache ich da irgendwas falsch oder ist das so?
Viele Grüße
Adris
Aktualisierung von Variable
Moderatoren: Werner, Tex, weneu
- weneu
- Site Admin
- Beiträge: 11572
- Registriert: 22 Feb 2002 01:00
- Wohnort: Donauwörth
- Danksagung erhalten: 18 mal
- Kontaktdaten:
Hallo Adris,
konnte deine Angaben noch nicht nachprüfen, da bei mir die Variable eigentlich immer aktuell ist.
Könnte es sein, dass du den Haken bei "Internet - Einstellungen - Allgemeines" und dort im Feld "automatsch Internetdateien aktualisieren" nicht gesetzt hast? (bzw. bei "Steuerung - Einstellungen - Transferoptionen")
konnte deine Angaben noch nicht nachprüfen, da bei mir die Variable eigentlich immer aktuell ist.
Könnte es sein, dass du den Haken bei "Internet - Einstellungen - Allgemeines" und dort im Feld "automatsch Internetdateien aktualisieren" nicht gesetzt hast? (bzw. bei "Steuerung - Einstellungen - Transferoptionen")
-
adris
Hi Werner,
bei Internet-Einstellungen ist das Häkchen gesetzt bei "Internetdateien autom. aktualisieren".
Deshalb wird auch immer kurz nach 0 Uhr alles aktualisiert, nur der benutzerdefinerte nicht.
Auch wenn ich auf Wetter-Statistikdaten gehe, ist bei warmen, heißen Tagen... alles aktuell, aber bei dem bentzerdef. Kältewert leider nicht.
gruß
Adris
bei Internet-Einstellungen ist das Häkchen gesetzt bei "Internetdateien autom. aktualisieren".
Deshalb wird auch immer kurz nach 0 Uhr alles aktualisiert, nur der benutzerdefinerte nicht.
Auch wenn ich auf Wetter-Statistikdaten gehe, ist bei warmen, heißen Tagen... alles aktuell, aber bei dem bentzerdef. Kältewert leider nicht.
gruß
Adris
-
adris
Hallo Werner,
es funktioniert doch alles richtig. der Fehler lag bei mir.
ich hatte bei den tropischen Nächten 1 mehr erhalten als ich manuell abgezählt hatte. deshalb dachte ich, daß die Variable nicht aktualisiert wird über Nacht. Ich hatte nicht beachtet, daß bei den Statistiken der aktuelle Tag nicht dazuzählt, sondern es nur bis zum Vortag geht.
Und deshalb gibt es einen Fehler mit den tropischen Nächten des aktuellen Jahres:
richtig muss es heissen:
%ws_setmem[1]=%ws_calc[-]=%ws_dayyear%~%ws_uldays_y%~0%%
%ws_setmem[2]=%ws_calc[-]=%ws_getmem[1]%~1~0%%
d.h. man muss vom Ergebnis 1 Tag abziehen.
bei de trop. Nächten des Vorjahres bleibt alles beim alten.
gruß
Adris
es funktioniert doch alles richtig. der Fehler lag bei mir.
ich hatte bei den tropischen Nächten 1 mehr erhalten als ich manuell abgezählt hatte. deshalb dachte ich, daß die Variable nicht aktualisiert wird über Nacht. Ich hatte nicht beachtet, daß bei den Statistiken der aktuelle Tag nicht dazuzählt, sondern es nur bis zum Vortag geht.
Und deshalb gibt es einen Fehler mit den tropischen Nächten des aktuellen Jahres:
richtig muss es heissen:
%ws_setmem[1]=%ws_calc[-]=%ws_dayyear%~%ws_uldays_y%~0%%
%ws_setmem[2]=%ws_calc[-]=%ws_getmem[1]%~1~0%%
d.h. man muss vom Ergebnis 1 Tag abziehen.
bei de trop. Nächten des Vorjahres bleibt alles beim alten.
gruß
Adris
- weneu
- Site Admin
- Beiträge: 11572
- Registriert: 22 Feb 2002 01:00
- Wohnort: Donauwörth
- Danksagung erhalten: 18 mal
- Kontaktdaten:
Hallo Adris,
wollte gerade antworten, dass alles richtig aktualisiert wird (habe extra mal über Nacht gewartet, damit ich nichts von Hand auslösen musste), da sehe ich dein Posting.
Da sieht man wieder mal, dass der Teufel im Detail steckt. Was mir auch noch nicht ganz gefällt (es soll ja bei uns in Deutschland immer alles perfekt sein
), dass das Schaltjahr (366 anstatt 365) nicht berücksichtigt wird. Könnte man zwar mit Sicherheit auch lösen, aber ob der Aufwand dafür steht?
wollte gerade antworten, dass alles richtig aktualisiert wird (habe extra mal über Nacht gewartet, damit ich nichts von Hand auslösen musste), da sehe ich dein Posting.
Da sieht man wieder mal, dass der Teufel im Detail steckt. Was mir auch noch nicht ganz gefällt (es soll ja bei uns in Deutschland immer alles perfekt sein
-
adris
Hallo Werner,
das Problem mit dem Schaltjahr kann man mit der mathematischen Funktion "modulo" lösen.
d.h.:
Das aktuelle Jahr minus 1 ergibt Vorjahr.
Nun kann man den Wert des Vorjahres durch 4 dividieren.
Ergibt der Divisions-Rest 0, dann hat man ein Schaltjahr, sonst kein Schaltjahr.
Bsp.: 2004 mod 4 = 0
2003 mod 4 = 3
Dank Werners neuen Variablen läßt sich das algorithmisch folgendermaßen lösen:
%ws_setmem[21]=%ws_calc[-]=%ws_year%~1~0%%
%ws_setmem[17]=%ws_calc[/]=%ws_getmem[21]%~4~0%%
%ws_setmem[18]=%ws_calc[*]=%ws_getmem[17]%~4~0%%
%ws_setmem[19]=%ws_calc[-]=%ws_getmem[21]%~ws_getmem[18]~0%%
%ws_setmem[16]=%ws_calc[-]=365~%ws_ly_uldays_y%~0%%
%ws_setmem[20]=%ws_calc[-]=366~%ws_ly_uldays_y%~0%%
%ws_compare[3]=%ws_getmem[19]~0~%ws_getmem[20]%~%ws_getmem[16]%[/b]
Leider bin ich gerade nicht zu Hause an meinem PC, kann ich also im Moment nicht testen, aber ich habe es gerade im Kopf durch gespielt,
sollte alles funktionieren, wenn ich keine Tip-Fehler habe und kein %-Zeichen vergessen habe.
Viele Grüße
Adris
das Problem mit dem Schaltjahr kann man mit der mathematischen Funktion "modulo" lösen.
d.h.:
Das aktuelle Jahr minus 1 ergibt Vorjahr.
Nun kann man den Wert des Vorjahres durch 4 dividieren.
Ergibt der Divisions-Rest 0, dann hat man ein Schaltjahr, sonst kein Schaltjahr.
Bsp.: 2004 mod 4 = 0
2003 mod 4 = 3
Dank Werners neuen Variablen läßt sich das algorithmisch folgendermaßen lösen:
%ws_setmem[21]=%ws_calc[-]=%ws_year%~1~0%%
%ws_setmem[17]=%ws_calc[/]=%ws_getmem[21]%~4~0%%
%ws_setmem[18]=%ws_calc[*]=%ws_getmem[17]%~4~0%%
%ws_setmem[19]=%ws_calc[-]=%ws_getmem[21]%~ws_getmem[18]~0%%
%ws_setmem[16]=%ws_calc[-]=365~%ws_ly_uldays_y%~0%%
%ws_setmem[20]=%ws_calc[-]=366~%ws_ly_uldays_y%~0%%
%ws_compare[3]=%ws_getmem[19]~0~%ws_getmem[20]%~%ws_getmem[16]%[/b]
Leider bin ich gerade nicht zu Hause an meinem PC, kann ich also im Moment nicht testen, aber ich habe es gerade im Kopf durch gespielt,
sollte alles funktionieren, wenn ich keine Tip-Fehler habe und kein %-Zeichen vergessen habe.
Viele Grüße
Adris
- weneu
- Site Admin
- Beiträge: 11572
- Registriert: 22 Feb 2002 01:00
- Wohnort: Donauwörth
- Danksagung erhalten: 18 mal
- Kontaktdaten:
Hallo Adris,
es sollte bis auf eine Kleinigkeit klappen: ich vermute, du hast nicht berücksichtigt, das WSWIN rundet.
Man sollte also nicht
%ws_setmem[17]=%ws_calc[/]=%ws_getmem[21]%~4~0%%
schreiben, sondern
%ws_setmem[17]=%ws_calc[/]=%ws_getmem[21]%~4~1%%
Prüfe es mal mit 2004 und 2005 durch, denn dann erhältst du durch den Rundungseffekt (wenn man als testjahre mal 2004 und 2005 nimmt) bei 2004 nicht den Wert 500, sondern 501 und genau das passt dann nicht, denn 2005 ergibt ja auch 501.
Wenn dagegen auf eine Stelle ausgegeben wird, erhältst du 500,8 und 501 und die Rechnung passt.
Übrigens: So ähnlich habe ich mir die Lösung vorgestellt, daher auch meine Befürchtung mit dem "Aufwand". Ich habe das Problem mal, als es WSWIN noch nicht gab (kaum vorstellbar
und auch noch keine höheren Programmiersprachen) in BASIC so gelöst.
es sollte bis auf eine Kleinigkeit klappen: ich vermute, du hast nicht berücksichtigt, das WSWIN rundet.
Man sollte also nicht
%ws_setmem[17]=%ws_calc[/]=%ws_getmem[21]%~4~0%%
schreiben, sondern
%ws_setmem[17]=%ws_calc[/]=%ws_getmem[21]%~4~1%%
Prüfe es mal mit 2004 und 2005 durch, denn dann erhältst du durch den Rundungseffekt (wenn man als testjahre mal 2004 und 2005 nimmt) bei 2004 nicht den Wert 500, sondern 501 und genau das passt dann nicht, denn 2005 ergibt ja auch 501.
Wenn dagegen auf eine Stelle ausgegeben wird, erhältst du 500,8 und 501 und die Rechnung passt.
Übrigens: So ähnlich habe ich mir die Lösung vorgestellt, daher auch meine Befürchtung mit dem "Aufwand". Ich habe das Problem mal, als es WSWIN noch nicht gab (kaum vorstellbar
-
adris