par oguruma » 25 Fév 2004 à 16:26
Synopsis de base de documents Lotus Notes - créé à 16:03:36 le 25/02/2004Informations de bibliothèque de codesNom : InternetAddressClassDernière modification : 25/02/2004 15:50:03Code LotusScript :Option PublicPublic Const IP_SUCCESS = 0Private Const WSADescription_Len = 255 ' 256, 0-basedPrivate Const WSASYS_Status_Len = 127 ' 128, 0-basedPublic Const WS_VERSION_REQD = &H101Public Const MIN_SOCKETS_REQD = 1Public Const SOCKET_ERROR = -1Public Type WSADATA wVersion As Integer wHighVersion As Integer szDescription(0 To WSADescription_Len) As Integer szSystemStatus(0 To WSASYS_Status_Len) As Integer wMaxSockets As Long wMaxUDPDG As Long dwVendorInfo As LongEnd TypeDeclare Function gethostbyname Lib "wsock32" (Byval hostname As String) As LongDeclare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (xDest As Any, xSource As Any, Byval nbytes As Long)Declare Function lstrlenA Lib "kernel32" (lpString As Any) As LongDeclare Function WSAStartup Lib "wsock32" (Byval wVersionRequired As Long, lpWSADATA As WSADATA) As LongDeclare Function WSACleanup Lib "wsock32" () As LongDeclare Function inet_ntoa Lib "wsock32.dll" (Byval addr As Long) As LongDeclare Function lstrcpyA Lib "kernel32" (Byval RetVal As String, Byval Ptr As Long) As LongClass HostName Private HostNameStr As String Public IPAddress As String Public ErrMsg As String Public Error As Integer Sub New(host As String) If SocketsInitialize() Then Me.IPAddress = GetIPFromHostName(host) Me.Error = 0 Me.ErrMsg = "" If Not SocketsCleanup Then Me.Error = 200 Me.ErrMsg = "Windows Sockets error occurred in Cleanup." End If Else Me.Error = 100 Me.ErrMsg = "Windows Sockets for 32 bit Windows is not successfully responding." Me.IPAddress = "" End If End SubEnd ClassPrivate Function SocketsInitialize() As Integer Dim WSAD As WSADATA Dim success As Long SocketsInitialize = (WSAStartup(WS_VERSION_REQD, WSAD) = IP_SUCCESS)End FunctionPrivate Function SocketsCleanup() As Integer If WSACleanup() <> 0 Then SocketsCleanup = False Else SocketsCleanup = True End IfEnd FunctionPrivate Function GetIPFromHostName(Byval sHostName As String) As String Dim ptrHosent As Long Dim ptrName As Long Dim ptrAddress As Long Dim ptrIPAddress As Long Dim dwAddress As Long ptrHosent = gethostbyname(sHostName & Chr(0)) If ptrHosent <> 0 Then ptrName = ptrHosent ptrAddress = ptrHosent + 12 CopyMemory ptrAddress, Byval ptrAddress, 4 CopyMemory ptrIPAddress, Byval ptrAddress, 4 CopyMemory dwAddress, Byval ptrIPAddress, 4 GetIPFromHostName = GetIPFromAddress(dwAddress) End IfEnd FunctionPublic Function GetIPFromAddress(Address As Long) As String Dim ptrString As Long ptrString = inet_ntoa(Address) GetIPFromAddress = GetStrFromPtrA(ptrString)End FunctionPublic Function GetStrFromPtrA(Byval lpszA As Long) As String GetStrFromPtrA = String$(lstrlenA(Byval lpszA), 0) Call lstrcpyA(Byval GetStrFromPtrA, Byval lpszA)End Function
Bien à vous
http://www.dominoarea.org/oguruma/
Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci
Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)