Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: 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 вся ветка

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-2108
Marina_S
2004-01-19 21:39
2004.02.02
Как запустить исходник?


1-2084
Крутыш
2004-01-19 23:26
2004.02.02
Есть ли документация русская


14-2296
}|{yk
2004-01-12 16:34
2004.02.02
Вопросы из харьковского ЧГК. №15


1-2178
AlexNx
2004-01-21 12:59
2004.02.02
Внедрение форм из DLL...


4-2420
Вадим
2003-11-25 10:00
2004.02.02
Поверх всех окон