Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
1-2196
Сережа
2004-01-20 21:38
2004.02.02
Таймер


1-2214
new
2004-01-20 16:40
2004.02.02
copy


14-2338
race1
2004-01-10 18:12
2004.02.02
длинныое имя файла


1-2177
cyborg
2004-01-22 09:31
2004.02.02
TDateTimePicker


3-1992
Navi
2004-01-07 16:51
2004.02.02
Установка FB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский