| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1012 人关注过本帖
标题:Delphi 取得本机的网络IP
只看楼主 加入收藏
autosun
Rank: 1
来 自:辽宁沈阳
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-1-21
结帖率:100%
收藏
 问题点数:0 回复次数:4 
Delphi 取得本机的网络IP
我要知道本机的IP 不用命令行,用DELPHI完成,不是局域IP,而是网络IP怎么实现???
请教高手(高分找答案)
搜索更多相关主题的帖子: 高分 
2009-08-12 10:35
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,winsock,
  StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.DFM}
 
procedure TForm1.Button1Click(Sender: TObject);
type
  TAddrList = array [0..20] of PInAddr;
  PAddrList = ^TAddrList;
var
  phent : PHostEnt;
  P: PAddrList;
  I : Integer;
begin
   phent := GetHostByName(pchar(edit1.text));
   if phent<>nil then
     begin
        I := 0;
        P := PAddrList(phent^.h_Addr_list);
        while P[I] <> nil do
        begin
            listbox1.items.Add(StrPas(inet_ntoa(P[I]^)));
            Inc(I)
        end
    end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var
      WSAData : TWSAData;
begin
    edit1.text := 'www.bccn.net';
     if (WSAStartup(MAKEWORD(2,0),WSAData)<>0) then
        raise Exception.Create('Winsock Version Error');
end;
 
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
     WSACleanUP;
end;
 
end.
 
2009-08-12 18:43
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 
看错了,你是想在局域网内获取本网络的公网ip,这个得利用一些网站提供的服务。 http://www.
2009-08-12 19:07
s912360101
Rank: 3Rank: 3
来 自:山西
等 级:论坛游侠
帖 子:168
专家分:147
注 册:2009-3-15
收藏
得分:0 
能不能在ip138上面通过获取网叶源代码,查找关键字,在返回在叶面上..???

孤独是一个人的狂欢
2009-09-13 17:03
amex58
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2008-6-16
收藏
得分:0 
function getlocalip(var localip: string): boolean;
var
    hostent: phostent;
    ip: string;
    addr: pchar;
    buffer: array [0..63] of char;
    ginitdata: twsadata;
begin
  result := false;
  try
    wsastartup(2, ginitdata);
    gethostname(buffer, sizeof(buffer));
    hostent := gethostbyname(buffer);
    if hostent = nil then exit;
    addr := hostent^.h_addr_list^;
    ip := format('%d.%d.%d.%d', [byte(addr [0]),
          byte (addr [1]), byte (addr [2]), byte (addr [3])]);
    localip := ip;
    result := true;
  finally
    wsacleanup;
  end;
end;
2009-09-24 15:37
快速回复:Delphi 取得本机的网络IP
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024873 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved