Grazie Mille.
Comunque ho trovato la soluzione da solo.
uses windows, sockets, winsock;
type
PHostEntry = PHostEnt;
PAddr = ^sockets.in_addr;
var
Host:PHostEntry;
FAddresses : Paddr;
FHostAddress : sockets.in_addr;
Procedure SaveHostEntry(Entry : Pointer);
Var
I : Integer;
FAddressCount : word;
begin
With PHostEntry(Entry)^ do
begin
FAddressCount:=0;
While H_Addr[FAddressCount]<>Nil do
Inc(FAddressCount);
If FAddressCount>0 then
begin
GetMem(FAddresses,FAddressCount*SizeOf(in_addr));
For I:=0 to FAddressCount-1 do begin
FAddresses[I].s_addr:=NetToHost(PAddr(H_Addr[I])^.s_addr);
end;
FHostAddress:=FAddresses[0];
end;
end;
end;
BEGIN
host := gethostbyname(pchar('PC01'));
{Se l'indirizzo di rete è //PC01, praticamente si toglie "//"}
writeln(memsize(host));
savehostentry(host);
writeln('Addr : ',FHostAddress.s_addr);
with FHostAddress do writeln('IP : ',s_bytes[4],'.',s_bytes[3],'.',s_bytes[2],'.',s_bytes[1]);
readln;
END.
|