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

📄 backup.pas

📁 本图书管理系统一sql server为数据库开发平台
💻 PAS
字号:
unit Backup;
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ToolWin,ExtCtrls,buttons,IniFiles, ADODB, ImgList,myclass;

type
  TBackUpForm = class(TForm)
    SpeedButton1: TSpeedButton;
    ProgressBar1: TProgressBar;
    SaveDialog1: TSaveDialog;
    SpeedButton2: TSpeedButton;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    StaticText1: TStaticText;
    Edit2: TEdit;
    Image1: TImage;
    procedure CreateParams(var Params: TCreateParams); override;
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure StaticText1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure StaticText1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure StaticText1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton2Click(Sender: TObject);
 private

   procedure WMPAINT1(var msg:TMESSAGE);message WM_PAINT;
   procedure WMNCPAINT1(var msg:TWMNCPAINT);message WM_NCPAINT;
   procedure Active(var msg:Tmessage);message WM_ACTIVATE;
   procedure WMNCLBUTTONDBLCLK1(var msg:Tmessage);message WM_NCLBUTTONDBLCLK;
       { Private declarations }
  public
    titleBmp:Tbitmap;
    path:string;
    setini:TINIFILe;
    { Public declarations }
  end;


implementation

uses MainForm,DataModule;
{$R *.dfm}
procedure TBackUpForm.WMNCLBUTTONDBLCLK1(var msg:Tmessage);
begin
  //
end;
procedure TBackUpForm.Active(var msg:Tmessage);
begin
  self.WMPAINT1(msg);
end;

procedure TBackUpForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
  params.Style:=params.Style-WS_SYSMENU;
end;

procedure TBackUpForm.WMPAINT1(var msg:TMESSAGE);
begin
  sendmessage(self.Handle,WM_NCPAINT,0,0);
  inherited;
end;

procedure TBackUpForm.WMNCPAINT1(var msg:TWMNCPAINT);
var
  dc1:HDC;
  y,frame:integer;
  oldbrush:HBrush;
  oldpen,pen:HPEN;
  canvas:Tcanvas;
begin
  canvas:=Tcanvas.Create;
  dc1:=getwindowdc(Handle);
  y:=GetSystemMetrics(SM_CYSIZE);
  frame:=GetSystemMetrics(SM_CYSIZEFRAME);
  oldbrush:=selectobject(dc1,getstockobject(null_brush));
  pen:=createpen(PS_SOLID,1,rgb(155,155,155));
  oldpen:=selectobject(dc1,pen);
  RoundRect(dc1,0,0,Width,Height,12,12);
  pen:=createpen(PS_SOLID,frame*2-5,rgb(255,255,255));
  selectobject(dc1,pen);
  RoundRect(dc1,2,2,Width-2,Height-2,8,10);
  StretchBlt(dc1,frame,frame,Width-2*frame,y+frame div 2,titlebmp.Canvas.Handle,0,0,titlebmp.Width,titlebmp.Height,srccopy);
  canvas.Handle:=dc1;
  canvas.Brush.Style:=bsclear;
  canvas.TextOut(frame*3,(y-frame)div 2,self.Caption);
  selectobject(dc1,oldbrush);
  selectobject(dc1,oldpen);
  deleteObject(pen);
  canvas.Handle:=0;
  canvas.Free;
  releasedc(Handle,dc1);
end;

procedure TBackUpForm.FormCreate(Sender: TObject);
begin
  setini:=Tinifile.Create(main.dir+'\system.ini');
  edit1.Text:=setini.ReadString('BackupPath','path',main.dir+'\backup.dat');
  titlebmp:=Tbitmap.Create;
  titlebmp.LoadFromResourceName(main.resource,'TItle');
  progressbar1.Max:=progressbar1.Width;
end;

procedure TBackUpForm.SpeedButton1Click(Sender: TObject);
var
  backup:TbackupThread;
begin
  backup:=tbackupthread.Create(true);
  backup.sender:=progressbar1;
  backup.command:=data.ADOCommand1;
  backup.folder:=edit1.Text;
  backup.backname:=edit2.Text;
  backup.parent:=self;
  progressbar1.Visible:=true;
  backup.Resume;
end;

procedure TBackUpForm.StaticText1Click(Sender: TObject);
begin
  if savedialog1.Execute then
  begin
    path:=savedialog1.FileName;
    setini.WriteString('BackupPath','path',path);
    edit1.Text:=path;
  end;
end;

procedure TBackUpForm.FormDestroy(Sender: TObject);
begin
  setini.Free;
end;

procedure TBackUpForm.StaticText1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  statictext1.BevelKind:=BKsoft;
end;

procedure TBackUpForm.StaticText1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  statictext1.BevelKind:=bkflat;
end;

procedure TBackUpForm.SpeedButton2Click(Sender: TObject);
begin
  close;
end;

end.

⌨️ 快捷键说明

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