Calcul horaire...

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 !
Répondre
chrismargab
Participation 2
Participation 2
Messages : 104
Enregistré le : 15 déc. 2007, 20:42
Localisation : Kogenheim (67)
Contact :

Calcul horaire...

Message par chrismargab » 16 févr. 2008, 11:54

Je reviens à la charge (chriss, au boulot !!) avec une demande peut être un peu particulière :

j'aimerais, dans mon fichier speech, mettre l'heure du prochain relevé (mis à jour de ce fichier).
J'ai essayé de m'en sortir moi même, mais je jette l'éponge.

J'ai commencé par convertir l'heure actuelle en variable à virgule : facile
J'y ai ajouté une durée (intervalle entre deux mise à jour) en centième d'heure : facile
Par contre, je ne sais pas comment remettre la valeur obtenu au format horaire "hh:mm", et encore plus dur, d'y mettre la date si cette heure arrive au lendemain.

Ensuite, il faut extraire les chiffres des heures et minutes (éventuellement jour si c'est le lendemain) pour faire annoncer ça par la petite voix.

Suis je clair ?

Mon coté pinailleur revient en avant, mais je trouve que ça serait du plus bel effet.

Christian.

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 » 16 févr. 2008, 12:05

OK je te fais ça tout à l'heure.
Pour remettre l'heure au format hh:mm c'est très simple, quelques un de mes tags utilisent cette fonction mais par contre pour afficher la date de demain si l'heure est après minuit, c'est chaud !! A cause des fin de mois différente, finir le 30 àu 31 ou encore 28 ou 29 pour un mois de février suivant l'année (bisextil).
Par contre je n'est pas compris ce que le résultat final doit être ? Y a t-il une présentation spécial afin que l'heure soit lu correctement ?
La voix ne s'est pas lire directement une date et une heure ?

EDIT: J'ai la solution pour la date du lendemain !!!!!!!

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 » 16 févr. 2008, 12:11

Heuu juste une question:
Pourquoi ne pas juste mettre "demain" si l'heure arrive au lendemain ?
"Le prochain relevé sera à 3h00 demain" par exemple
N'est ce pas mieux que de mettre la date de demain ?
Je dis ca comme ca.

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 » 16 févr. 2008, 18:12

chriss a écrit : Par contre je n'est pas compris ce que le résultat final doit être ? Y a t-il une présentation spécial afin que l'heure soit lu correctement ?
La voix ne s'est pas lire directement une date et une heure ?
le résultat peut être un simple fichier texte avec des mots et des tags et le logiciel de voix le lit parfaitement, comme dans l'exemple que j'ai donné hier et que je remets ci-dessous:

le fichier ws_speech.txt est le suivant :

bonjour
%alwayssepcomma_on%
%ws_location% ....france
dernière mise à jour....
le %longdate%." %ws_hour% heure %ws_minute% minutes
couverture nuageuse... %ws_setmem[1]=%ws_replacestr=brumeux*~nuages très épais*~%suntxt%%%
%ws_replacestr=brumeux~nuages très épais~%ws_getmem[1]%%
soleil %sunproz% pour cent
durée d'ensoleillement aujourd'hui %sunday%
%longslabel[2]%. %curval[0]% %unitnamelong[2]%.
%longslabel[34]% aujourd'hui ... %rainday% %unitnamelong[34]%.
%longslabel[35]%...moyenne.dernière heure .. %curminmaxhour[3,1,35]%...%unitnamelong[35]%.
%longslabel[36]%...moyenne.dernière heure.. %curminmaxhour[3,1,36]%...%unitnamelong[36]%
merci pour votre attention et bonne journée


et ça donne ça (mettre le son sur votre PC) :

http://icare.cinq.free.fr/meteo/ws_speech.mp3
Michel
La Crosse WS2300 modifiée (pluvio, abri ventilé, mesure d'ensoleillement), Wswin32, Watchdog.
mon site météo

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 » 16 févr. 2008, 18:26

Daccord.
Bon bah voilà le tag:
%ws_setmem[1]=%ws_calc[/]=3~60~2%%
%ws_setmem[2]=%ws_timetoval[%ws_time%]%%
%ws_setmem[10]=%ws_calc[+]=%ws_getmem[1]%~%ws_getmem[2]%~2%%
%ws_setmem[2]=%ws_cutstr=0~3~%ws_getmem[10]%%%
%ws_setmem[3]=%ws_calc[-]=%ws_getmem[10]%~%ws_getmem[2]%~2%%
%ws_setmem[4]=%ws_calc[*]=%ws_getmem[3]%~60~0%%
%ws_setmem[5]=%ws_compare[5]=%ws_getmem[4]%~10~0%ws_getmem[4]%~%ws_getmem[4]%%%
%ws_setmem[6]=%ws_getmem[2]%:%ws_getmem[5]%%
%ws_setmem[9]=%ws_calc[-]=%ws_getmem[2]%~24~0%%
%ws_setmem[11]=%ws_getmem[9]%:%ws_getmem[5]%%
%ws_setmem[7]=%ws_cutstr=1~23~%ws_sunrisetomo%%%
%ws_setmem[8]=%ws_getmem[11]% le %ws_getmem[7]%%
Heure de la prochaine mise à jour: %ws_compare[1]=%ws_getmem[10]%~24~%ws_getmem[8]%~%ws_getmem[6]%%

Un petit peu d'explication:
en rouge, le temps en minute entre de génération de fichier son.
en bleu, la phrase rajouté lorsque l'heure atteind le lendemain

Pour résumé, je convertis l'heure en format décimal, j'ajoute les minute (en décimal) et enfin je remet ca en heure normal. Si toutes fois l'ajout dépasse 24 (donc renvoie vers une heure du lendemain), je soustrais 24 a cet heure et je récupère la date du lendemain. C'est là que je suis content de moi. Je pensais devoir créer une énorme fonction afin de tenir compte des mois finissant par 30 ou 31 ou 28 ou 29... Mais le tag du levé du soleil pour demain nous donne la date de demain en même temps. Il me restait plus qu'a "découper" la date et la coller au bout de l'heure.
Voilà
A plus

chrismargab
Participation 2
Participation 2
Messages : 104
Enregistré le : 15 déc. 2007, 20:42
Localisation : Kogenheim (67)
Contact :

Message par chrismargab » 17 févr. 2008, 15:31

Pardon pour le retard, mais absent pour le week end !

Je vais tester ce tag ce soir et te dirais le résultat.

En effet, "demain" suffisait à la place de la date.

A+
Christian

chrismargab
Participation 2
Participation 2
Messages : 104
Enregistré le : 15 déc. 2007, 20:42
Localisation : Kogenheim (67)
Contact :

Message par chrismargab » 17 févr. 2008, 16:02

MERCI chriss !!

Encore une fois, tu as fait un super boulot.
J'ai juste modifié un tout petit peu la dernière ligne car la voie ne pronnonce pas bien l'heure au format "hh:mm". Je n'utilise donc pas les lignes "setmem" 11 et 6 pour y mettre à la place leur contenu décomposé en ajoutant les mot "minute" et "heure". Ainsi, c'est plus audible.

Merci aussi pour les commentaires dans le code. Ca me permet de mieux comprendre et ainsi, me rendre un peu plus autonome. C'est toujours gênant de demander aux autres, et on est tellement plus fière quand ça vient de nous....

Christian.

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 » 17 févr. 2008, 16:24

chrismargab a écrit : Merci aussi pour les commentaires dans le code. Ca me permet de mieux comprendre et ainsi, me rendre un peu plus autonome. C'est toujours gênant de demander aux autres, et on est tellement plus fière quand ça vient de nous....
Christian.
OK super si ca marche. Et ne soit pas gêné, moi j'adore aider les autres, enfin surtout quand il s'agit de la création de tags.
A plus.

Répondre