A függvényekben a WinSock unit-ban található függvényeket fogjuk használni. Nézzük először a GetUrlFromIP függvényt, ami a paraméterként megadott URL-ből megállapítja az IP címet, és ezzel tér vissza.
Mindenekelőtt meg kell hívnunk a WSAStartup függvényt. Ha ezt nem hívjuk meg, akkor nem kapunk jó eredményt.

WSAStartup
Osztály:
function WSAStartup(
wVersionRequired: word;
var WSData: TWSAData
): Integer; stdcall;
Ez a függvény kezdeményezi a Ws2_32.dll használatát.
Paraméterek
wVersionRequired: word
A szükséges verziószámot adhatjuk meg ebben a paraméterben. A word felső és alsó bájtja határozza meg a verziószám major és minor értékét. Ha a 2.2 verzióra van szükség, akkor a $202 értéket kell megadnunk.
var WSData: TWSAData
Ebben a paraméterben egy TWSAData típusú struktúrát kell megadnunk, amiben a Windows Sockets tulajdonságait kapjuk meg.
Visszatérési érték
A függvény visszatérési értéke 0, ha a művelet sikerült.
A paraméterként megadott „xxx.xxx.xxx.xxx” formátumú IP címet (az „xxx”-ek egy 0 és 255 közötti számot jelentenek) az inet_addr függvénnyel integer típusra alakítjuk. Szükségünk lesz egy PHostEnt típusú pointerre, ami egy THostEnt típusú struktúrára mutat. Ezt a struktúrát a gethostbyaddr függvény meghívásával kapjuk meg.

gethostbyaddr
function gethostbyaddr(
addr: Pointer;
len,
Struct: Integer
): PHostEnt; stdcall;
Ezzel a függvénnyel kérdezhetjük le egy adott IP címhez tartozó Host adatait.
Paraméterek
addr: Pointer
Az IP címet tartalmazó integer változó pointerét kell megadnunk ebben a paraméterben. A sztring formátumban megadott IP címet az inet_addr függvénnyel alakíthatjuk át integer típusra (lásd fent).
len
Az első paraméter hossza bájtban (SizeOf(integer)).
Struct: Integer
Ebben a paraméterben adhatjuk meg a lekérdezendő cím típusát.
Visszatérési érték
A függvény visszatérési értéke egy THostEnt típusú struktúrára mutató pointer, vagy nil, ha a lekérdezés nem sikerült. Az IP címhez tartozó Host nevét a struktúra h_name mezőjéből olvashatjuk ki.
A függvény végén a WSACleanUp függvénnyel lezárhatjuk a Windows Sockets DLL használatát.
A GetIpFromUrl függvény a megadott URL-ből fogja megállapítani az ahhoz tartozó IP címet. Első lépés itt is a WSAStartup függvény meghívása. Ha ez sikeres volt, akkor a gethostbyname függvénnyel lekérdezzük a paraméterként megadott Host-hoz tartozó THostEnt típusú struktúra pointerét.

gethostbyname
Osztály:
function gethostbyname(
name: PChar
): PHostEnt; stdcall;
EZ a függvény lekérdezi a paraméterként megadott nevű Host adatait.
Paraméterek
name: PChar
Ebben a paraméterben kell megadnunk a Host nevét (pl. „www.SoftwareOnline.hu”).
Visszatérési érték
A függvény visszatérési értéke hasonlóan a gethostbyadds függvényhez egy THostEnt típusú rekordra mutató pointert ad vissza, vagy nil-t, ha a lekérdezés nem sikerült.
Szükségünk lesz még egy TInAddr típusú struktúrára is. Ha megkaptuk a THostEnt típusú struktúra pointerét, akkor ebből a struktúrából a TInAddr struktúra S_un_b mezőjében megadhatjuk az IP cím egyes elemeit. Ezeket a THostEnt struktúra h_addr_list mezőjéből tudhatjuk meg, és az S_un_b mező s_b1, s_b2, s_b3 és s_b4 mezőibe írjuk be a megfelelő értékeket. Ha ezzel megvagyunk, akkor az inet_ntoa függvénnyel sztringgé alakíthatjuk a TInAddr struktúrában megadott IP címet.