Seite 1 von 1

Season-Variablen

Verfasst: 11 Feb 2010 17:05
von Heiko
Hallo Wetterfreunde,

wie schon erwähnt, bin ich gerade dabei meine Wetterseite neu zu gestalten.
Ich möchte gern die Season- Variablen nutzen, auch kein Problem, aber kann man nicht mit den Variablen für die Jahreszeiten arbeiten, also dass man nicht jedesmal handisch ändern muss ?

Danke für Eure Mühe.

Verfasst: 11 Feb 2010 18:29
von weneu
Hallo,
die Frage ist für mich unverständlich formuliert.
aber kann man nicht mit den Variablen für die Jahreszeiten arbeiten,
Was verstehst Du darunter?

Re: Season-Variablen

Verfasst: 11 Feb 2010 19:15
von stuggi
Heiko hat geschrieben: aber kann man nicht mit den Variablen für die Jahreszeiten arbeiten, also dass man nicht jedesmal handisch ändern muss ?
Hallo Heiko,

Ich verstehe dich so:
du meinst es ändert sich automatisch, also das datum in der Variable bleibt immer gleich. Daher muss es sozusagen alle 3 Monate geändert werden.

Code: Alles auswählen

%season_min[0~01122009~28022010]%
Das einzigste was mit den season auch interessant ist , sind Summen bis heute im Jahresvergleich:

Code: Alles auswählen

%season_sum[34~01012010~%ws_day2%%ws_month2%0000]% mm
Tip:
wenn du in einem template alle 4 Jahreszeiten und dazu auch noch mehrere Jahre verbaust, dann verwene das template_season.txt dazu.

@Werner,
wie man am besten das ganze mit der ws_store.cfg löst win ich auch noch nicht dahintergekommen?
Ein praktischer tipp wäre nicht schlecht.

Grüße Chris

Verfasst: 11 Feb 2010 19:39
von joergeli
Hallo,

ich nehme an, Heiko meint die neuen Variablen Frühlings-, Sommer-, Herbst- und Winteranfang ?

Hmmm..., müsste theoretisch möglich sein:
Sommeranfang - Frühlingsanfang = Frühling
Herbstanfang - Sommeranfang = Sommer
Winteranfang - Herbstanfang = Herbst

evtl. problematisch (weil Jahreswechsel dazwischen):
Frühlingsanfang - Winteranfang = Winter

also im Prinzip so:

Code: Alles auswählen

Frühlings-Min: %season_min[0~Frühlingsanfang~Sommeranfang]%
Diese Variablen müssten aber noch ein wenig "zurechtgestutzt" werden,
damit sie zusammen mit der Season-Variablen genutzt werden können.
Enthaltene Uhrzeit (mit cutstr) entfernen und Monatsnamen in 2stellige Monatsbezeichnung umwandeln, etc.

Gruß
Jörg

Verfasst: 11 Feb 2010 20:04
von Heiko
Hallo Wetterfeunde,

erst einmal vielen Dank für die schnellen Antworten, ich meine es fast so wie Jörg es darstellt.
Mein Gedanke dabei ist, für die Jahreszeiten die entsprechenden Werte auszugeben.
z.B.
%season_max[0~21122009~20032010]% um %season_maxtime[0~21122009~20032010]% am %season_maxdate[0~21122009~20032010]%

und das jeweilige eingetragene Datum durch diese Variablen

%ws_spring%,
%ws_summer%,
%ws_autumn% und
%ws_winter%

zu ersetzen, damit ich nicht mehrmals im Jahr händisch eingreifen muss.

Danke für die Mühe

Verfasst: 11 Feb 2010 22:44
von joergeli
Hallo Heiko,

ich habe das Ganze mal auf die Schnelle für die Tmax im Frühling durchgespielt.
Dieses Beispiel funktioniert aber nur, wenn man bei Aufruf des Templates in der WsWIN-Ansicht ein Datum des Vorjahres (oder älter) gewählt hat,
weil wir ja z.Zt. noch Winter haben.

Ich habe bewußt den Frühling gewählt, da - wie schon in meinem ersten Posting erwähnt - es komplizierter wird,
wenn man die Tmax im Winter ermitteln will, da ja z. Zt. (11.02.2010) der Winteranfang des Vorjahres (2009) benötigt wird,
die Variable %ws_winter% aber bereits den Winteranfang für 2010 ausgibt.
Somit müsste man das Jahr, welches %ws_winter% ausgibt, noch nach 2009 umwandeln.
Das ist auch nicht weiter schwierig, nur zwischen dem 22.12.2010 (Winteranfang 2010) und dem 31.12.2010
darf das Jahr dann nicht mehr umgewandelt werden, da ja dann der "neue" Winter angefangen hat.

Das ist sicherlich auch via entspr. Code (wenn aktuelles Datum < Winteranfang aktuelles Jahr, dann Jahr=Jahr-1, sonst Jahr=aktuelles Jahr) realisierbar,
wird mir jetzt aber - mit Verlaub - zu kompliziert, zumal ich vorhin schon 2 Stunden lang Schnee geschaufelt habe :wink:

Evtl. versucht sich aber noch jemand anderes daran, oder Du hoffst, dass Werner (Krenn) mitliest und evtl. in einer neuen WsWIN-Version
neue Variablen "Season_Winter", "Season_Spring", etc. einbaut :wink:

Code: Alles auswählen

Frülingsanfang&#58; %ws_spring%
Sommeranfang&#58; %ws_summer% 

______________________________________________________
### Nur Datum von Frühlingsanfang ausgeben&#58; ### 
%ws_setmem&#91;1&#93;=%ws_cutstr=1~24~%ws_spring%%%        #Uhrzeit und &nbsp; entfernen
%ws_setmem&#91;1&#93;=%ws_replacestr=.~~%ws_getmem&#91;1&#93;%%%   #Punkt entfernen
%ws_setmem&#91;1&#93;=%ws_replacestr= ~~%ws_getmem&#91;1&#93;%%%   #Leerzeichen entfernen
#Monatsnamen umwandeln&#58;
%ws_setmem&#91;1&#93;=%ws_replacestr=Januar~01~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=Februar~02~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=März~03~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=April~04~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=Mai~05~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=Juni~06~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=Juli~07~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=August~08~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=September~09~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=Oktober~10~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=November~11~%ws_getmem&#91;1&#93;%%%
%ws_setmem&#91;1&#93;=%ws_replacestr=Dezember~12~%ws_getmem&#91;1&#93;%%%
#Frühlingsanfang &#40;nur Datum&#41;&#58; %ws_getmem&#91;1&#93;%
%ws_setmem&#91;3&#93;=%ws_getmem&#91;1&#93;%%    #nur deshalb, weil in einer Ausgabezeile nicht mehrfach ws_getmem&#91;1&#93; verwendet werden kann
%ws_setmem&#91;5&#93;=%ws_getmem&#91;1&#93;%%    #nur deshalb, weil in einer Ausgabezeile nicht mehrfach ws_getmem&#91;1&#93; verwendet werden kann
______________________________________________________

####### Nur Datum von Sommeranfang ausgeben&#58; #######
%ws_setmem&#91;2&#93;=%ws_cutstr=1~24~%ws_summer%%%        # Uhrzeit und &nbsp; entfernen
%ws_setmem&#91;2&#93;=%ws_replacestr=.~~%ws_getmem&#91;2&#93;%%%   # Punkt entfernen
%ws_setmem&#91;2&#93;=%ws_replacestr= ~~%ws_getmem&#91;2&#93;%%%   # Leerzeichen entfernen
#Monatsnamen umwandeln&#58;
%ws_setmem&#91;2&#93;=%ws_replacestr=Januar~01~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=Februar~02~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=März~03~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=April~04~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=Mai~05~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=Juni~06~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=Juli~07~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=August~08~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=September~09~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=Oktober~10~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=November~11~%ws_getmem&#91;2&#93;%%%
%ws_setmem&#91;2&#93;=%ws_replacestr=Dezember~12~%ws_getmem&#91;2&#93;%%%
#Sommeranfang &#40;nur Datum&#41;&#58; %ws_getmem&#91;2&#93;%
%ws_setmem&#91;4&#93;=%ws_getmem&#91;2&#93;%%  #nur deshalb, weil in einer Ausgabezeile nicht mehrfach ws_getmem&#91;2&#93; verwendet werden kann
%ws_setmem&#91;6&#93;=%ws_getmem&#91;2&#93;%%  #nur deshalb, weil in einer Ausgabezeile nicht mehrfach ws_getmem&#91;2&#93; verwendet werden kann
______________________________________________________


#Ergebnis &#40;Tmax im Frühling&#41;&#58;
%season_max&#91;0~%ws_getmem&#91;1&#93;%~%ws_getmem&#91;2&#93;%&#93;% um %season_maxtime&#91;0~%ws_getmem&#91;3&#93;%~%ws_getmem&#91;4&#93;%&#93;% am %season_maxdate&#91;0~%ws_getmem&#91;5&#93;%~%ws_getmem&#91;6&#93;%&#93;% 

(Hinweis: die letzte Zeile wurde durch die Forumsdarstellung umgebrochen)

Gruß
Jörg

Verfasst: 12 Feb 2010 06:39
von Heiko
Hallo Jörg,

ich staune immer wieder was man mit diesem Programm alles machen kann und wie tief man sich einarbeiten müsste um alles zu verstehen. Da deine Ausführungen genau das treffen, was ich eigentlich vor hatte, aber für mich auf die Schnelle doch nicht umsetztbar ist, werde ich die Ausgabe der Jahreszeitendaten vorerst auf Eis legen, aber im Hinterkopf behalten und nebenher die verschiedenen Ausgaben bearbeiten.

Besten Dank für deine Mühe, auch nach 2 Stunden Schnee schieben !!! :wink: :wink:

Muss diese Variable
%ws_setmem[1]
einmalig in den Ausgaben sein oder soll sie fortlaufend benannt werden (%ws_setmem[1], %ws_setmem[2] usw.) ?

Verfasst: 12 Feb 2010 15:05
von joergeli
Hallo Heiko,

Muss diese Variable %ws_setmem[1]
einmalig in den Ausgaben sein oder soll sie fortlaufend benannt werden (%ws_setmem[1], %ws_setmem[2] usw.) ?
In meinem Beispiel ( für den Frühling) braucht man nur die 2 Variablen %ws_setmem[1]=xx%, wo das Datum des Frühlingsanfangs zwischengespeichert wird und
die %ws_setmem[2]=xx%, welche das Datum des Sommeranfangs enthält.

Wenn Du jetzt im gleichen Template die Daten für z.B. den Sommer ermitteln willst, könntest Du ws_setmem[1] und ws_setmem[2] wieder analog verwenden, da das Template - sagen wir mal - von oben nach unten abgearbeitet wird, d.h. die Werte für den Frühling sind bereits ermittelt und somit sind die Variablen für den Sommer wieder "frei" bzw. benutzbar.

Nachtrag zum obigen Beispiel:
Evtl. habe diese Zeilen zur Verwirrung beigetragen ? :
%ws_setmem[3]=%ws_getmem[1]%%
%ws_setmem[5]=%ws_getmem[1]%%

%ws_setmem[4]=%ws_getmem[2]%%
%ws_setmem[6]=%ws_getmem[2]%%

Das habe ich nur gemacht, weil die einzeilige Ausgabe (obwohl von der Syntax richtig) so nicht funktioniert hat:
%season_max[0~%ws_getmem[1]%~%ws_getmem[2]%]% um %season_maxtime[0~%ws_getmem[1]%~%ws_getmem[2]%]% am %season_maxdate[0~%ws_getmem[1]%~%ws_getmem[2]%]%

Schreibt man das Ergebnis aber in mehrere Zeilen, funktioniert es:
Zeile 1: %season_max[0~%ws_getmem[1]%~%ws_getmem[2]%]
Zeile2: um %season_maxtime[0~%ws_getmem[1]%~%ws_getmem[2]%]%
Zeile3: am %season_maxdate[0~%ws_getmem[1]%~%ws_getmem[2]%]%

Gruß
Jörg

Verfasst: 17 Feb 2010 07:39
von Heiko
Hallo Wetterfreunde,

mit der Version V2.95.11 von WsWin hat Werner die von mir gesuchten Variablen "eingebaut".

%season_min[0~%ws_season_winter[2010]%]% um %season_mintime[0~%ws_season_winter[2010]%]% Uhr am %season_mindate[0~%ws_season_winter[2010]%]%

ergibt dann

-23,6 °C um 04:36 Uhr am 27.01.2010

leider kann man die Jahresangabe nicht verschachteln, weil ja der Winter schon im letzten Jahr (2009) anfing, aber trotzdem ein toller Service hier in diesem Forum.

Besten Dank an alle Beteiligten.

@ Jörg

Danke für den Hinweis !

Verfasst: 17 Feb 2010 15:37
von ich74
hallo
du musst auch bei der variabel für [yyyy] nicht [2010] eintragen, sondern [0000] für das aktuelle jahr, [-001] für das vorjahr [-002] vorvorjahr usw.
also wäre [-001] der winter 09/10 und [0000] der winter 10/11 bei der season_winter variable.
gruß michael

Verfasst: 17 Feb 2010 16:36
von weneu
Hallo Heiko,
der Hinweis von Michael wäre prinzipiell immer zu beachten. Es ist besser, hier keine konkreten Jahreszahlen einzugeben, obwohl das natürlich möglich ist.
Aber erstens müsstest Du dann ja jedes Jahr Änderungen durchführen und zweitens können sich unerwartete Effekte (wie bei Dir) ergeben.

Verfasst: 18 Feb 2010 06:33
von Heiko
@ Michael und weneu

ja, nach nochmaligem probieren bin ich auch darauf gekommen.

Trotzdem Danke für die Hinweise.