Tratement infos port com

Signaler
Messages postés
24
Date d'inscription
dimanche 13 juillet 2003
Statut
Membre
Dernière intervention
5 novembre 2011
-
Messages postés
24
Date d'inscription
dimanche 13 juillet 2003
Statut
Membre
Dernière intervention
5 novembre 2011
-
Bonjour,

voila mon problème du jour....

je récupère des infos par un port com ( provenant d'un automate)
celui-ci me donne des infos d'ouverture et de fermeture de contact
>>123 debut contact toto
>>123 fin contact toto

où 123 est le numéro du contact....
j'ai 1000 contacts sur cet automate....

je récupère donc toutes ces infos au fil de l'eau via le port série ( ca fonctionne) et je remplis un fichier texte qui sert de log ( ce fonctionne aussi depuis longtemps)

Maintenant, il faut que je sache à un instant "T" Quels sont les contacts restés ouverts...
du style, je clique sur un bouton, et le prog doit me dire

>>123 ouvert
>>254 ouvert
>>542 ouvert

voila.... si qq avait une idée. je le remercie d'avance

Alain

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
1000 contacts sur 3 digits, c'est 0 à 999 ?
La seule solution est de mémoriser l'état des contacts ouverts.
Pour cela, crée une varaible tableau, exemple
   Dim mesContacts(0 To 999) As Boolean
Ensuite, à chaque fois que tu vois passer "debut", tu mets la variable associée au contact à True, sans oublier de remettre à False quand tu vois passer "fin".

Pour afficher les contacts actuellement ouverts (ou fermés), il te suffit de faire une boucle For-Next de chaque variable et d'écrire "ouvert" à chaque fois que tu vois True dedans (ou "fermé" si False)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Si l'instant t est le moment ou tu clique sur le bouton, il te suffit au fil de l'eau de mémoriser l'état de chaque contact, tu saura ainsi "en temps réel" l'état de tes contacts.

Si par contre, l'instant t peut être quelques minutes ou quelques heures auparavant, il te faudra reconstruire à partir du log, à condition toutefois d'avoir horodaté les informations du log. Ou alors faire à coté un second log horodaté avec le nouvel état à chaque reception d'un message de l'automate.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
24
Date d'inscription
dimanche 13 juillet 2003
Statut
Membre
Dernière intervention
5 novembre 2011

La réponse de Jack me convien.


 


Casy : Oui j'apelle instant "T" lorsque j'appuie sur le bouton


 


En fait c'est pour savoir quels sont les contacts ouverts quand je presse ce bouton. ( les contacts fermés ne m'interressent plus)


 


merci pour vos promptes réponses