Tratement infos port com

cs_rescator68 Messages postés 24 Date d'inscription dimanche 13 juillet 2003 Statut Membre Dernière intervention 5 novembre 2011 - 18 janv. 2009 à 11:38
cs_rescator68 Messages postés 24 Date d'inscription dimanche 13 juillet 2003 Statut Membre Dernière intervention 5 novembre 2011 - 18 janv. 2009 à 18:13
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

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
18 janv. 2009 à 13:00
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)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 janv. 2009 à 13:03
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
0
cs_rescator68 Messages postés 24 Date d'inscription dimanche 13 juillet 2003 Statut Membre Dernière intervention 5 novembre 2011
18 janv. 2009 à 18:13
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
0
Rejoignez-nous