Вниз
Скачать: CL | DM;

IP to Integer и наооборот   Найти похожие ветки 

 
AlexDBases ©   (2003-11-26 11:40) [0]

Не подскажет кто функцию для представления IP в виде Integer и наооборот?


 
Rouse_ ©   (2003-11-26 13:11) [1]

uses ... CommCtrl;

procedure TForm1.Button1Click(Sender: TObject);
var
ipAddress: Integer;
begin
// Туда
ipAddress := MAKEIPADDRESS(127,0,0,1);
// Обратно
Caption :=
IntToStr(FIRST_IPADDRESS(ipAddress)) + "." +
IntToStr(SECOND_IPADDRESS(ipAddress)) + "." +
IntToStr(THIRD_IPADDRESS(ipAddress)) + "." +
IntToStr(FOURTH_IPADDRESS(ipAddress));
end;


Желаю успехов


 
AlexDBases ©   (2003-11-26 13:22) [2]

СПАСИБО!


 
xShadow ©   (2003-11-26 14:15) [3]

Function IPs_to_IntIP( const IP1, IP2, IP3, IP4: Byte ): LongWord;
//ип адрес в интедгер
var R: LongWord;
M: array[1..4] of LongWord;
I: Byte;
Begin
M[4] := 1;
for I := 3 downto 1 do
M[I] := M[I + 1] * 256;
R := IP1 * M[1] + IP2 * M[2] + IP3 * M[3] + IP4 * M[4];
IPs_to_IntIP := R;
end;

Procedure IntIP_to_IPs( const IP: LongWord; var IP1, IP2, IP3, IP4: Byte );
//интедгер в ипи адреса
var M: array[1..4] of LongWord;
I: Byte;
Begin
M[4] := 1;
for I := 3 downto 1 do
M[I] := M[I + 1] * 256;
IP1 := Trunc( IP / M[1] );
IP2 := Trunc( ( IP - IP1 * M[1] ) / M[2] );
IP3 := Trunc( ( IP - ( IP1 * M[1] + IP2 * M[2] ) ) / M[3] );
IP4 := Trunc( ( IP - ( IP1 * M[1] + IP2 * M[2] + IP3 * M[3] ) ) / M[4] );
end;


Тоже самое тока в моём исполнении пару лет назад...


 
panov ©   (2003-11-26 14:35) [4]

Во всех примерах не учитывается сетевой порядок байт.
см. функции htonl,ntohl,inet_addr,inet_ntoa


 
Rouse_ ©   (2003-11-26 15:16) [5]

> [4] panov © (26.11.03 14:35)
Мой пример предназначен для работы с WC_IPADDRESS
А автор не конкретизировал что именно ему требуется в смысле для чего это ему требуется...
Поэтому, какой вопрос такие и ответы...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
14-2350
.Lex
2004-01-08 11:11
2004.02.02
Да или нет?


14-2360
Тимохов
2004-01-09 19:35
2004.02.02
Вопрос по литературе по программированию.


7-2386
Duk_777
2003-11-08 21:31
2004.02.02
Как отключить показ программы при нажатии alt+tab


7-2398
Duk_777
2003-11-10 22:23
2004.02.02
Директивы компилятора


3-2031
AlexNx
2004-01-06 12:37
2004.02.02
Сортировка в ClientDataSet




   Наверх