backthread.pas

来自「企业安防管理系统」· PAS 代码 · 共 66 行

PAS
66
字号
unit backthread;

interface

uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls;

type
  TBackThread = class(TThread)
  private
    { Private declarations }
  protected
    procedure Execute; override;
  public
    Procedure BackupDatabase;
  end;

implementation
   uses sjbf,DataModal;
{ Important: Methods and properties of objects in visual components can only be
  used in a method called using Synchronize, for example,

      Synchronize(UpdateCaption);

  and UpdateCaption could look like,

    procedure TBackThread.UpdateCaption;
    begin
      Form1.Caption := 'Updated in a thread';
    end; }

{ TBackThread }

procedure TBackThread.BackupDatabase;
begin
  if Trim(Form17.Edit1.Text)<>'' then
  begin
    Try
      with Data.ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Backup DataBase 报警管理系统 to disk = :a');
        Parameters.ParamByName('a').Value := Trim(Form17.Edit1.Text);
        ExecSQL;
      end;
      Application.MessageBox('备份成功.','提示',64);
      Thread1.Terminate;
    Except
      Application.MessageBox('系统出错.','提示',64);
      Thread1.Terminate;
    end;
    Form17.ProBar1.Position := 0;
  end;
end;

procedure TBackThread.Execute;
begin
  while Form17.ProBar1.Position < Form17.ProBar1.Width do
    Form17.ProBar1.Position := Form17.ProBar1.Position+2;
end;

end.

⌨️ 快捷键说明

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