2/5 (4 avis)
Snippet vu 5 017 fois - Téléchargée 40 fois
Public Function CheckIPFormat(IP As String, Optional CanPop As Boolean = False) As Boolean Const msgIPFormat = "Une adresse IP doit être du format 'nombre.nombre.nombre.nombre' " _ & vbCr & "où 'nombre' est un entier d'au plus 3 chiffres variant de 0 à 255." Dim strbuf$, i%, ii%, pos%, LastPos%, IPItem$, Problem As Boolean If IP = "" Then CheckIPFormat = False Exit Function Else pos = 0 For i = 1 To 4 LastPos = pos + 1 Select Case i Case 1, 2, 3: pos = InStr(LastPos, IP, ".") If pos <> 0 Then IPItem = Mid(IP, LastPos, pos - LastPos) 'IPitem : Nombres séparés par les points Case 4: IPItem = Mid(IP, LastPos, Len(IP) - pos) End Select 'Rien que des chiffres For ii = 1 To Len(IPItem) strbuf = Mid(IPItem, ii, 1) If Asc(strbuf) < 48 Or Asc(strbuf) > 57 Then Problem = True Exit For Else: Problem = False End If Next ii 'Pos=0 :pas de "." dans la chaine ex: "125125" 'pos-lastpos >3 : nombre trop long ex: "1251.12.12.1" 'Problem : Pas rien que des chiffres ex: "12a.12.12.1" If (pos = 0) Or ((pos - LastPos) > 3) Or Problem _ Or Not ((Val(IPItem) < 256) And (Val(IPItem) >= 0)) Then If CanPop Then MsgBox msgIPFormat, vbOKOnly, "Mauvaise adresse IP" CheckIPFormat = False Exit Function End If Next i CheckIPFormat = True End If End Function 'CheckIPFormat
20 juil. 2004 à 19:49
Et merci aussi de commenter la source ;)
9/10
@+ Bonne prog
//JoVB
3 avril 2003 à 08:05
Je l'avais oublié celui-là ! Ca simplifie monstrueusement les choses!
Merci pour le conseil... [8D]
23 mars 2003 à 03:47
Réponse BONNE IP.
21 mars 2003 à 09:18
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.