自分のPCのIPアドレスを取得するには?


禿鷲  2003-11-25 03:20:28  No: 5739

Buttonを押したらEditに自分のPCのIPアドレスを表示させるようにしたのですが、IPアドレスを取得する関数はあるんでしょうか?


だべさ  2003-11-25 04:21:49  No: 5740

ぼーらんどのさいとの「Q&A」にさんぷるがあるだべさ。
けど、今はさーばー移転中で、あくせす出来ないだべさ。

procedure TForm1.Button1Click(Sender: TObject);
var
  wVersionRequired: Word;
  WSData: TWSAData;
  Status: Integer;
  Name: array[0..255] of Char;
  HostEnt: PHostEnt;
  IP: PChar;
begin
  wVersionRequired := MAKEWORD(1, 1);
  Status := WSAStartup(
        wVersionRequired, WSData);
  if Status <> 0 then begin
    MessageDlg(
      'Error Occured', mterror, [mbOK], 0);
    exit;
  end;
  StrPCopy(Name, Edit1.Text);
  HostEnt := GetHostByName(@Name);
  if HostEnt <> nil then begin
    IP := HostEnt^.h_addr_list^;
    Edit2.Text := IntToStr(Integer(IP[0]))
       + '.' + IntToStr(Integer(IP[1]))
       + '.' + IntToStr(Integer(IP[2]))
       + '.' + IntToStr(Integer(IP[3]));
  end
  else
    Edit2.Text := '(N/A)';
end;

るーたー使ってると、ろーかるIPになるだべさ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加