Código
// Pode servir para uma varredura de ip
// Obs.: junto vai uma funcao de calculo pra pontecia já que
// novato ainda em delphi e nao achei funcao nem ^ funcionou
function potencia(n,p:integer) : longint ;
var
r,i:integer ;
begin
if (p = 0) then r := 1
else
begin
r:=1;
for i:=1 to p do
begin
r := r * n;
end;
end;
potencia := r;
end;
function iptolongip(ip: string ) : real ;
var
A : array[0..3] of integer ;
i : integer;
c,b : real;
begin
for i:=0 to 2 do
begin
A[i] := strtoint(copy(ip,1,pos('.',ip)-1 )) ;
delete(ip,1,pos('.',ip));
end;
A[3] := strtoint(ip) ;
b := 0 ;
for i:=0 to 3 do
begin
c := potencia(256,3-i);
b := b + (A[i] * c);
end;
iptolongip := b ;
end;
function longiptoip(longip: real) : string ;
var
ip : string;
i : integer ;
a,temp : real ;
begin
i:= 3 ;
while i >= 0 do
begin
a := potencia(256,i);
temp := int(longip / a) ;
ip := ip + floattostr(temp) + '.' ;
longip := longip - (temp * a) ;
i := i-1;
end;
delete(ip,length(ip),1) ;
longiptoip := ip ;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009