1. Trasformare un IP in numero e viceversa [VB6][SC].txt
TRSFORMARE UN IP IN NUMERO E VICEVERSA [VB6]
' Trasforma un ip in decimale
Public Function ip2dec(ByVal a0 As Byte, a1 As Byte, a2 As Byte, a3 As Byte) As Double
ip2dec = 2 ^ 24 * a3 + 2 ^ 16 * a2 + 2 ^ 8 * a1 + 2 ^ 0 * a0
End Function
' Trasforma un decimale in ip
Public Function dec2ip(v As Double) As Byte()
Dim b(3) As Byte
b(0) = v - truncate(v / 256) * 256
v = truncate(v / 256)
b(1) = v - truncate(v / 256) * 256
v = truncate(v / 256)
b(2) = v - truncate(v / 256) * 256
v = truncate(v / 256)
b(3) = v - truncate(v / 256) * 256
dec2ip = b
End Function
' Elimina la parte decimale da un double.
' N.B. non è possibile farlo con clng() poiché genera un overflow
Public Function truncate(ByVal v As Double) As Double
Dim s As String, idx As Integer, ret As Double
s = Replace(CStr(v), ",", ".")
idx = InStr(s, ".")
If idx > 0 Then
' Prende solo la parte intera
s = Left(s, idx - 1)
End If
ret = CDbl(s)
truncate = s
End Function
1agina p