Function IpToInt(Const AIpAddress: String): LongWord;
Var
Retvar, i, iShift: LongWord;
sData, sSeg: String;
Begin
Retvar := 0;
iShift := 24;
sData := trim(AIpAddress);
while sData <> '' do begin
i := pos('.',sData);
if i <> 0 then begin
sSeg := copy(sData,1,i - 1);
sData := copy(sData,i+1,length(sData));
end
else begin
sSeg := sData;
sData := '';
end;
Retvar := Retvar + (longword(StrToIntDef(sSeg,0)) shl iShift);
dec(iShift,8);
end;
Result:= Retvar;
End;
Function IntToIp(AIpValue: LongWord): String;
Var
Retvar: String;
iSeg, iShift, i, iMask: LongWord;
Begin
Retvar := '';
iShift := 24;
iMask := $FF000000;
for i := 1 to 4 do begin
iSeg := (AIpValue and iMask) shr iShift;
Retvar := Retvar + IntToStr(iSeg);
if i <> 4 then Retvar := Retvar + '.';
iMask := iMask shr 8;
dec(iShift,8);
end;
Result:= Retvar;
End;