backup.pas
上传用户:bjkrmsxy
上传日期:2010-01-31
资源大小:9004k
文件大小:2k
源码类别:

百货/超市行业

开发平台:

Delphi

  1. unit backup;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, Gauges, StdCtrls;
  6. type
  7.   Tbackup_From = class(TForm)
  8.     Gauge1: TGauge;
  9.     GroupBox1: TGroupBox;
  10.     Button1: TButton;
  11.     Button2: TButton;
  12.     Button3: TButton;
  13.     SaveDialog1: TSaveDialog;
  14.     OpenDialog1: TOpenDialog;
  15.     Label1: TLabel;
  16.     procedure Button1Click(Sender: TObject);
  17.     procedure Button2Click(Sender: TObject);
  18.     procedure Button3Click(Sender: TObject);
  19.   private
  20.     { Private declarations }
  21.   public
  22.     { Public declarations }
  23.   end;
  24. var
  25.   backup_From: Tbackup_From;
  26.   DataFile: String;
  27. implementation
  28. {$R *.dfm}
  29. procedure Tbackup_From.Button1Click(Sender: TObject);
  30. var
  31.   i: integer;
  32. begin
  33. DataFile := GetCurrentDir+'datesuper.mdb';
  34.   try
  35.     if not savedialog1.Execute then exit;
  36.     if FileExists(savedialog1.FileName+'.mdb') then
  37.     begin
  38.       if Messagebox(handle,'存在数据库重名,是否覆盖?','存盘选项',mb_iconquestion+mb_yesno)=IDNo then Exit;
  39.     end
  40.     else
  41.     begin
  42.       for i:=Gauge1.MinValue to Gauge1.MaxValue do
  43.         Gauge1.Progress := i;
  44.       CopyFile(PChar(DataFile),PChar(SaveDialog1.FileName+'.mdb'),True);
  45.       Messagebox(handle,'数据库备份成功!','备份数据',mb_iconinformation+mb_ok);
  46.     end;
  47.   except
  48.     Messagebox(handle,'警告:数据库备份失败!','存盘错误',mb_iconwarning+mb_ok);
  49.   end;
  50. end;
  51. procedure Tbackup_From.Button2Click(Sender: TObject);
  52. var
  53.   i: integer;
  54. begin
  55. DataFile := extractfilepath(application.exename)+'datesuper.mdb';
  56.   try
  57.     if not opendialog1.Execute then exit;
  58.     if Messagebox(handle,'警告:现有数据有可能丢失,确定还原?','确定还原',mb_iconquestion+mb_yesno)=IDNo then Exit;
  59.     for i:=Gauge1.MinValue to Gauge1.MaxValue do
  60.       Gauge1.Progress := i;
  61.       CopyFile(PChar(OpenDialog1.FileName),PChar(DataFile),true);
  62.       Messagebox(handle,'数据库还原成功!','还原数据',mb_iconinformation+mb_ok);
  63.   except
  64.     Messagebox(handle,'警告:数据库还原失败!','读取错误',mb_iconwarning+mb_ok);
  65.   end;
  66. end;
  67. procedure Tbackup_From.Button3Click(Sender: TObject);
  68. begin
  69. close;
  70. end;
  71. end.