Главная страница
    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.009 c
14-2302
Hint
2004-01-12 18:17
2004.02.02
Microsoft Software Update Service (SUS)


1-2100
terra
2004-01-19 23:59
2004.02.02
компиляция


3-2002
AlexVas
2004-01-07 07:03
2004.02.02
Сортировка даннык в DBGrid


3-2006
Grotesk
2004-01-05 00:58
2004.02.02
Увеличение скорости TADOBachMove


1-2150
Dark Hunter
2004-01-20 18:58
2004.02.02
Нарисовать сетку на форме





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский