J6B
Messages postés11Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 4 septembre 2006 24 févr. 2007 à 10:38
Un bon conseil, au lieu de faire des Mid,Left et Right dans tous les sens : la fonction Split fait merveille dans un code comme celui-ci.
cs_blabla
Messages postés112Date d'inscriptionmercredi 28 août 2002StatutMembreDernière intervention13 mars 2004 16 déc. 2003 à 21:45
kler ;) merci d'avance
cs_Mithrandir
Messages postés2Date d'inscriptionlundi 6 janvier 2003StatutMembreDernière intervention23 février 2003 23 févr. 2003 à 18:22
on prefere
AtomWare
Messages postés71Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention11 novembre 2004 23 févr. 2003 à 14:01
si vous preferez, je peux poster une source, au lieu de mettre dans un comment. Faites moi savoir ce que vous preferez.
AtomWare
Messages postés71Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention11 novembre 2004 23 févr. 2003 à 14:00
'J'avais besion de cette source, mais en plus ameliorée
'il me fallait que ca verifie le port, si il y'en a un.
'Donc, je l'ai naturelement ameliorée. La voici :
' (copiez le code dans une form vide pour tester)
'____________________________________________________________
Private Sub Form_Load()
msgbox ValideIP("212.239.196.86:4662") 'Affiche un msgbox avec False si invalide, True si valide
End Sub
Public Function ValideIP(Texte As String) As Boolean
Dim Br1 As String, Br2 As String, Br3 As String, Br4 As String, BrPort As String 'Declaration de vaiables
If InStr(Texte, ":") <> 0 Then 'Recherche si un port est present, si oui, met le port dans la variable "brport" et l'ip normale dans texte2, sinon, copie texte dans text2
BrPort = Mid(Texte, InStr(Texte, ":") + 1, Len(Texte) - InStr(Texte, ":") + 1) 'Decoupe l'ip en 2 : BrPrt pour le port
Texte2 = Mid$(Texte, 1, Len(Texte) - (Len(Texte) - InStr(Texte, ":") + 1)) ' et texte2 pour l'ip sans le port
ElseIf InStr(Texte, ":") = 0 Then ' Si port pas present, alors simplement met texte dans texte2
Texte2 = Texte
End If
If IsNumeric(Br1) False Or IsNumeric(Br2) False Or IsNumeric(Br3) = False Or IsNumeric(Br4) = False Then ValideIP = False: Exit Function 'Verifie si ce sont bien des chiffres
If Not (CInt(Br1) >= 0 And CInt(Br1) <= 255) Or Not (CInt(Br2) >= 0 And CInt(Br2) <= 255) Or Not (CInt(Br3) >= 0 And CInt(Br3) <= 255) Or Not (CInt(Br4) >= 0 And CInt(Br4) <= 255) Then ValideIP = False: Exit Function 'Verifie si ils sont inferieurs à 255
ValideIP = True 'Ok, c bon
If BrPort <> "" Then 'nom verifie le port, si il y'en a un
If IsNumeric(BrPort) False Then ValideIP False 'numerik ou pas ?
If Val(BrPort) >= 0 And Val(BrPort + 1 & "a") <= 65536 Then ValideIP = True Else ValideIP = False 'Compris entre 6556 et 0 ?
End If
Exit Function 'Quite la fonction
MarchePas: 'Si erreur, alors va ici
ValideIP = False
End Function
24 févr. 2007 à 10:38
16 déc. 2003 à 21:45
23 févr. 2003 à 18:22
23 févr. 2003 à 14:01
23 févr. 2003 à 14:00
'il me fallait que ca verifie le port, si il y'en a un.
'Donc, je l'ai naturelement ameliorée. La voici :
' (copiez le code dans une form vide pour tester)
'____________________________________________________________
Private Sub Form_Load()
msgbox ValideIP("212.239.196.86:4662") 'Affiche un msgbox avec False si invalide, True si valide
End Sub
Public Function ValideIP(Texte As String) As Boolean
Dim Br1 As String, Br2 As String, Br3 As String, Br4 As String, BrPort As String 'Declaration de vaiables
If InStr(Texte, ":") <> 0 Then 'Recherche si un port est present, si oui, met le port dans la variable "brport" et l'ip normale dans texte2, sinon, copie texte dans text2
BrPort = Mid(Texte, InStr(Texte, ":") + 1, Len(Texte) - InStr(Texte, ":") + 1) 'Decoupe l'ip en 2 : BrPrt pour le port
Texte2 = Mid$(Texte, 1, Len(Texte) - (Len(Texte) - InStr(Texte, ":") + 1)) ' et texte2 pour l'ip sans le port
ElseIf InStr(Texte, ":") = 0 Then ' Si port pas present, alors simplement met texte dans texte2
Texte2 = Texte
End If
If InStr(Texte2, ".") 0 Then ValideIP False: Exit Function 'Decoupe chaque partie de l'ip normale
Br1 = Mid(Texte2, 1, InStr(Texte2, ".") - 1)
Br2 = Mid(Texte2, Len(Br1) + 2, (Len(Texte2) - InStr(Texte2, ".")) + 1)
Br2 = Left(Br2, InStr(Br2, ".") - 1)
Br3 = Mid(Texte2, Len(Br1) + Len(Br2) + 3, Len(Texte2))
Br3 = Left(Br3, InStr(Br3, ".") - 1)
Br4 = Mid(Texte2, Len(Br1) + Len(Br2) + Len(Br3) + 4, Len(Texte2))
If IsNumeric(Br1) False Or IsNumeric(Br2) False Or IsNumeric(Br3) = False Or IsNumeric(Br4) = False Then ValideIP = False: Exit Function 'Verifie si ce sont bien des chiffres
If Not (CInt(Br1) >= 0 And CInt(Br1) <= 255) Or Not (CInt(Br2) >= 0 And CInt(Br2) <= 255) Or Not (CInt(Br3) >= 0 And CInt(Br3) <= 255) Or Not (CInt(Br4) >= 0 And CInt(Br4) <= 255) Then ValideIP = False: Exit Function 'Verifie si ils sont inferieurs à 255
ValideIP = True 'Ok, c bon
If BrPort <> "" Then 'nom verifie le port, si il y'en a un
If IsNumeric(BrPort) False Then ValideIP False 'numerik ou pas ?
If Val(BrPort) >= 0 And Val(BrPort + 1 & "a") <= 65536 Then ValideIP = True Else ValideIP = False 'Compris entre 6556 et 0 ?
End If
Exit Function 'Quite la fonction
MarchePas: 'Si erreur, alors va ici
ValideIP = False
End Function
'____________________________________________________________
23 févr. 2003 à 10:29