Des mots des mots encore des mots y en a marre!

CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 - 25 juil. 2004 à 18:14
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 - 26 juil. 2004 à 09:34
Salut a tous
j'espere que vous etes pas aussi debutant que moi sinon vous pourez pas m'aider.Le probleme est que je ne pige pas la moitié(pour etre genereu bien sur)des mots de vb mais j'aimerai comprendre ce fichier (help me)
Dim Nf As Integer
Dim Nf2 As Integer
Dim Extension As String

Private Sub BtnConnect_Click()
Serveur.Listen
Client.RemoteHost = Serveur.LocalIP
Client.RemotePort = Serveur.LocalPort
Client.Connect
BtnConnect.Enabled = False
End Sub

Private Sub BtnSend_Click()
If Len(Fichier.FileName) > 0 Then
Extension = Right(Fichier.FileName, 4)
MsgBox Extension

Serveur.SendData "/PIC"
Else
MsgBox "Sélectionner une image à envoyer", vbInformation, "Message"
End If
End Sub

Private Sub Client_Connect()
Client.SendData "/CON"
End Sub

Private Sub Client_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
Client.GetData Data
Select Case Left(Data, 4)

Case "/PIC":
If Data = "/PIC" Then 'si juste "/PIC" alors
Nf2 = FreeFile 'il ouvre le fichier pour y insrcire la futur suite qui va arriver
On Error Resume Next
Kill App.Path & "\TMPPIC" & Extension
Open App.Path & "\TMPPIC" & Extension For Output As #Nf2
Client.SendData "/PIC" 'demande la suite
Else 'la ya des trucs apres le "/PIC" donc c'est des données a traiter
If Data <> "/PICxx-EOP-xx" Then 'ici c'est si c'est la fin du transfert n'a pas été signalée
Print #Nf2, Right(Data, Len(Data) - 4); 'donc inscrit les données
Client.SendData "/PIC" 'puis demande la suite
Else 'et la c'est quand c'est la fin !
Close #Nf2 'ferme le fichier
ImageServeur.Picture = LoadPicture(App.Path & "\TMPPIC" & Extension) 'on affiche l'image dans le controle image du client
Kill App.Path & "\TMPPIC" & Extension 'on détruit le fichier image temporaire
Nf = 0 'réinitialise le n° de fichier pour les prochains tests
End If
End If
Case Else TextInfoServeur.Text "Erreur de réception": TextInfoClient.Text "Erreur d'envoie"
End Select

End Sub

Private Sub Dir1_Change()

End Sub

Private Sub Lecteur_Change()

On Error GoTo fin
Dossier.Path = Lecteur.Drive
Exit Sub
fin:
If MsgBox("Périphérique non disponible.", vbCritical + vbRetryCancel, "Erreur !") = vbCancel Then
Exit Sub
Else
Resume
End If

End Sub
Private Sub Dossier_Change()
Fichier.Path = Dossier.Path
End Sub

Private Sub Fichier_Click()
ImageClient.Picture = LoadPicture(Fichier.Path & "" & Fichier.FileName)
End Sub

Private Sub Serveur_ConnectionRequest(ByVal requestID As Long)
Serveur.Close
Serveur.Accept requestID
End Sub

Private Sub Serveur_DataArrival(ByVal bytesTotal As Long)
Dim ClientData As String
Serveur.GetData ClientData
Select Case Left(ClientData, 4) Case "/CON": TextInfoServeur.Text "Connection réussi": TextInfoClient.Text "Connection réussi"
Case "/PIC"
Dim Temp As String
If Nf = 0 Then 'si pas de fichier ouvert l'ouvre, (premier transfert de ce transfert... vous suivez ?)
Nf = FreeFile
Open Fichier.Path & "" & Fichier.FileName For Binary Access Read As #Nf
Avancement.Max = LOF(Nf)
End If
Select Case (LOF(Nf) - Seek(Nf) + 1) 'prend en compte le nombre d'octet restant à envoyer
Case Is > 2048 'si > à 2048, en envoie 2048 (il faut y aller mollo, bout a bout)
Temp = Space(2048)
Get #Nf, , Temp
Avancement.Value = Seek(Nf)
Serveur.SendData "/PIC" & Temp

Case Is < 1 'si y'en a plus alors on envoie le code de fin
Close #Nf
Nf = 0
Serveur.SendData "/PICxx-EOP-xx" 'signale la fin : "xx-EndOfPicture-xx"
'Boutton.Caption = WckDial.Tag & " écoute votre message..."

Case Else 'si il en reste mais moins que 2048, on envoie ce nombre précis qu'il en reste
Temp = Space(LOF(Nf) - Seek(Nf) + 1)
Get #Nf, , Temp
Avancement.Value = Seek(Nf) - 1
Serveur.SendData "/PIC" & Temp
End Select
Case Else TextInfoServeur.Text "Erreur de réception": TextInfoClient.Text "Erreur d'envoie"
End Select
End Sub

thank pour ceux qui auron le courage de le lire jusqu'ici.
VirusMan :-p

2 réponses

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
25 juil. 2004 à 23:45
salut,
bin je vais commencer, mais tu n'es pas sur de tout avoir, compte tenu d'une part, que l'on a pas toutes les données, et d'autre part que comme tout le monde je ne connais pas tout (sinon on m'appelerait bill :-) )

- serveur et client on l'air d'etre des controles d'acces a internet du style "Winsock"
- Listen --> comme son nom l'indique, il doit ecouter le port
- Client.RemoteHost definit l'ip
- Client.RemotePort definit le port souvent "80"
- Client.Connect un fois tout definit, se connect
- BtnConnect.Enabled = False, c'est sans doute un bouton, le enabled le bloc avec false et le libere avec true
----- Fin de l'evenement du bouton Click -----

bon ca devient chiant la , Poele_a_frire@hotmail.com si besoin

bonne prog et bon décoding
liquide
0
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
26 juil. 2004 à 09:34
rien qu'avec ca tu m'appprend beaucoup
Merci.
VirusMan :-p
0
Rejoignez-nous