Gestion de port com avec vb6

Signaler
Messages postés
40
Date d'inscription
mardi 29 janvier 2008
Statut
Membre
Dernière intervention
3 juin 2009
-
Messages postés
40
Date d'inscription
mardi 29 janvier 2008
Statut
Membre
Dernière intervention
3 juin 2009
-
bonjour
j'ai vraiment un grand probleme et j'ai besoin que vous m'aidez 
   
j'ai fait une application avec VB6 elle a trés bien marché jusqu'a ce que j'ai ajouté une fonction qui gére le port Com pour envoyer des données a un afficheur , l'application maintenat Bloc  de 2 a 3 minute .

a chaque fois que je veux afficher quelque chose dans l'afficheur j'appelle cette function et j'envoi deux chaines de carecteres pour les deux ligne de l'afficheur (l'application appelle cette fonction presque chaque second) 

et je pense que le probleme et dans cette function :

Public Function Afficheur(L1, L2)
On Error GoTo HH
Dim AFF As Boolean


With frmticker

Dim V1, V2, L As String
AFF = False


   '--------------------------------------------------------------
        If Len(L1) < 19 Then
            Do While Len(L1) < 19
                L1 = L1 & " "
            Loop
            L1 = L1 & "."
        Else
            L1 = Left(L1, 19) & "."
        End If
        V1 = L1
        '-------------------------------------------------------
        If Len(L2) < 19 Then
            Do While Len(L2) < 19
                L2 = L2 & " "
            Loop
            L2 = L2 & "."
        Else
            L2 = Left(L2, 19) & "."
        End If
        V2 = L2
                '------------------------------------------------------------
                If .MSComm1.PortOpen = False Then
                   .MSComm1.CommPort = 1
                   .MSComm1.Settings = "9600,N,8,1"
                End If
                '----------------------------------------------------------
                If .MSComm1.PortOpen = False Then
                   .MSComm1.PortOpen = True
                End If
                '----------------------------------------------------------
                 If .MSComm1.PortOpen = True Then
                        .MSComm1.Output = L1 & L2
                End If
           .MSComm1.PortOpen = False


       
End With
HH:


End Function

merci d'avance
CRD
HB

2 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
Dim V1, V2, L As String
L est un String, V1 e V2 des Variant ici

If Len(L1) < 19 Then
Do While Len(L1) < 19
L1 = L1 & " "
Loop
L1 = L1 & "."
Else
L1 = Left(L1, 19) & "."
End If
V1 = L1

euh....
tu peux faire :
V1 = Left$(L1 & Space$(19), 19) & "."

idem pour V2

ajoutes peut etre des DoEvents après chaque affectation de la propriété PortOpen de ton MScomm1
Messages postés
40
Date d'inscription
mardi 29 janvier 2008
Statut
Membre
Dernière intervention
3 juin 2009

merci pour la repense


je vais essayer de faire ça , et ça prend de temps por les teste


je vais vous donner les resultat de DoEvents

merci encore une fois

A+