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

Вниз

Конвертировать IP адрес из строки в какой ни числовой тип... ;)   Найти похожие ветки 

 
Салат   (2007-03-01 10:35) [0]

Подскажите пожалуйста, есть ли готовые функции по переводу IP адреса из строки в числовой тип (longword например) и его восстановление обратно в строковый тип?
Функция для перевода IP в DWord есть, её написал некий Roni Havas (IP2HEX). А вот обратной функции я не нашел...

IP2HEX - http://www.sources.ru/delphi/delphi_convert_normal_ip_to_dword.shtml


 
Dmitrij_K   (2007-03-01 10:43) [1]

CRTSOCK.pas

Function IpToLong(ip:string):LongInt;
var
 x,i:byte;
 ipx:array[0..3] of byte;
 v:integer;
begin
 Result:=0;
 longint(ipx):=0; i:=0;
 for x:=1 to length(ip) do
  if ip[x]="." then begin
   inc(i);
   if i=4 then exit;
  end else begin
   if not (ip[x] in ["0".."9"]) then exit;
   v:=ipx[i]*10+ord(ip[x])-ord("0");
   if v>255 then exit;
   ipx[i]:=v;
  end;
 result:=longint(ipx);
end;

Function LongToIp(Long:LongInt):string;
var
 ipx:array[0..3] of byte;
 i:byte;
begin
 longint(ipx):=long;
 Result:="";
 for i:=0 to 3 do result:=result+IntToStr(ipx[i])+".";
 SetLength(Result,Length(Result)-1);
end;


 
Сергей М. ©   (2007-03-01 10:48) [2]

см. inet_addr(), inet_ntoa() (Winsock.pas)


 
Салат   (2007-03-01 11:03) [3]

Большое спасибо!



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

Форум: "Основная";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.057 c
4-1164498053
Dmitry_177
2006-11-26 02:40
2007.04.22
Своя отрисовка меню


2-1175108605
Dmitry_177
2007-03-28 23:03
2007.04.22
SQL-запрос на проверку существование записи


8-1154771305
Ильдар
2006-08-05 13:48
2007.04.22
Визуализация на BASS


15-1175009740
antonn
2007-03-27 19:35
2007.04.22
Запуск программы от имени другого пользователя


15-1175154774
Post_
2007-03-29 11:52
2007.04.22
Иконки..





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