HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

свой IP [Delphi]
  #1  
Старый 07.12.2009, 18:57
marcos
Участник форума
Регистрация: 08.11.2009
Сообщений: 114
С нами: 8687741

Репутация: -4
По умолчанию свой IP [Delphi]

Всем привет! Подскажите как средствами Делфи узнать свой IP
 
Ответить с цитированием

  #2  
Старый 07.12.2009, 19:26
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
С нами: 8690006

Репутация: 0
По умолчанию

а что гугол сломалься??

Код:
uses
  Winsock;

{...}

function getIPs: Tstrings;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array[0..63] of Char;
  I: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := TstringList.Create;
  Result.Clear;
  GetHostName(Buffer, SizeOf(Buffer));
  phe := GetHostByName(buffer);
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  I    := 0;
  while pPtr^[I] <> nil do
  begin
    Result.Add(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines := GetIps;
end;

Последний раз редактировалось slesh; 07.12.2009 в 19:29.. Причина: А что теги [code] отсутствуют?
 
Ответить с цитированием

  #3  
Старый 07.12.2009, 19:34
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
С нами: 8694756

Репутация: 17
По умолчанию

Код:
uses
 ..., WinSock;


Function showIP : string;
type
  TaPInAddr = array [0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe  : PHostEnt;
  pptr : PaPInAddr;
  Buffer : array [0..63] of char;
  I    : Integer;
  GInitData      : TWSADATA;

Begin
  WSAStartup($101, GInitData);
  Result := '';
  GetHostName(Buffer, SizeOf(Buffer));
  phe :=GetHostByName(buffer);
  if phe = nil then Exit;
  pptr := PaPInAddr(Phe^.h_addr_list);
  I := 0;
  while pptr^[I] <> nil do begin
    Result := Result + StrPas(inet_ntoa(pptr^[I]^)) + '<-->' ;
    Inc(I);
  end;
  WSACleanup;
End;
 
Ответить с цитированием

  #4  
Старый 07.12.2009, 19:36
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
С нами: 8694756

Репутация: 17
По умолчанию

Цитата:
Сообщение от OPF_Nik  
DeaD_MoroZ а смысл 2 выкладывать?
пока писал ты уже выложил(= пару минут не успел...\=
 
Ответить с цитированием

  #5  
Старый 07.12.2009, 19:38
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
С нами: 8690006

Репутация: 0
По умолчанию

DeaD_MoroZ

бывает))) а все по тому, что кому то лень самому искать...
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Microsoft показала свой новый поисковик jerrri Мировые новости. Обсуждения. 1 01.06.2009 17:19
Liberty Framework (Свой) Krost PHP 16 04.03.2009 18:16
Как создать свой dns. debil Болталка 2 26.05.2006 02:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.