gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006
-
30 mars 2006 à 13:18
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 2012
-
1 avril 2006 à 23:58
Bonjour à tous!
Voilà j'ai un gros souci. J'ai écris un script me permettant de définir les horaires d'équipe de travail d'une machine. J'ai donc des mots qui correspondent au horaires d'équipe.
Le mot qui correspond à l'heure du début de commencer de mon équipe 1 est :
<%#TagSSI,B401_i_StartShift_1%>
Ce mot est définit en minute. Je me suis donc arrangé à écrire l'heure en heures et minutes.
Maintenant, je souhaite que l'utilisateur puisse changer l'heure à sa convenance. J'ai donc créer une fonction Sub avec ONCHANGE.
Et maintenant je voudrais enregistrer, la nouvelle heure que l'utilisateur à écris dans le champs de saisie.
Mon problème est: Je souhaite convertir la nouvelle heure en minute sans prendre en compte "h" et "min", pour pouvoir l'envoyer au mot correspondant de l'Automate. En fait, refaire l'opération à l'envers.
La réponse est peut-être bête mais je ne vois pas comment faire
Voir code ci-dessous:
<script type="text/vbscript">
Dim conf1,tab1,Heure1,Minute1,H1,M1,Indice1,NewTime1,Affichage1
H1="h"
M1="min"
Indice1="0"
conf1="<%#TagSSI,B401_i_StartShift_1%>"
Heure1= Int (conf1/60)
Minute1= conf1 Mod 60
If Heure1<=9 Then
Heure1= Indice1 & Heure1
End if
If Minute1<=9 Then
Minute1= Indice1 & Minute1
End if
Affichage1= Heure1 & H1 & Minute1 & M1
document.write("Heure de début: ")
/////////Résultat de Sortie: Heure de début: 05h00min
Sub horaire1_OnChange
NewTime1 = horaire1.value
MsgBox "Nouveau horaire:"&NewTime1&" ,Confirmez!",vbExclamation
End Sub
Sub Cmd_Enregistrer_OnClick
msgbox "test"
NewHeure1= Newtime *60
?????????????????????????
End Sub
Merci d'avance, pour ceux qui m'aiderons ou lirons ce message. Aidez-moi SVP!!
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 20127 31 mars 2006 à 14:08
Salut gon_ak, salut jordinette,
tu pourrais :
- soit afficher 2 champs, un avec les heures, l'autre avec les minutes. Et quand l'utilisateur fait une saisie, il saisit les heures dans un champ, les minutes dans l'autre.
- soit faire une fonction qui :
- nettoie la chaine si "h" et "min" sont saisies ( ! "mn" et "m", qui sait? )
- fait la conversion de heures/minutes en minutes.
Mais tu vas dire : "Oui, mais comment j'enlève "h" et "min"?". Je suis d'accord, c'est un problème, mais si petit :
1ère soluce : Tu es sûr que l'utilisateur saisiera toujours "h" et "min". Tu fais un Replace de "h" par ":", un Replace de "min" par "", un Split sur ":", et tu récupères dans un tableau.
QUOI ? :
Private Sub Cmd_Enregistrer_OnClick()
Dim strChaineSale As String
Dim strChainePropre As String
Dim varMots As Variant
Dim lngDureeMinutes As Long
'la mauvaise chaine
strChaineSale = "11h15min"
'enlève le h (vbTextCompare, c'est pour ne pas tenir compte de la casse)
strChainePropre = Replace(strChaineSale, "h", ":", , vbTextCompare)
'enlève le min (vbTextCompare=1)
strChainePropre = Replace(strChainePropre, "min", "", , vbTextCompare)
'sépare les 2
varMots = Split(strChainePropre, ":")
'affecte le résultat en minutes
lngDureeMinutes = Clng(varMots(0) * 60) + Clng(varMots(1))
'bla bla
End Sub
2ème soluce : Les codes ASCII représentant des chiffres comment à 48 et finissent à 57 (en décimal), donc tu sais reconnaitre dans la chaine quels sont les codes qui ne sont pas des chiffres. Pour lire un caractère d'une chaine, c'est Mid(String, Start As Long, Length), pour connaitre son code ASCII, c'est Asc(String As String)As Integer. Le reste (la boucle), c'est de l'algo, et quelque chose me dit que çà, on n'a pas besoin de l'expliquer!
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
cs_jordinette
Messages postés134Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention 5 avril 2007 30 mars 2006 à 15:26
bonjour,
j'ai beaucoup de mal a comprendre ce que tu veux farie par ton script!
exemple:
heure saisie "10h15min"
heure de convenance saisie "11h15min"
tu voudrais que ton programme fasse quoi sur ces exemples?
Jordinette
gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006 30 mars 2006 à 16:09
En fait, je reprend tous les paramètres de mon automate que je représente sur une page Web.
L'un des paramètres est "date de début Equipe 1" qui correspond au mot %MW300 de mon automate et celui-ci donne une valeur en minutes.
Et moi pour que ça soit plus soigné sur ma page Web et ben j'ai distingué les heures et les minutes.
Donnée de l'automate: 615min
->Heure saisie "10h15min"
Ici, en fait j'ai récupérer la valeur donné par l'automate.
Maintenant je voudrais ecraser l'heure précédente avec une nouvelle heure
que je souhaite envoyer vers l'automate.
-> heure de convenance saisie "11h15min"
Et mon problème c'est que je ne sais pas comment envoyer "11h15min" à mon automate qui doit recevoir 675 min. Il me faut un script ou je devrais distingué les heures que je mulitiplierais par 60 et les minutes puis faire la somme et ainsi envoyer à l'automate
gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006 30 mars 2006 à 16:16
En fait c'est simple
Je voudrais récupérer la valeur de "11h15min" en minutes soit 675 min
Comment faire?
Je pensais faire une boucle for
Sub horaire1_OnChange
NewTime1 = horaire1.value
MsgBox "Nouveau horaire:"&NewTime1&" ,Confirmez!",vbExclamation
End Sub
Sub Cmd_Enregistrer_OnClick
msgbox "test"
For i=0 to 7
i= NewTime+1 /// Mais j'ai le "h" de heure et "min" de minutes qui m'embête et je vois pas comment faire
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006 1 avril 2006 à 23:22
Salut rvblog,
Merci beaucoup pour ton aide précieuse. Je t'en suis reconnaissante. J'avais décidé par la suite de séparer les minutes et heures avec deux champs différents mais ta première solution est terrible!
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 20127 1 avril 2006 à 23:58
Je t'en pries, ce fut un plaisir,
par contre, je te le redis, elle n'est pas fiable telle qu'elle est présentée.
Il faut soit s'assurer qu'il n'y a qu'un utilisateur, et qu'il ne se trompera jamais, soit blinder les différents cas de figures.
Je suis pas myso, mais j'avais pensé que tu était une fille! je te parlait sans ménagement, comme à un gars! Mais, en relisant, je me rend compte que j'aurais pu m'en douter, un gars, il aurait dit
i= NewTime+1 /// Mais j'ai le "h" de heure et "min" de minutes qui me font chier et chuis grave ds la merde
Maiiiis, j'rigole, qu'est-ce ça peut changer que tu sois un fille, au contraire, c'en est bien la preuve (des fois qu'il y en ait qui doutent).
:) à ton service M'dame
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>