Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TELNET SUPER EXPLIKE AVEC RICHTEXT + WINSOCK


Information sur la source

Catégorie :Réseau & Internet Niveau : Débutant Date de création : 16/10/2002 Date de mise à jour : 16/10/2002 19:19:32 Vu / téléchargé: 5 381 / 1 061

Note :
7,25 / 10 - par 4 personnes
7,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
bon bah la capture est assez explicative je crois
C un telnet... que dire de + ? ah oui y avait un truc qui me saoulais avec celui par defaut de windows je pouvais pas revenir en arriere quand je rippais sur une touche...
G fais ce ptit telnet aussi parceque sous Win2000 le telnet est gr dans une fenetre ms-dos et ... bah C pas beau
 

Source

  • Const OK = &HFF00&
  • Const ERREUR = &HFF&
  • Const FERMER = &H0&
  • Const ENCOURS = &H80FF&
  • Const NOIR = &H0&
  • Const ENVOI = &H0&
  • Const RECEPTION = &H40&
  • Private Sub Command1_Click()
  • If W.State = sckClosed Then
  • 'Si le socket est l'tat ferm on se connecte
  • W.LocalPort = Text1.Text
  • W.RemotePort = Text2.Text
  • W.RemoteHost = Text3.Text
  • W.Connect
  • Else
  • If W.State = sckConnected Then
  • 'Si le socket est connect on envoie la commande
  • Envoyer Text4.Text
  • Text4.SelStart = 0
  • Text4.SelLength = Len(Text4.Text)
  • Else
  • 'si C pas les 2 cas le socket n'est pas dans un etat
  • 'qui permettrai de se connecter ou d'envoyer des donnes
  • MsgBox "Mauvais tat pour envoi ou connexion....", vbCritical, "Erreur"
  • Fermer_Connexion
  • End If
  • End If
  • End Sub
  • Private Sub Command2_Click()
  • W.Close
  • End Sub
  • Private Sub Rich_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  • 'on copie la slection dans l'envoi de donnes
  • If Button = 2 Then Text4.Text = Rich.SelText
  • 'si on clik sur le boutton du milieu dans le richtext a le Clear
  • If Button = 4 Then Rich.Text = ""
  • End Sub
  • Private Sub Timer1_Timer()
  • Dim Color As String
  • Dim descriptif As String
  • 'Tous les cas sont rpertoris, si on veut on peut attribuer
  • 'chaque tat une couleur particulire...
  • Select Case W.State
  • Case sckClosed: Color = NOIR: descriptif = "Ferm"
  • Case sckOpen: Color = ENCOURS: descriptif = "Ouvert"
  • Case sckListening: Color = ENCOURS: descriptif = "A l'coute"
  • Case sckConnectionPending: Color = ENCOURS: descriptif = "Connexion En Attente"
  • Case sckResolvingHost: Color = ENCOURS: descriptif = "En cours de Rsolution"
  • Case sckHostResolved: Color = ENCOURS: descriptif = "Hte rsolu"
  • Case sckConnecting: Color = ENCOURS: descriptif = "En cours de Connexion"
  • Case sckConnected: Color = OK: descriptif = "Connect"
  • Case sckClosing: Color = ENCOURS: descriptif = "Se Ferme"
  • Case sckError: Color = ERREUR: descriptif = "En Erreur"
  • End Select
  • Label4.BackColor = Color
  • 'Pour ceux qui savent pas quand on passera sur la caption
  • 'avec la souris on aura son tat en tooltiptext
  • Label4.ToolTipText = descriptif
  • End Sub
  • Private Sub W_DataArrival(ByVal bytesTotal As Long)
  • Dim Temp As String
  • Dim temp2 As String
  • Dim dep As Long
  • 'on rcupere
  • W.GetData Temp
  • 'puis on l'ajoute au Richtext avec la couleur spcifique la recption
  • Ajout_Rich Temp, RECEPTION, False
  • End Sub
  • Private Sub W_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
  • MsgBox Description, vbCritical, "Erreur n" & Val(Number)
  • Fermer_Connexion
  • End Sub
  • Function Fermer_Connexion() As Boolean
  • On Error GoTo Err
  • W.Close
  • DoEvents
  • If W.State = sckClosed Then Fermer_Connexion = True Else: Fermer_Connexion = False
  • Exit Function
  • Err:
  • Fermer_Connexion = False
  • End Function
  • Function Envoyer(Temp As String)
  • Dim cpt As Integer
  • Dim dep As Long
  • Dim temp2 As String
  • 'on envoie caractere par caractere
  • For cpt = 1 To Len(Temp) Step 1
  • W.SendData Mid(Temp, cpt, 1)
  • Next
  • 'puis le retour chariot
  • W.SendData vbCrLf
  • Ajout_Rich Temp & vbCrLf, ENVOI, True
  • End Function
  • Function Ajout_Rich(Temp As String, Color As String, Italik As Boolean)
  • 'rien de bien complik
  • 'on place le curseur la fin du Richtext
  • Rich.SelStart = Len(Rich.Text)
  • 'on y ajoute le texte insrer
  • Rich.SelText = Temp
  • 'on se remet au debut de ce que l'on a insr
  • Rich.SelStart = Len(Rich.Text) - Len(Temp)
  • 'sur une longueur de ce que l'on a insr ... logik
  • Rich.SelLength = Len(Temp)
  • 'et sur cette slection on dit que la couleur C celle passe en paramtre
  • Rich.SelColor = Color
  • 'pareil pour l'italique
  • Rich.SelItalic = Italik
  • 'on peut ajouter aussi des chgts de font de la mm facon ou des soulignements...
  • End Function
Const OK = &HFF00&
Const ERREUR = &HFF&
Const FERMER = &H0&
Const ENCOURS = &H80FF&
Const NOIR = &H0&
Const ENVOI = &H0&
Const RECEPTION = &H40&

Private Sub Command1_Click()
    If W.State = sckClosed Then
    'Si le socket est  l'tat ferm on se connecte
        W.LocalPort = Text1.Text
        W.RemotePort = Text2.Text
        W.RemoteHost = Text3.Text
        W.Connect
    Else
        If W.State = sckConnected Then
        'Si le socket est connect on envoie la commande
            Envoyer Text4.Text
            Text4.SelStart = 0
            Text4.SelLength = Len(Text4.Text)
        Else
            'si C pas les 2 cas le socket n'est pas dans un etat
            'qui permettrai de se connecter ou d'envoyer des donnes
            MsgBox "Mauvais tat pour envoi ou connexion....", vbCritical, "Erreur"
            Fermer_Connexion
        End If
    End If
End Sub

Private Sub Command2_Click()
    W.Close
End Sub

Private Sub Rich_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
'on copie la slection dans l'envoi de donnes
If Button = 2 Then Text4.Text = Rich.SelText
'si on clik sur le boutton du milieu dans le richtext a le Clear
If Button = 4 Then Rich.Text = ""
End Sub

Private Sub Timer1_Timer()
Dim Color As String
Dim descriptif As String
'Tous les cas sont rpertoris, si on veut on peut attribuer 
'chaque tat une couleur particulire...
Select Case W.State
Case sckClosed: Color = NOIR: descriptif = "Ferm"
Case sckOpen: Color = ENCOURS: descriptif = "Ouvert"
Case sckListening: Color = ENCOURS: descriptif = "A l'coute"
Case sckConnectionPending: Color = ENCOURS: descriptif = "Connexion En Attente"
Case sckResolvingHost: Color = ENCOURS: descriptif = "En cours de Rsolution"
Case sckHostResolved: Color = ENCOURS: descriptif = "Hte rsolu"
Case sckConnecting: Color = ENCOURS: descriptif = "En cours de Connexion"
Case sckConnected: Color = OK: descriptif = "Connect"
Case sckClosing: Color = ENCOURS: descriptif = "Se Ferme"
Case sckError: Color = ERREUR: descriptif = "En Erreur"
End Select
Label4.BackColor = Color
'Pour ceux qui savent pas quand on passera sur la caption
'avec la souris on aura son tat en tooltiptext
Label4.ToolTipText = descriptif
End Sub

Private Sub W_DataArrival(ByVal bytesTotal As Long)
    Dim Temp As String
    Dim temp2 As String
    Dim dep As Long
    'on rcupere
    W.GetData Temp
    'puis on l'ajoute au Richtext avec la couleur spcifique  la recption
    Ajout_Rich Temp, RECEPTION, False
End Sub

Private Sub W_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox Description, vbCritical, "Erreur n" & Val(Number)
    Fermer_Connexion
End Sub

Function Fermer_Connexion() As Boolean
On Error GoTo Err
    W.Close
    DoEvents
    If W.State = sckClosed Then Fermer_Connexion = True Else: Fermer_Connexion = False
    Exit Function
Err:
    Fermer_Connexion = False
End Function

Function Envoyer(Temp As String)
Dim cpt As Integer
Dim dep As Long
Dim temp2 As String
'on envoie caractere par caractere
    For cpt = 1 To Len(Temp) Step 1
        W.SendData Mid(Temp, cpt, 1)
    Next
    'puis le retour chariot
    W.SendData vbCrLf
    Ajout_Rich Temp & vbCrLf, ENVOI, True
End Function

Function Ajout_Rich(Temp As String, Color As String, Italik As Boolean)
'rien de bien complik
'on place le curseur  la fin du Richtext
    Rich.SelStart = Len(Rich.Text)
'on y ajoute le texte  insrer
    Rich.SelText = Temp
'on se remet au debut de ce que l'on a insr
    Rich.SelStart = Len(Rich.Text) - Len(Temp)
'sur une longueur de ce que l'on a insr ... logik
    Rich.SelLength = Len(Temp)
'et sur cette slection on dit que la couleur C celle passe en paramtre
    Rich.SelColor = Color
'pareil pour l'italique
    Rich.SelItalic = Italik
'on peut ajouter aussi des chgts de font de la mm facon ou des soulignements...
End Function
  

Conclusion

le truc interessant C peut etre de differencier l'envoi de la reception avec la couleur  
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de vanpet le 16/10/2002 19:32:07

je vais passer pour un boufon, mais c quoi un telnet ? a koi ca sert ?

signaler à un administrateur
Commentaire de Repie le 16/10/2002 21:34:44

ca sert  envoyer des paquets ip vers des hosts, donc  priori on peut tout faire avec :p

signaler à un administrateur
Commentaire de Kinamstrong le 07/04/2003 17:20:33

ca marche pas des masses, j'ai essaye de me connecter sur un serveur Telnet Unix et ca me renvoi des caracteres ascii incomprehensible.
la copie est a revoir (lol :))

signaler à un administrateur
Commentaire de ipfixe le 06/01/2005 01:49:12

ok je precise le bon fonctionnement sous UNIX, on parle pas bien de telent et non pas de ssh; donc le port 23.

signaler à un administrateur
Commentaire de SebOfBorg le 01/09/2008 11:04:50

Salut,
3ans et demis apres la pose de ce code... je me reveille.
J'essaye aussi de me connecter a un serveur unix en telnet... et j'ai aussi un retour a la con(ÿþ%ÿý).
Je confirme être sur le port 23 de telnet.
J'utilise en // putty pour me connecter actuellement mais j'aimerais un peu automatiser quelques commandes.

Help ^^

signaler à un administrateur
Commentaire de petit chat le 13/04/2009 16:53:10 9/10

Salut Repie,
Merci pour cette source qui m'a permis de débugger la mienne.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.