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

📄 ut_dl_clt.pas

📁 罗小平<<delphi精要>>一书源码
💻 PAS
字号:
unit UT_DL_CLT;

interface

uses
  Windows, Classes, Forms, ScktComp, StdCtrls,
  Controls, ComCtrls, Gauges, ExtCtrls, UT_CLTTHRD;

type
  TFM_DL_CLT = class(TForm)
    CltSocket: TClientSocket;
    lbNote: TLabel;
    btCommand: TButton;
    ggCopy: TGauge;
    procedure btCommandClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    ClientThread: TClientThread;
  public
    procedure InitUI(Mode: Word);
  end;

var
  FM_DL_CLT: TFM_DL_CLT;

implementation

uses SysUtils, FundAndProc;

{$R *.dfm}

{ TFM_DL_CLT }
procedure TFM_DL_CLT.FormCreate(Sender: TObject);
begin
  InitUI(0);
end;

procedure TFM_DL_CLT.InitUI(Mode: Word);
begin
  btCommand.Tag := Mode;
  case Mode of
    0:
    begin
      with CltSocket do
      begin
        Host := Get_ComputerName;
        Port := DefaultPort;
      end;
      lbNote.Caption := '请按“开始”开始下载。';
      ggCopy.Progress := 0;
      btCommand.Caption := '开始';
    end;
    1:
    begin
      lbNote.Caption := '正在下载,请等待……';
      btCommand.Caption := '取消';
    end;
    2:
    begin
      lbNote.Caption := '下载完毕。';
      ggCopy.Progress := ggCopy.MaxValue;
      btCommand.Caption := '确定';
    end;
  end;
end;

procedure TFM_DL_CLT.btCommandClick(Sender: TObject);
begin
  case TComponent(Sender).Tag of
    0:
    begin
      InitUI(1);
      //创建读写线程
      ClientThread := TClientThread.Create(True, CltSocket, ExtractFilePath(ParamStr(0))+'\');
      ClientThread.FreeOnTerminate := True;
      //建立连接
      CltSocket.Open;
      //线程开始运行
      ClientThread.Resume;
    end;
    1:
    begin
      ClientThread.Terminate;
      Close;
    end;
    2:
      Close;
  end;
end;



end.

⌨️ 快捷键说明

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