下载本文示例代码
本程序介绍如何获取本地计算机的名称和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地址