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

📄 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;
  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.

⌨️ 快捷键说明

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