alex2100
Messages postés44Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention16 décembre 2008
-
22 févr. 2008 à 01:41
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
22 févr. 2008 à 07:00
Bonjour à tous,
Bon voilla. J'ai un application qui a 10 Hscroll(i) Indexer portant le meme nom,
Sur cette application j'ai un winsock qui recois des données d'un autre winsock coté client.
Dans ma form client j'ai aussi 10 Hscroll(i) indexer. Quand je modifie l'un des scrolls j'envoyer ceci.
Private Sub HScroll1_Change(Index As Integer)
For i = 0 To 7
If Not Winsock1.State = sckConnected Then
Else
If AngleServo(i).Text <> HScroll1(i).Value Then
AngleServo(i).Text = HScroll1(i).Value
End If
Winsock1.SendData AngleServo(i).Text
End If
Next i
End Sub
Du coté serveur je recois bien la modification et mon scroll s'ajuste automatique.
le code est le suivant
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim tmpData As String
Winsock1.GetData dat, vbString
Dim ligne As String
ligne = "[test=" & dat & "]"
test = Recherche(ligne, "[test=", "0000000]")
HScroll(i).Value = test
'AngleServo(0).Text = test
End Sub
Le petit probleme est que sa fonctionne pour le premier scroll bar mais pas pour les suivant. Je ne suis pas capable de récuper du coté serveur le quel scroll a été bouger. Je ne sais pas comment récuper l'index de scroll.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 févr. 2008 à 07:00
salut,
euh.... beh pour commencer, nous fournir le code de la fonction RECHERCHER, çà aurait pu aider.
ici concrêtement, plusieurs choses :
le client (jusqu'à preuve du contraire) n'a qu'une souris?... donc ne peut bouger qu'une scroll à la fois.
alors pourquoi boucler? éventuellement envoyer au début de connexion pour initialiser toutes les scroll mais c'est tout.
(ps : tu boucles sur 8 mais il y en a 10? et autant de zones de texte? manque de précision!!)
' CLIENT
Private Sub HScroll1_Change(Index As Integer)
AngleServo(Index).Text = HScroll1(Index).Value
If Winsock1.State = sckConnected Then
Winsock1.SendData AngleServo(Index).Text ' ***
DoEvents
End If
End Sub
côté serveur tu reçois le paquet et l'attribue au scroll i?
i correspond à quoi?
à supposer (manque de précision!!) qu'il y ait autant de scroll sur le client que le serveur, il faut bien envoyer l'index concerné pour l'attribuer comme il faut sur le serveur
donc client, la ligne avec ' *** , on modifie pour :
Winsock1.SendData Index & "@" & AngleServo(Index).Text
le serveur va recevoir un message du genre 3@45
' SERVEUR
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim tmpData As String, Index As Integer
Winsock1.GetData tmpData, vbString
Index = Left(tmpData, InStr(1, tmpData,
"@") - 1)
AngleServo(Index).Text = Right$(tmpData, Len(tmpData) - InStr(1, tmpData, "@"))
HScroll(Index).Value = Val(AngleServo(Index).Text)
End Sub
çà devrait déjà aller un peu mieux...
si çà ne correspond pas tout à fait, soit plus précis ;)
++
PCPT [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp