Explication de code [Résolu]

Signaler
Messages postés
37
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
9 octobre 2009
-
Messages postés
37
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
9 octobre 2009
-
Bonjour à tous,

Il s'agit d'un fragment de code d'un programme permettant de déterminer la Classe d'une Adresse IP.
J'ai du mal à interpreter ce que fait ce code, pourriez-vous m'aider s'il vous plait ?

Private Sub TextIp_KeyPress(Index As Integer, KeyAscii As Integer)
 ' TextIP = nom de la textbox (4 indexé)
    Dim resultCompare As Long 
    ' Déclaration d'une variable resultCompare de type Long 

    resultCompare = InStr(1, "0123456789." & vbBack, Chr(KeyAscii), vbTextCompare)
   ' Je ne comprends pas  le code ci-dessus ainsi que le block d'en dessous
    If resultCompare = 0 Then
    MsgBox "Caractère incorrect"
        KeyAscii = Asc(vbNullChar)
    End If
    
    If KeyAscii = Asc(".") Then
        KeyAscii = Asc(vbNullChar)
        ChangeControl (Index)
    End If 
' Dites moi si je me trompe : le code ce-dessus dit que si le carractère ascii est un "." alors la procédure ChangeControl est activé, soit un changement d'index
    
End Sub

Cordialement, merci d'avance.

2 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
salut,
ce code empêche la saisie des caractères non-numériques, à part le point et la touche effacer.
ensuite si c'est un point, il annule le point et sans doute que la procédure ChangeControl permet de passer à la zone suivante, pour saisir alors l'IP sur plusieurs zones de texte
cette procédure contient sans doute une vérification de l'index en cours pour ne pas passer sur la 5e zone puisqu'il n'y en a logiquement que 4
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
37
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
9 octobre 2009

Merci beaucoup ;)