ActiveX

bouille60 Messages postés 3 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 2 février 2006 - 2 févr. 2006 à 16:06
bouille60 Messages postés 3 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 2 février 2006 - 2 févr. 2006 à 16:28
SALUT,
voici un code que j'ai récupéré(developpez.com) et modifié pour traduire des trames NMEA provenant d'une girouette/anémomètre
ça marche bien sous excel mais le problème c'est qu'il faut que je crée un activeX pour intégrer sous INTOUCH V9.0 et lire les informations sur la supervision.Si quelqu'un à des informations sur les démarches à suivre, j'ai un peu de mal à commencer et j'aimerais bien un petit coup de pouce pour démarrer . merci...

Ce code n'est que provisoire, il ne réalise que 100 boucles(par la suite il devra tourner sans discontinuité durant la durée de l'application),mais si vous y voyez des erreurs flagrantes n'hésitez pas...
je suis néophyte et arrive bientôt en fin de formation...encore merci et salut.

Private Sub CommandButton1_Click()
Beep
Dim tampon As String
Dim flag As Boolean
Dim compteur As Integer


flag = False 'commande de sortie de boucle
compteur = 0 'nombre de boucles


'Vider le buffer
MSComm1.InBufferCount = 0


'choisir un port série
MSComm1.CommPort = 1 'Ici


'Balance
'4800 bauds,pas de parité, 8 bits de données, 1 bit d'arrêt
MSComm1.Settings = "4800,N,8,1" 'Ici


' indique au contrôle qu'il doit lire 1 seul caractère
'ce caractère sert à repérer la stabilisation de la balance
MSComm1.InputLen = 1 'Ici


'ouvre le port
MSComm1.PortOpen = True



UserForm1.Repaint


Do While (flag = False)


'Boucle tant que le 1er caractère n'est pas un dollar ($)
Do While MSComm1.Input <> "$"
Label1.Caption = ""
UserForm1.Repaint

Loop

'reception des trames
Do
DoEvents
tampon$ = tampon$ & MSComm1.Input 'enregistrer la reception des données dans une chaîne
Label1.Caption = tampon$ 'afficher la trame
Loop Until InStr(tampon$, (Chr$(13)) & vbcdlf) 'sortir dès que fin de trame

If Mid$(tampon$, 1, 2) = "II" Then 'identification trame selon premiers caractères
Label4.Caption = Val(Mid$(tampon$, 7, 5)) 'extraction et conversion en valeur numérique
Label5.Caption = 1.852 * Val(Mid$(tampon$, 15, 6)) 'idem ci-dessus + conversion en KM/H
End If

If Mid$(tampon$, 1, 2) = "WI" Then 'identification trame selon premiers caractères
Label6.Caption = Val(Mid$(tampon$, 9, 5)) 'extraction et conversion en valeur numérique
End If

tampon$ = ""

UserForm1.Repaint
compteur = compteur + 1 'incrémentation compteur à chaque boucle If compteur 100 Then flag True 'si nbre boucles atteint sortie de boucle



Loop


'ferme le port
MSComm1.PortOpen = False 'Ici


End Sub



Private Sub CommandButton2_Click()
Unload Me
End Sub


Private Sub UserForm_Click()


End Sub

1 réponse

bouille60 Messages postés 3 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 2 février 2006
2 févr. 2006 à 16:28
c'est encore moi !
j'ai oublié de demander si vous savez où trouver de la doc en français sur INTOUCH, j'en peux plus d'essayer de déchiffrer tous ses termes anglais, merci...
0
Rejoignez-nous