⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 《Delphi 7应用编程150例》源码(全)
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, 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;

  if GetComputerName(ComputerName, Size) then
     result:=StrPas(Computername)
  else
     Showmessage('未找到计算机名称!');
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.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -