Tempo

lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007 - 7 nov. 2007 à 15:36
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 11 déc. 2007 à 21:56
Bonjour a tous

Je travail en ce moment sur une carte E/S avec une liaison USB et une supervision en VB, ce n'est pas la premiere que je fais mais la j'ai un probleme, je dois creer une temporisation entre 2 etats d'une sortie donc ma première solution etait de l'effectuer avec un timer qui incremente une variable toute les secondes ( interval =1000)
le gros hic c'est que ce n'est pas precis du tout alors que je veut une precision a la seconde
si quelqu'un a une solution ca serait sympa de sa part de me la présentée.
une idée peut etre d'utiliser l'horloge du PC ??????
je sai qu'il existe déja cette question sur des forums mais aucune a une reponse claire et précise

remercie par avance

Lmarengo

14 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 15:47
Salut,

Et un petit truc du genre(By Jmfmarques) :

Private Sub attente(duree)
  depart = Timer
  While Timer < depart + duree
   DoEvents
  Wend
End Sub

Uitilsation :
attente 0.3  'règle ici le "pas" que tu veux

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007
7 nov. 2007 à 16:06
A quoi sert le Doevent, c juste pour mieu comprendre c'est totalement indépendant d'un timer mais ca se base sur koi ???? 
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 16:14
Le DoEvents sert à rien la main au système qui peut traiter lui d'autre chose dans ton application....Pour plus d'explication, regarde avec ton aide en ligne....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007
7 nov. 2007 à 16:25
Je te remercie pour ton aide Exploreur et
@bientot

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 16:58
oups...faut lire :  Le DoEvents sert à Rendre la main .... 

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007
8 nov. 2007 à 10:22
Il n'est pas pôssible d'envoyé 2 attentes en meme temps ?????
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 nov. 2007 à 10:36
Essaye en faisant 2 sub's.....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007
8 nov. 2007 à 10:44
je viens de le faire mais le probleme est que j'ai 5 commandes en groupe

 Private sub Commande_click(index as integer)

sortie(index) = 1
attente_on(10)
sortie(index)=0
attente_off(10)

end sub

index me permet d'indiqué quelle sortie il actionne mai le probleme est que je peux en actionné qu'une a la fois alors que je voudrai les actionnées indépendemment
lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007
8 nov. 2007 à 13:51
De plus j'aimerai lorsque j'appui sur une command activé une boucle et lorsque je rappuie sue ce meme bouton ca desactive cette boucle
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 nov. 2007 à 14:16
Re,

Pour ton dernier post, sert toi d'une variable déclarée en Static de type boolean...(je pense...)

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 nov. 2007 à 14:36
re,

Voici un exemple à adapter à ton besoin(et il y a sûrement plus court je pense) :

Private Sub Command1_Click()


    Static MyStop As Integer
        If MyStop 1 Then MyStop 2 Else MyStop = 0
        
    Do While Not MyStop = 2
      MyStop = 1
      Text1.Text = Format(Time, "hh:mm:ss")
      DoEvents
    Loop
   
End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007
8 nov. 2007 à 16:18
je te remercie pour ton aide
@ bientot
lmarengo Messages postés 15 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 11 décembre 2007
11 déc. 2007 à 17:07
Bonjour a tous


Cette solution pour un timer est tres dangereuse a appliquer car lors de la fermeture de la form principal, si la durée de cette temporisation n'est pas terminée on croit fermer le programme mai les tempos continue en tache de fond et le programme n est pas vraiment fermé

Le probleme qui se pose est que je voudrait utiliser le composant Timer deja existant mai voila kan on en met 2 ils se synchronisent la question que je me pose est  que si les 2 timers ont le meme interval a t'on ce probleme ??????

merci d avance
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
11 déc. 2007 à 21:56
Salut,

Ben, faut faire à ce moment quand tu fermes la Form :

Timer1.Enabled = False ' Arrête de Timer
Unload Me

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Rejoignez-nous