Précipitations et ensoleillement

Forum destiné aux problèmes de Tags, recherche d’une fonction, d’un calcul, Tag qui parait ne pas fonctionner, du Tag et rien que du Tag !
Avatar du membre
chriss
Participation 5
Participation 5
Messages : 946
Enregistré le : 31 mai 2007, 16:30
Localisation : Plévenon (22)
Contact :

Message par chriss » 08 août 2007, 18:54

Bonsoir a tous,
Bravo a toi tudgur, je vois que tu commence a comprendre la logique des tags..
Je vais dans la soirée vous faire une description totale du tag afin que vous puissez le comprendre..
En attendant voici ton tag tudgur, il affiche l'heure normalement:
%ws_setmem[1]=%sun_d_mpast[01~0000]%%
%ws_setmem[2]=%ws_calc[+]=%ws_getmem[1]%~%sun_d_mpast[02~0000]%~1%%
%ws_setmem[3]=%ws_calc[+]=%ws_getmem[2]%~%sun_d_mpast[03~0000]%~1%%
%ws_setmem[4]=%ws_calc[+]=%ws_getmem[3]%~%sun_d_mpast[04~0000]%~1%%
%ws_setmem[5]=%ws_calc[+]=%ws_getmem[4]%~%sun_d_mpast[05~0000]%~1%%
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[5]%~%sun_d_mpast[06~0000]%~1%%
%ws_setmem[7]=%ws_calc[+]=%ws_getmem[6]%~%sun_d_mpast[07~0000]%~1%%
%ws_setmem[8]=%ws_calc[+]=%ws_getmem[7]%~%sun_d_mpast[08~0000]%~1%%
%ws_setmem[9]=%ws_calc[+]=%ws_getmem[8]%~%sun_d_mpast[09~0000]%~1%%
%ws_setmem[10]=%ws_calc[+]=%ws_getmem[9]%~%sun_d_mpast[10~0000]%~1%%
%ws_setmem[11]=%ws_calc[+]=%ws_getmem[10]%~%sun_d_mpast[11~0000]%~1%%
%ws_setmem[12]=%ws_calc[+]=%ws_getmem[11]%~%sun_d_mpast[12~0000]%~1%%
%ws_setmem[60]=%ws_getmem[%ws_month%]%%
%ws_setmem[4]=%ws_cutstr=0~2~%ws_getmem[60]%%%
%ws_setmem[5]=%ws_calc[-]=%ws_getmem[60]%~%ws_getmem[4]%~1%%
%ws_setmem[6]=%ws_calc[*]=%ws_getmem[5]%~60~0%%
%ws_setmem[12]=%ws_modtext[0]%%ws_getmem[6]%%
%ws_setmem[11]=%ws_compare[5]=%ws_getmem[6]%~10~%ws_getmem[12]%~%ws_getmem[6]%%%
%ws_getmem[4]%:%ws_getmem[11]% h

Par contre, ce tag ainsi que celui du nombre de jour de pluie affichent les meme données quelque soit le jour du mois choisit, c'est à dire pas d'évolution jour apres jour,seulement mois apres mois. Cela te conviens-t-il ou alors je peut essayer de modifier pour obtenir un tag qui afficherait des valeurs différente suivant le jour et non le mois a la maniere dont le fais le premier tag que je t'ai donné ?
a+

Avatar du membre
chriss
Participation 5
Participation 5
Messages : 946
Enregistré le : 31 mai 2007, 16:30
Localisation : Plévenon (22)
Contact :

Message par chriss » 08 août 2007, 20:32

Bon alors voilà, on m'a demandé quelque explications sur mes tag, les voilà !!
%unit_off%
%ws_setmem[1]=0%
%ws_setmem[2]=%rain_mpast[01~0000]%%
%ws_setmem[3]=%ws_calc[+]=%rain_mpast[01~0000]%~%rain_mpast[02~0000]%~1%%
%ws_setmem[4]=%ws_calc[+]=%ws_getmem[3]%~%rain_mpast[03~0000]%~1%%
%ws_setmem[5]=%ws_calc[+]=%ws_getmem[4]%~%rain_mpast[04~0000]%~1%%
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[5]%~%rain_mpast[05~0000]%~1%%
%ws_setmem[7]=%ws_calc[+]=%ws_getmem[6]%~%rain_mpast[06~0000]%~1%%
%ws_setmem[8]=%ws_calc[+]=%ws_getmem[7]%~%rain_mpast[07~0000]%~1%%
%ws_setmem[9]=%ws_calc[+]=%ws_getmem[8]%~%rain_mpast[08~0000]%~1%%
%ws_setmem[10]=%ws_calc[+]=%ws_getmem[9]%~%rain_mpast[09~0000]%~1%%
%ws_setmem[11]=%ws_calc[+]=%ws_getmem[10]%~%rain_mpast[10~0000]%~1%%
%ws_setmem[12]=%ws_calc[+]=%ws_getmem[11]%~%rain_mpast[11~0000]%~1%%

%ws_setmem[60]=%ws_getmem[%ws_month%]%%
%ws_setmem[1]=%avgvalpast[34~01~%ws_month2%~0000]%%
%ws_setmem[2]=%ws_calc[+]=%ws_getmem[1]%~%avgvalpast[34~02~%ws_month2%~0000]%~1%%
%ws_setmem[3]=%ws_calc[+]=%ws_getmem[2]%~%avgvalpast[34~03~%ws_month2%~0000]%~1%%
%ws_setmem[4]=%ws_calc[+]=%ws_getmem[3]%~%avgvalpast[34~04~%ws_month2%~0000]%~1%%
%ws_setmem[5]=%ws_calc[+]=%ws_getmem[4]%~%avgvalpast[34~05~%ws_month2%~0000]%~1%%
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[5]%~%avgvalpast[34~06~%ws_month2%~0000]%~1%%
%ws_setmem[7]=%ws_calc[+]=%ws_getmem[6]%~%avgvalpast[34~07~%ws_month2%~0000]%~1%%
%ws_setmem[8]=%ws_calc[+]=%ws_getmem[7]%~%avgvalpast[34~08~%ws_month2%~0000]%~1%%
%ws_setmem[9]=%ws_calc[+]=%ws_getmem[8]%~%avgvalpast[34~09~%ws_month2%~0000]%~1%%
%ws_setmem[10]=%ws_calc[+]=%ws_getmem[9]%~%avgvalpast[34~10~%ws_month2%~0000]%~1%%
%ws_setmem[11]=%ws_calc[+]=%ws_getmem[10]%~%avgvalpast[34~11~%ws_month2%~0000]%~1%%
%ws_setmem[12]=%ws_calc[+]=%ws_getmem[11]%~%avgvalpast[34~12~%ws_month2%~0000]%~1%%
%ws_setmem[13]=%ws_calc[+]=%ws_getmem[12]%~%avgvalpast[34~13~%ws_month2%~0000]%~1%%
%ws_setmem[14]=%ws_calc[+]=%ws_getmem[13]%~%avgvalpast[34~14~%ws_month2%~0000]%~1%%
%ws_setmem[15]=%ws_calc[+]=%ws_getmem[14]%~%avgvalpast[34~15~%ws_month2%~0000]%~1%%
%ws_setmem[16]=%ws_calc[+]=%ws_getmem[15]%~%avgvalpast[34~16~%ws_month2%~0000]%~1%%
%ws_setmem[17]=%ws_calc[+]=%ws_getmem[16]%~%avgvalpast[34~17~%ws_month2%~0000]%~1%%
%ws_setmem[18]=%ws_calc[+]=%ws_getmem[17]%~%avgvalpast[34~18~%ws_month2%~0000]%~1%%
%ws_setmem[19]=%ws_calc[+]=%ws_getmem[18]%~%avgvalpast[34~19~%ws_month2%~0000]%~1%%
%ws_setmem[20]=%ws_calc[+]=%ws_getmem[19]%~%avgvalpast[34~20~%ws_month2%~0000]%~1%%
%ws_setmem[21]=%ws_calc[+]=%ws_getmem[20]%~%avgvalpast[34~21~%ws_month2%~0000]%~1%%
%ws_setmem[22]=%ws_calc[+]=%ws_getmem[21]%~%avgvalpast[34~22~%ws_month2%~0000]%~1%%
%ws_setmem[23]=%ws_calc[+]=%ws_getmem[22]%~%avgvalpast[34~23~%ws_month2%~0000]%~1%%
%ws_setmem[24]=%ws_calc[+]=%ws_getmem[23]%~%avgvalpast[34~24~%ws_month2%~0000]%~1%%
%ws_setmem[25]=%ws_calc[+]=%ws_getmem[24]%~%avgvalpast[34~25~%ws_month2%~0000]%~1%%
%ws_setmem[26]=%ws_calc[+]=%ws_getmem[25]%~%avgvalpast[34~26~%ws_month2%~0000]%~1%%
%ws_setmem[27]=%ws_calc[+]=%ws_getmem[26]%~%avgvalpast[34~27~%ws_month2%~0000]%~1%%
%ws_setmem[28]=%ws_calc[+]=%ws_getmem[27]%~%avgvalpast[34~28~%ws_month2%~0000]%~1%%
%ws_setmem[29]=%ws_calc[+]=%ws_getmem[28]%~%avgvalpast[34~29~%ws_month2%~0000]%~1%%
%ws_setmem[30]=%ws_calc[+]=%ws_getmem[29]%~%avgvalpast[34~30~%ws_month2%~0000]%~1%%
%ws_setmem[31]=%ws_calc[+]=%ws_getmem[30]%~%avgvalpast[34~31~%ws_month2%~0000]%~1%%
%ws_setmem[59]=%ws_getmem[%ws_day%]%%

%ws_calc[+]=%ws_getmem[60]%~%ws_getmem[59]%~1% mm
%unit_on%

Tout d'abord je dois vous expliquer les fonctions de deux tags que l'on voit partout:
%ws_setmem[X]=.......%
%ws_getmem[X]%
rieux explique le fonctionnement de ces tags dans son aide alors je ne vais pas m'attarder.
%ws_setmem[X]=.......% va mettre en mémoire une valeur,un calcul, un texte... C'est pratique pour garder en mémoire des valeurs que l'on doit réutiliser dans d'autre calcul (c'est le cas ici).X est le numéro (de 1 a 61 je crois) que l'on a attribut afin de retrouver notre valeur ou calcul ou texte...
%ws_getmem[X]% sert tout simplement a récupérer la valeur mise en mémoire.
exemple:%ws_setmem[1]=c'est un exemple% enregistre mon texte..
pour le récupérer je fais %ws_getmem[1]% et là "c'est un exemple" sera afficher dans le costum..
Décortiquons mon tags maintenant:

%unit_off% permet de supprimer les unité des mesures.En effet,on additione par la suite des quantité et donc on ne peut faire 2,3mm+3,4mm alors grace a ce tag 2,3mm=2,3 et 3,4mm=3,4, plus facile pour les calculs.

Cette partit est un calcul de la quantité de pluie du mois. A chaque ligne,on prend la valeur de la ligne précédente (mise en mémoire) à laquelle on ajoute la quantité du mois d'apres. Pour résumer, chaque ligne correspond a la somme de la quantité des mois précédent. Et les numéro de mise en mémoire on été choisit judicieusement. En effet on aura ws_setmem[1] qui correspondra au mois de janvier (d'ou le 1) et donc a cette ligne on a la somme des quantité des mois avant janvier donc 0 mm (logique car pas de mois avant janvier). Ensuite ws_setmem[2] va mettre en mémoire la quantité du janvier.. Apres ws_setmem[3] va mettre en mémoire la quantité de janvier+février..Et ainsi de suite, ws_setmem[4] mettra janvier+février+mars en mémoire.. Voici les quantités qui seront mise en mémoire qui seront mise en mémoire au final:
ws_setmem[1]==>0
ws_setmem[2]==>janvier
ws_setmem[3]==>janvier+février
ws_setmem[4]==>janvier+février+mars
...
Il ne reste plus qu'a apeler le bon numéro pour retrouver la bonne valeur.
C'est ce que fais le tags suivant.


%ws_setmem[60]=%ws_getmem[%ws_month%]%% ce tag va mettre en mémoire la somme des quantités des mois qui précèdent le mois courant..
%ws_month% va se transformer en un chiffre par exemple 3 et hop on obtiendra %ws_getmem[3]% qui nous donnera la valeur de la ligne de calcul mise en mémoire n°3 . Ici on obtiendra la valeur janvier+février. On met ensuite cette valeur en mémoire a la place n°60.

Maintenant lorsque nous nous placerons sur un jour précis nous auront la somme des quantités de pluie des mois qui précèdent le mois courant.
Il ne reste plus qu'a calculer la somme des quantité de pluie des jour qui précèdent le jour afficher (en comptant le jour afficher bien sûr) et une fois les deux valeurs additioné on obtiendra la quantité totale de l'année a ce jour précis.
Pour cela on procède de la meme maniere que pour les mois.

Les calculs sont identique, chaque ligne correspond a un jour et on met en mémoire la valeur en prenant comme numéro de mémoire le numéro du jour.
On a donc au final:
ws_setmem[1]==>quantité jour 1
ws_setmem[2]==>jour 1+jour 2
ws_setmem[3]==>jour 1+jour 2+jour 3
ws_setmem[4]==>jour 1+jour 2+jour 3+jour 4
ws_setmem[5]==>jour 1+jour 2+jour 3+jour 4+jour 5
ws_setmem[6]==>jour 1+jour 2+jour 3+jour 4+jour 5+jour 6
....
Ensuite %ws_setmem[59]=%ws_getmem[%ws_day%]%% va ajouter en mémoire la valeur du jour.
%ws_day% va donné 2 par exemple donc %ws_getmen[2] va donné jour 1+jour 2 qui sera mis en mémoire a la place n°59..


%ws_calc[+]=%ws_getmem[60]%~%ws_getmem[59]%~1% mm ce tag va tout simplement ajouter les deux valeurs: la somme des quantités des mois qui précèdent le mois du jour affiché plus la somme des quantités des jours de ce mois juqu'a la date affiché. Le "mm" permet de donné une valeur avec son unité.

Le %unit_on% a la fin est pour a nouveau afficher les valeurs avec leurs unité pour les autres tags de votre page.

Voilà j'espère avoir été claire dans mes explications (sinon demandez ce qui cloche). Tout n'est que répétition de calculs...
Allé A+
Et merci a tudgur et vals pour tout ces compliment,que je ne mérite pas !

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Message par Tudgur » 08 août 2007, 21:16

chriss a écrit :Et merci a tudgur et vals pour tout ces compliment,que je ne mérite pas !
Mais si, mais si pas de fausse modestie...:wink:
J'ai effectivement commencé à comprendre la logique de ces calculs : merci pour tes explications.

Pour la tag d'ensoleillement, tel que tu l'as fait, ça me convient parfaitement.
Il est presque bon : un petit problème;
Ma sonde solaire a été mise en service le 1/04. Donc pour le mois d'avril, mois en cours et années en cours devraient donner le même résultat.
mois en cours : 229:15 h
année en cours: 229:18h
Mon pas de mesure est de 5min et 18 n'est pas un multiple de 5...

Pour le cumul jusqu'à maintenant, l'ancien tag me donne 960:35 h et le nouveau 960:36 h !!!
Bizarre non.

Ne faudrait-il pas un 2 au lieu du 1 à la fin des lignes de calcul ?

Encore merci Christophe.

A+

Edit : j'ai remplacé le 1 par 2. Il semblerait que heures et minutes soient bonnes mais mais c'est l'affichage des valeurs qui est bizarre. J'ai bien sûr : (deux points) entre h et min puisque c'est dans le tag mais une virgule apparait devant les : !
ex : 960,:35 h
Au pire je peux enlever les deux points
Modifié en dernier par Tudgur le 08 août 2007, 21:28, modifié 1 fois.
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

Avatar du membre
chriss
Participation 5
Participation 5
Messages : 946
Enregistré le : 31 mai 2007, 16:30
Localisation : Plévenon (22)
Contact :

Message par chriss » 08 août 2007, 21:24

Salut tugdur,
Oui c'est une erreur de ma part désolé. La différence venait des arrondis.
Je pensais que l'heure décimal donné par les tags du soleil n'avait que un chiffre apres la virgule mais non.
Il fallait donc modifier les 1 en 2 et aussi un autre chiffre.
voici le tag:
%ws_setmem[1]=%sun_d_mpast[01~0000]%%
%ws_setmem[2]=%ws_calc[+]=%ws_getmem[1]%~%sun_d_mpast[02~0000]%~2%%
%ws_setmem[3]=%ws_calc[+]=%ws_getmem[2]%~%sun_d_mpast[03~0000]%~2%%
%ws_setmem[4]=%ws_calc[+]=%ws_getmem[3]%~%sun_d_mpast[04~0000]%~2%%
%ws_setmem[5]=%ws_calc[+]=%ws_getmem[4]%~%sun_d_mpast[05~0000]%~2%%
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[5]%~%sun_d_mpast[06~0000]%~2%%
%ws_setmem[7]=%ws_calc[+]=%ws_getmem[6]%~%sun_d_mpast[07~0000]%~2%%
%ws_setmem[8]=%ws_calc[+]=%ws_getmem[7]%~%sun_d_mpast[08~0000]%~2%%
%ws_setmem[9]=%ws_calc[+]=%ws_getmem[8]%~%sun_d_mpast[09~0000]%~2%%
%ws_setmem[10]=%ws_calc[+]=%ws_getmem[9]%~%sun_d_mpast[10~0000]%~2%%
%ws_setmem[11]=%ws_calc[+]=%ws_getmem[10]%~%sun_d_mpast[11~0000]%~2%%
%ws_setmem[12]=%ws_calc[+]=%ws_getmem[11]%~%sun_d_mpast[12~0000]%~2%%
%ws_setmem[60]=%ws_getmem[%ws_month%]%%
%ws_setmem[4]=%ws_cutstr=0~3~%ws_getmem[60]%%%
%ws_setmem[5]=%ws_calc[-]=%ws_getmem[60]%~%ws_getmem[4]%~2%%
%ws_setmem[6]=%ws_calc[*]=%ws_getmem[5]%~60~0%%
%ws_setmem[12]=%ws_modtext[0]%%ws_getmem[6]%%
%ws_setmem[11]=%ws_compare[5]=%ws_getmem[6]%~10~%ws_getmem[12]%~%ws_getmem[6]%%%
%ws_getmem[4]%:%ws_getmem[11]% h

Tudgur
Participation 6
Participation 6
Messages : 1770
Enregistré le : 13 mai 2007, 16:47
Localisation : 29880 Plouguerneau
Contact :

Message par Tudgur » 08 août 2007, 21:35

Nos messages se sont croisés !
ça roule Christophe.
Tout est OK

Merci braz et Kenavo !
Je reste à l'affût de futurs tags de ta composition.:wink:

A+
Cordialement.

Tudgur
http://meteo-plouguerneau.fr" onclick="window.open(this.href);return false;

mm91
Participation 6
Participation 6
Messages : 2581
Enregistré le : 31 mars 2007, 07:46
Localisation : 25 Km au sud-ouest de Paris FRANCE
Contact :

Message par mm91 » 09 août 2007, 22:11

chriss a écrit :Bon alors voilà, on m'a demandé quelque explications sur mes tag, les voilà !!
Christophe,
Suite à ma demande, j'ai beaucoup apprécié, et lu avec grand intéret, tes explications détaillées et te remercie pour ce très beau travail.
Michel
La Crosse WS2300 modifiée (pluvio, abri ventilé, mesure d'ensoleillement), Wswin32, Watchdog.
mon site météo

Répondre