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

📄 unit1.pas

📁 网络编程十个重要的实例
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,filectrl, ExtCtrls;

type
  TfrmMain = class(TForm)
    GroupBox1: TGroupBox;
    RadioGroup1: TRadioGroup;
    GroupBox2: TGroupBox;
    StaticText2: TStaticText;
    StaticText3: TStaticText;
    edtHostName: TEdit;
    edtIP: TEdit;
    GroupBox3: TGroupBox;
    memResult: TMemo;
    GroupBox4: TGroupBox;
    btnRun: TButton;
    btnExit: TButton;
    procedure btnRunClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnExitClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation
var
 temp:string;
{$R *.DFM}
procedure TfrmMain.FormCreate(Sender: TObject);
begin
  memResult.lines.Clear;
  temp:='c:\nbtstat.txt';
end;

procedure TfrmMain.btnRunClick(Sender: TObject);
var
  command:string;
begin
memResult.Lines.Clear ;
if fileexists(temp) then
  deletefile(temp);
//每次查询前将前次结果清除,上面三个清空或删除语句保证了多次查询时每次得到的都是最新查询的结果。

case radiogroup1.ItemIndex of
  0: command:='command.com /C nbtstat '+'-a '+edtHostName.text+' > '+temp;
  1: command:='command.com /C nbtstat '+'-A '+edtIP.text+' > '+temp;
  2: command:='command.com /C nbtstat '+'-n  > '+temp;
 end;
 winexec(pchar(command),sw_hide);
while not fileexists(temp) do
  sleep(3000);
//为了临时文件的建立等待3秒种,根据网络速度,可以适当增加此值
try
 memResult.lines.loadfromfile(temp);
except
//此处不写任何代码,即关闭任何异常。
end;
end;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if fileexists(temp) then
 deletefile(temp);
 //程序退出时删掉临时文件
end;

procedure TfrmMain.btnExitClick(Sender: TObject);
begin
  frmMain.Close;
end;

end.

⌨️ 快捷键说明

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