URGENT traitement de chaine sur reception port serie
cliclic1234
Messages postés19Date d'inscriptionvendredi 18 mars 2005StatutMembreDernière intervention 5 septembre 2005
-
26 mars 2005 à 01:05
cliclic1234
Messages postés19Date d'inscriptionvendredi 18 mars 2005StatutMembreDernière intervention 5 septembre 2005
-
26 mars 2005 à 22:22
voila la partie de source que j'utilise pour recevoir les infos du port serie en utilisant le MScontrol comm
Private Sub MSComm1_OnComm()
Dim tampon As String
Select Case MSComm1.CommEvent
Case comEvReceive
tampon = tampon & MSComm1.Input
Call Traitement(tampon) 'traitement données
End Select
End Sub
Private Sub Traitement(tampon As String)
Text2.SelText = tampon
Label1.Caption = tampon
sur le text2 j'affiche 130 kg B
sur le label1j'affiche 0 kg B
la chaine que je recois sur le text2 correspond bien a ma chaine complete mais je ne veut recuperer que le poids
si j'utilise
text2.seltext = mid(tampon,1,6)
label1.caption = mid (tampon,1,6)
sur le text2 j'affiche 0kg B
sur le label1.caption 0kg B
comment faire pour avoir la partie de chaine qui m'interesse
merci d'avance de votre aide
A voir également:
URGENT traitement de chaine sur reception port serie
cliclic1234
Messages postés19Date d'inscriptionvendredi 18 mars 2005StatutMembreDernière intervention 5 septembre 2005 26 mars 2005 à 16:06
je recois de la balance ___130Kg B cr lf la longueur de la chaine depend du poids
sur la balance
et je n'arrive pas a extraire le poids pour l'afficher dans un label
autre exemple
je recois $MP000023 130kg 1200
je veut extraire le numero 23 et le poids pour l'afficher dans 2 label differents
mais par contre j'arrive a afficher cette chaines completes dans une textbox
Merci d'avance de votre aide
pjcleder
Messages postés183Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention16 septembre 201111 26 mars 2005 à 17:53
PAT
OK ! Donc, on a la chaine suivante: "MP000023 130kg 1200"
On va aller chercher la position du premier espace.
dim str as string
dim n as integer
str = MP000023 130kg 1200
n = instr(1,s," ")
Dans l'exemple, n vaut 9.
Ensuite, on va extraire de str la partie poids.
str = mid(n+1,str,len(str))
str devient "130kg 1200"
En suivant mes exemples, tu devrais pouvoir rapidement récupérer "130kg".
A plus ! En cas de souci, je peux faire plus.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cliclic1234
Messages postés19Date d'inscriptionvendredi 18 mars 2005StatutMembreDernière intervention 5 septembre 2005 26 mars 2005 à 22:22
cela ne fonctionne pas car ce que je recois est variable
par contre je pense que mon premier soucis vient du fait que ne n'arrive pas a visualiser ma chaine complete sur un champ label
voici mon code
Private Sub MSComm1_OnComm()
Dim Tampon As String
Select Case MSComm1.CommEvent
Case comEvReceive
Tampon = MSComm1.Input & Tampon
Call Traitement(Tampon) 'traitement données
Case comEvSend ' il y a des caractères à envoyer
End Select
End Sub
Private Sub Traitement(chaine As String)
'cette procédure sert à traiter linformation reçue dans le tampon
Text2.SelStart = Len(Text2.Text)
Text2.SelText = chaine
Label1.Caption = chaine
End Sub
dans mon champ text2 je recois bien ma chaine complete :
$MP0000013 12140kg11
par contre dans mon champ label1 je ne recois que
40kg11
si je pouvais afficher l'ensemble de ma chaine dans mon champ label,apres l' extraction serait plus facile
merci de ton aide