Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16496605
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:50:15

下载本文示例代码
  本程序介绍如何获取本地计算机的名称和IP地址。   向窗体上添加两个TLabel组件、两个TEdit组件和一个TButton组件,设计完成的主界面如图1所示。 图1 主界面  首先在程序的uses段中添加对WinSock的引用,然后添加一个GetHostName自定义函数,在其中调用GetComputerName函数获取计算机名称,响应代码如下: function TfrmMain.GetHostName:String; var  ComputerName: array[0..MAX_COMPUTERNAME_LENGTH 1] of char;  Size: Cardinal; begin  result:='';  Size := MAX_COMPUTERNAME_LENGTH 1;  GetComputerName(ComputerName, Size);  Result:=StrPas(ComputerName);end;  添加一个NameToIP自定义函数,在其中调用GetHostByName函数根据计算机名称获取计算机的IP地址,响应代码如下: function TfrmMain.NameToIP(Name:string):String; var  WSAData: TWSAData;  HostEnt: PHostEnt; begin  result:='';  WSAStartup(2, WSAData);  HostEnt := GetHostByName(PChar(Name));  if HostEnt <> nil then  begin   with HostEnt^ do    result:= Format('%d.%d.%d.%d',[Byte(h_addr^[0]), Byte(h_addr^[1]),Byte(h_addr^[2]), Byte(h_addr^[3])]);  end;  WSACleanup; end;  程序代码如下: unit Unit1;interfaceusesWindows, Messages, Sys Utils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, WinSock; type  TfrmMain = class(TForm)  btnStart: TButton;  edtIP: TEdit;  edtName: TEdit;  Label1: TLabel;  Label2: TLabel;  function GetHostName:String;  procedure btnStartClick(Sender: TObject);  function NameToIP(Name:string):String;  private   { Private declarations }  public   { Public declarations } end; var  frmMain: TfrmMain;  implementation  {$R *.dfm}  function TfrmMain.GetHostName:String; var  ComputerName: array[0..MAX_COMPUTERNAME_LENGTH 1] of char;  Size: Cardinal; begin  result:='';  Size := MAX_COMPUTERNAME_LENGTH 1;  GetComputerName(ComputerName, Size);  Result:=StrPas(ComputerName); end; procedure TfrmMain.btnStartClick(Sender: TObject); begin  edtName.Text:=GetHostName;  edtIP.Text:=NameToIP(edtName.Text); end; function TfrmMain.NameToIP(Name:string):String; var  WSAData: TWSAData;  HostEnt: PHostEnt; begin  result:='';  WSAStartup(2, WSAData);  HostEnt := GetHostByName(PChar(Name));  if HostEnt <> nil then  begin   with HostEnt^ do   result:= Format('%d.%d.%d.%d',[Byte(h_addr^[0]), Byte(h_addr^[1]),   Byte(h_addr^[2]), Byte(h_addr^[3])]);  end;  WSACleanup; end;end.  保存文件,然后按F9键运行程序,程序运行的初始画面如图2所示。  单击“开始”按钮,就会获取并显示本地计算机的名称和IP地址。程序运行结果如图3所示。 图2 程序运行的初始画面图3 程序运行结果   本程序介绍如何获取本地计算机的名称和IP地址。   向窗体上添加两个TLabel组件、两个TEdit组件和一个TButton组件,设计完成的主界面如图1所示。 图1 主界面  首先在程序的uses段中添加对WinSock的引用,然后添加一个GetHostName自定义函数,在其中调用GetComputerName函数获取计算机名称,响应代码如下: function TfrmMain.GetHostName:String; var  ComputerName: array[0..MAX_COMPUTERNAME_LENGTH 1] of char;  Size: Cardinal; begin  result:='';  Size := MAX_COMPUTERNAME_LENGTH 1;  GetComputerName(ComputerName, Size);  Result:=StrPas(ComputerName);end;  添加一个NameToIP自定义函数,在其中调用GetHostByName函数根据计算机名称获取计算机的IP地址,响应代码如下: function TfrmMain.NameToIP(Name:string):String; var  WSAData: TWSAData;  HostEnt: PHostEnt; begin  result:='';  WSAStartup(2, WSAData);  HostEnt := GetHostByName(PChar(Name));  if HostEnt <> nil then  begin   with HostEnt^ do    result:= Format('%d.%d.%d.%d',[Byte(h_addr^[0]), Byte(h_addr^[1]),Byte(h_addr^[2]), Byte(h_addr^[3])]);  end;  WSACleanup; end;  程序代码如下: unit Unit1;interfaceusesWindows, Messages, Sys Utils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, WinSock; type  TfrmMain = class(TForm)  btnStart: TButton;  edtIP: TEdit;  edtName: TEdit;  Label1: TLabel;  Label2: TLabel;  function GetHostName:String;  procedure btnStartClick(Sender: TObject);  function NameToIP(Name:string):String;  private   { Private declarations }  public   { Public declarations } end; var  frmMain: TfrmMain;  implementation  {$R *.dfm}  function TfrmMain.GetHostName:String; var  ComputerName: array[0..MAX_COMPUTERNAME_LENGTH 1] of char;  Size: Cardinal; begin  result:='';  Size := MAX_COMPUTERNAME_LENGTH 1;  GetComputerName(ComputerName, Size);  Result:=StrPas(ComputerName); end; procedure TfrmMain.btnStartClick(Sender: TObject); begin  edtName.Text:=GetHostName;  edtIP.Text:=NameToIP(edtName.Text); end; function TfrmMain.NameToIP(Name:string):String; var  WSAData: TWSAData;  HostEnt: PHostEnt; begin  result:='';  WSAStartup(2, WSAData);  HostEnt := GetHostByName(PChar(Name));  if HostEnt <> nil then  begin   with HostEnt^ do   result:= Format('%d.%d.%d.%d',[Byte(h_addr^[0]), Byte(h_addr^[1]),   Byte(h_addr^[2]), Byte(h_addr^[3])]);  end;  WSACleanup; end;end.  保存文件,然后按F9键运行程序,程序运行的初始画面如图2所示。  单击“开始”按钮,就会获取并显示本地计算机的名称和IP地址。程序运行结果如图3所示。 图2 程序运行的初始画面图3 程序运行结果 下载本文示例代码


用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址用Delphi获取本地计算机名称和IP地址
阅读(355) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~