Rechnen: Minuten nach Stunden/Minuten (ws_calc usw.)

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Antworten
rolsch

Rechnen: Minuten nach Stunden/Minuten (ws_calc usw.)

Beitrag von rolsch »

Hi,
wie kann ich eine Variable mit Inhalt Minuten umrechnen nach Stunden und Minuten, getrennt in zwei seperaten Var's?

Code: Alles auswählen

%sunday_d% * 60
%ws_setmem[1]=%ws_calc[*]=%sunday_d%~60~0%%
= %ws_getmem[1]% Minuten
In %ws_getmem[1]% stehen also zur Zeit die vollen Minuten drinn,
ich brauche aber zwei Var's mit Stunden und Minuten.
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo Roland,
ich würde einfach die "Minutendezimale" abschneiden, also so:
%ws_cutstr=0~3~%sunday_d%%
Dann erhältst Du z.B. aus 4,21 den Wert 4, hast also die Stunden. Das könnte sich dann ja auch, wenn nötig, mit ws_setmem merken.
rolsch

Beitrag von rolsch »

Hallo Werner,
danke für den Hinweis.

Hier mein Ergebniss für die Umwandlung Minuten nach Stunden und Minuten.

Leider funktionieren die "ws_compare" Abfragen nicht,
ich denke das Problem sitzt vor dem Monitor...

Code: Alles auswählen

%sunday_d% * 60
%ws_setmem[1]=%ws_calc[*]=%sunday_d%~60~0%%
= %ws_getmem[1]% Minuten

%ws_setmem[2]=%ws_cutstr=0~3~%sunday_d%% %
= %ws_getmem[2]% volle Stunden

%ws_getmem[2]% * 60
%ws_setmem[3]=%ws_calc[*]=%ws_getmem[2]%~60~0%%
= %ws_getmem[3]% Minuten der vollen Stunden

%ws_getmem[1]% - %ws_getmem[3]%
%ws_setmem[4]=%ws_calc[-]=%ws_getmem[1]%~%ws_getmem[3]%~0%%
= %ws_getmem[4]% Minuten (Rest)

%ws_compare[1]=%ws_getmem[2]%~0~Wert ist grösser 0~Für den aktuellen Tag konnte leider noch keine verwertbare Sonnenschein-Zeit gemessen werden.% 

%ws_compare[3]=%ws_getmem[2]%~1~Heute wurde eine Sonnenschein-Zeit von einer Stunde und %ws_getmem[4]% Minuten gemessen.~Wert nicht 1% 

%ws_compare[2]=%ws_getmem[2]%~2~Heute wurde eine Sonnenschein-Zeit von %ws_getmem[2]% Stunden und %ws_getmem[4]% Minuten gemessen.~Wert nicht grösser-gleich 2% 
 
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo Roland,
das Problem sitzt nicht unmittelbar vor dem Monitor. Ich habe den Eindruck, dass aus mir nicht bekannten Gründen der wert von %ws_getmem[2]% in der Zeile
%ws_compare[1]=%ws_getmem[2]%~0~Wert ist grösser 0~Für den aktuellen Tag konnte leider noch keine verwertbare Sonnenschein-Zeit gemessen werden.%
nicht mehr zur Verfügung steht. Wenn man nämlich anstatt %ws_getmem[2]% einen echten Werte einsetzt, funktioniert der Vergleich.
Benutzeravatar
Werner
Site Admin
Beiträge: 6071
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 140 mal
Kontaktdaten:

Beitrag von Werner »

Hallo,

Ihr habt bei
!%ws_setmem[2]=%ws_cutstr=0~3~%sunday_d%% %! (ein Leerzeichen zu viel)
ergibt z.B. !5 !

richtig wäre:
!%ws_setmem[2]=%ws_cutstr=0~3~%sunday_d%%%!
ergibt z.B. !5!

Das Leerzeichen im Ergebnis veranlasst das Programm mit
%ws_compare[1]= als unerlaubten Vergleich Zahlen mit Text und gibt deshalb ein "Leeres Ergebnis" zurück.

Werner
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo,
da kann ich nur sagen: Puhhh!
Das sind die Fehler, die man selber immer nie findet.
rolsch

Beitrag von rolsch »

:lol: :lol: :lol: :lol:

Wusste doch,
dass das Problem vor'm Monitor sitzt...

Vielen Dank!

Hier noch das Ergebniss für meine Sprachansage (06898-764034) bezüglich Sonnenzeit:

Code: Alles auswählen

%ws_setmem[1]=%ws_calc[*]=%sunday_d%~60~0%%
%ws_setmem[2]=%ws_cutstr=0~3~%sunday_d%%%
%ws_setmem[3]=%ws_calc[*]=%ws_getmem[2]%~60~0%%
%ws_setmem[4]=%ws_calc[-]=%ws_getmem[1]%~%ws_getmem[3]%~0%%
%ws_compare[1]=%ws_getmem[2]%~0~~Für den aktuellen Tag konnte leider noch keine verwertbare Sonnenschein-Zeit gemessen werden.% 
%ws_compare[3]=%ws_getmem[2]%~1~Heute wurde eine Sonnenschein-Zeit von einer Stunde und %ws_getmem[4]% Minuten gemessen.~% 
%ws_compare[2]=%ws_getmem[2]%~2~Heute wurde eine Sonnenschein-Zeit von %ws_getmem[2]% Stunden und %ws_getmem[4]% Minuten gemessen.~% 
-> Zeilenumbrüche entfernen, es sind nur 7 Zeilen...
Antworten