Comment reconnaitre le CHR10 dans un module de classe de l'appli TiCom ?

Risleure

XLDnaute Occasionnel
Bonjour le Forum,

Il y a peu j'utilisais un UserForm avec la dll MsCOMM mais Microsoft a déclaré cette dll indigne de confiance et elle est désactivée. NB je ne peux plus modifier la base de registre car je n'ai plus les droits puisque cette astuce fonctionnait dans mon cas !!!

Je me suis tourné vers un développemnt de Ti employant des modules de classes à savoir TiCom.
Mais j'ai un gros souci car je ne récupère pas les données comme je le souhaite.
Je vous joints le code de ma précédente appli employant MsComm en PJ, je vais tenter de vous décrire le fonctionnement du code de réception. le UserForm était lancé par un bouton sur une feuille, il configurait le port employé (COM1), le paramétrait (600 bauds, impair, 7 bits de données, 1 bit d'arrêt), ouvrait le port et se mettait à l'écoute "Do While" des chaines entrantes tant que l'opérateur ne signifiait pas manuelleent que la transmission était terminée "StopACQ" = False.

Si on entre dans le détail du code, une chaine reçue "machaine" était complète après la réception de chr(10) [/color=red] "If Right(maChaine, 1) = Chr$(10)" alors la chaine "machaine" était redistribiuée dans une feuille XL, les séparateurs étant des virgules "Comma:=True" après ce n'est que de la mise en forme dans la feuille.

Aujourd'hui avec les modules de classes de TiCom, je reçois les caractères attendus mais la longueur des chaines semble aléatoire et dépendante de la variable "delai" du module de classe. Il faudrait que le module détecte le chr(10) mais je ne sais pas où faire la modif dans les modules de classes.

Ci dessous, les données reçues dans la fenêtre d'éxécution avec TiCom. j'ai respecté les CR de la fenêtre d'éxécution

Si delai = 200ms donne
,,"T1 C","T2 C"


04-07-12
,01:10:1
9, 20.2, 20.2


,01:10:2
0, 20.2
, 20.2

*****************
delai = 500 ms donne
,,"T1 C","T2 C"
04-07-12
,01:10:19, 20.2, 20.2

,01:10:20, 20.2, 20.2

****************
On approche mais en augmentant "delai" je n'arrive pas à avoir la chaine reçue qui dans mon cas serait :
,,"T1 C","T2 C"
04-07-12, 01:10:19, 20.2, 20.2
, 01:10:20, 20.2, 20.2

En résumé savez-vous comment scruter et rechercher le CHR(10) avec les modules de classezs TiCom

Merci pour votre aide
 

Pièces jointes

  • Newdigilogger.zip
    939 bytes · Affichages: 32

Risleure

XLDnaute Occasionnel
Re : Comment reconnaitre le CHR10 dans un module de classe de l'appli TiCom ?

Bonsoir Theze, le Forum

OK pourquoi pas InStr(maChaine, Chr(10)) <> 0 Then...
Dans mon ancien code j'utilisais If Right(maChaine, 1) = Chr$(10)
Mais mon problème est que je ne sais pas où placer cette instruction dans les modules de classes de TiCom

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 417
Membres
103 204
dernier inscrit
alaa20dine01