亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainunit.pas

?? 軟件可自動完成SQL Server數據庫和文檔的數據定時自動備份
?? PAS
字號:
//*-----------------------------------------------------------------------------
//*  系統名稱:數據自動備份系統
//*  作    者:陳春華
//*  開發時間:2005
//*  Windows2000 Server + SQL Server2000 + Delphi7
//*  功能簡介:
//*              軟件可自動完成SQL Server數據庫和文檔的數據定時自動備份,
//*          由用戶選擇對哪些數據庫或文檔進行數據備份,提供對備份、還原
//*          數據作業的管理、分析、日志跟蹤等功能,備份頻率不受限制。
//*-----------------------------------------------------------------------------

unit MainUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, IniFiles, ComCtrls, ImgList, ToolWin, jpeg,
  ExtCtrls, ShellApi, DateUtils, AppEvnts, WinSkinData;

const
  ICON_ID=1;
  MI_ICONEVENT=WM_USER+1;  

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    F1: TMenuItem;
    N1: TMenuItem;
    D1: TMenuItem;
    F2: TMenuItem;
    I1: TMenuItem;
    N2: TMenuItem;
    F3: TMenuItem;
    D2: TMenuItem;
    N3: TMenuItem;
    X1: TMenuItem;
    O1: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    R1: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    H1: TMenuItem;
    A1: TMenuItem;
    Q1: TMenuItem;
    OpenDialog: TOpenDialog;
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    StatusBar1: TStatusBar;
    B1: TMenuItem;
    L1: TMenuItem;
    ToolButton13: TToolButton;
    Image1: TImage;
    ApplicationEvents1: TApplicationEvents;
    PopupMenu: TPopupMenu;
    A2: TMenuItem;
    S1: TMenuItem;
    X2: TMenuItem;
    SkinData1: TSkinData;
    procedure D1Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure F2Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure Q1Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure F3Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure X1Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure A1Click(Sender: TObject);
    procedure B1Click(Sender: TObject);
    procedure L1Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure R1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ApplicationEvents1Minimize(Sender: TObject);
    procedure ApplicationEvents1Restore(Sender: TObject);
    procedure S1Click(Sender: TObject);
    procedure A2Click(Sender: TObject);
    procedure X2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    NotifyIcon:TNotifyIconData;
    procedure IconOnClick(var message:TMessage); message MI_ICONEVENT;
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses NewDBBackupItem, BackupThreadUnit, SqlFunctionUnit,
     VariableUnit, DataModuleUnit, FileBackupThreadUnit,
     FileBackupDesignUnit, LogShowUnit, AboutUnit, DBRestoreUnit;

{$R *.dfm}

procedure TMainForm.D1Click(Sender: TObject);
begin
  DBHaveFinishedSet:=False;
  NewDBBackupForm.ShowModal;
end;

procedure TMainForm.N5Click(Sender: TObject);
var
  backupThread: TBackupThread;
begin
  if DBHaveFinishedSet then
    begin
      MainForm.StatusBar1.Panels[0].Text:='數據庫'+DBName+'備份中,請稍后...';
      backupThread:=TBackupThread.Create(serverName,userName,pwsd,DBName,path);
      backupThread.Resume;
    end
  else
    showMessage('請先進行數據庫備份設置或導入備份配置文件!');
end;

procedure TMainForm.N4Click(Sender: TObject);
begin
  if DBHaveFinishedSet then
    begin
      DM.DBTimer1.Enabled:=True;
      MainForm.StatusBar1.Panels[0].Text:='數據庫自動備份已啟動!';
      N4.Enabled:=False;
      N6.Enabled:=True;
    end
  else
    showMessage('請先進行數據庫備份設置或導入備份配置文件!');
end;

procedure TMainForm.N6Click(Sender: TObject);
begin
  DM.DBTimer2.Enabled:=False;
  MainForm.StatusBar1.Panels[0].Text:='數據庫自動備份已停止!';
  N6.Enabled:=False;
  N4.Enabled:=True;
  DBHaveFinishedSet:=False;
end;

procedure TMainForm.F2Click(Sender: TObject);
begin
  FileBackupDesignForm.ShowModal;
end;

procedure TMainForm.N8Click(Sender: TObject);
begin
  if fileHaveFinishedSet then
    begin
      DM.FileTimer1.Enabled:=True;
      MainForm.StatusBar1.Panels[1].Text:='文件項目自動備份已啟動!';
      N8.Enabled:=False;
      N9.Enabled:=True;
    end
  else
    showMessage('請先進行文件備份設置或導入備份配置文件!');
end;

procedure TMainForm.Q1Click(Sender: TObject);
var
  fileBackupThread: TFileBackupThread;
  iniFile: TIniFile;
begin
  if fileHaveFinishedSet then
    begin
      if FileExists(ExtractFilePath(ParamStr(0))+'\'+fileItemName+'.ini') then
        begin
          try
            inifile:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'\'+fileItemName+'.ini');
            fileFreeSize:=inifile.ReadFloat('備份設置','目的地址空間',fileFreeSize);
            lastBackupTime:=inifile.ReadDateTime('備份設置','最近一次備份時刻',lastBackupTime);
          finally
            inifile.Free;
          end;
        end;
      MainForm.StatusBar1.Panels[1].Text:='文件項目'+fileItemName+'備份中,請稍后...';
      fileBackupThread:=TFileBackupThread.Create(fileSourceAdd,fileAmiAdd,fileItemName,lastBackupTime,fileFreeSize);
      fileBackupThread.Resume;
    end
  else
    showMessage('請先進行文件備份設置或導入備份配置文件!');
end;

procedure TMainForm.N9Click(Sender: TObject);
begin
  DM.FileTimer2.Enabled:=False;
  MainForm.StatusBar1.Panels[1].Text:='文件項目自動備份已停止!';
  N9.Enabled:=False;
  N8.Enabled:=True;
  fileHaveFinishedSet:=False;
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  if not DirectoryExists(ExtractFilePath(ParamStr(0))+'\Log') then
    begin
      ForceDirectories(ExtractFilePath(ParamStr(0))+'\Log');
    end;
  if not DirectoryExists(ExtractFilePath(ParamStr(0))+'\TempBackupFile') then
    begin
      ForceDirectories(ExtractFilePath(ParamStr(0))+'\TempBackupFile');
    end;
  with NotifyIcon do
    begin
      cbSize:=SizeOf(TNotifyIconData);
      Wnd:=Handle;   //指向當前窗體Form1的句柄
      uID:=ICON_ID;
      uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
      uCallBackMessage:=MI_ICONEVENT;
      hIcon:=Application.Icon.Handle;
      szTip:='Backup System'
    end;
    //把設置好的變量NotifyIcon加入到系統中以便處理
  Shell_NotifyIcon(NIM_ADD,@NotifyIcon);

  N6.Enabled:=False;
  N9.Enabled:=False;
  StatusBar1.Panels[0].Width:=StatusBar1.Width div 2;
end;

procedure TMainForm.N2Click(Sender: TObject);
var
  inifile: TIniFile;
begin
  OpenDialog.InitialDir:= ExtractFilePath(ParamStr(0));
  if OpenDialog.Execute then
    begin
      try
        inifile:=TIniFile.Create(OpenDialog.FileName);
        try
          with iniFile do
            begin
              userName:=ReadString('備份設置','服務器用戶',userName);
              pwsd:=ReadString('備份設置','服務器密碼',pwsd);
              serverName:= ReadString('備份設置','服務器',serverName);
              DBName := ReadString('備份設置','數據庫',DBName);
              path:= ReadString('備份設置','備份路徑',path);
              backupTime:= ReadTime('備份設置','定時時刻',backupTime);
              frequency:= ReadFloat('備份設置','備份頻率',frequency);
            end;
          showMessage('讀取備份設置文件成功!');
          DBHaveFinishedSet:=True;
        except
          showMessage('讀取備份設置文件失敗!');
        end;
      finally
        inifile.Free;
      end;
    end;
end;

procedure TMainForm.F3Click(Sender: TObject);
var
  inifile: TIniFile;
begin
  OpenDialog.InitialDir:= ExtractFilePath(ParamStr(0));
  if OpenDialog.Execute then
    begin
      try
        inifile:=TIniFile.Create(OpenDialog.FileName);
        try
          with iniFile do
            begin
              fileItemName:=readString('備份設置','備份項目名稱',fileItemName);
              fileSourceAdd:=readString('備份設置','備份文件源地址',fileSourceAdd);
              fileAmiAdd:=readString('備份設置','備份文件目的地址',fileAmiAdd);
              fileFreeSize:=ReadFloat('備份設置','目的地址空間',fileFreeSize);
              fileBackupTime:=readTime('備份設置','定時時刻',fileBackupTime);
              fileFrequency:=readFloat('備份設置','備份頻率',fileFrequency);
              lastBackupTime:=readDateTime('備份設置','最近一次備份時刻',lastBackupTime);
            end;
          showMessage('讀取備份設置文件成功!');
          fileHaveFinishedSet:=True;
        except
          showMessage('讀取備份設置文件失敗!');
        end;
      finally
        inifile.Free;
      end;
    end;
end;

procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
  D1.Click;
end;

procedure TMainForm.ToolButton2Click(Sender: TObject);
begin
  F2.Click;
end;

procedure TMainForm.ToolButton3Click(Sender: TObject);
begin
  N2.Click;
end;

procedure TMainForm.ToolButton4Click(Sender: TObject);
begin
  F3.Click;
end;

procedure TMainForm.ToolButton5Click(Sender: TObject);
begin
  B1.Click;
end;

procedure TMainForm.ToolButton6Click(Sender: TObject);
begin
  L1.Click;
end;

procedure TMainForm.ToolButton7Click(Sender: TObject);
begin
  N5.Click;
end;

procedure TMainForm.ToolButton8Click(Sender: TObject);
begin
  Q1.Click;
end;

procedure TMainForm.X1Click(Sender: TObject);
begin
  Close;
  {if MessageDlg('您確定要退出該系統嗎?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then
    begin
      Application.Terminate;
    end;}
end;

procedure TMainForm.ToolButton9Click(Sender: TObject);
begin
  R1.Click;
end;

procedure TMainForm.A1Click(Sender: TObject);
begin
  about.ShowModal;
end;

procedure TMainForm.B1Click(Sender: TObject);
var
  TF:TLogShowForm;
begin
  if not fileExists(ExtractFilePath(ParamStr(0))+'\Log\DBBackupLog.log') then
    showMessage('還沒有任何數據庫備份項目進行過,數據庫備份日志文件不存在!')
  else
    begin
      TF:=TLogShowForm(Application.FindComponent('LogShowForm'));
      if not(Assigned(TF)) then
        begin
         TF:=TLogShowForm.create(Application);
         TF.name:='LogShowForm';
        end;
      TF.show;
      TF.Memo1.Lines.Clear;
      TF.Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0))+'\Log\DBBackupLog.log');
      DBOrFileLog:=True;
    end;
end;

procedure TMainForm.L1Click(Sender: TObject);
var
  TF:TLogShowForm;
begin
  if not fileExists(ExtractFilePath(ParamStr(0))+'\Log\FileBackupLog.log') then
    showMessage('還沒有任何文件備份項目進行過,文件備份日志文件不存在!')
  else
    begin
      TF:=TLogShowForm(Application.FindComponent('LogShowForm'));
      if not(Assigned(TF)) then
        begin
         TF:=TLogShowForm.create(Application);
         TF.name:='LogShowForm';
        end;
      TF.show;
      TF.Memo1.Lines.Clear;
      TF.Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0))+'\Log\FileBackupLog.log');
      DBOrFileLog:=False;
    end;
end;

procedure TMainForm.ToolButton13Click(Sender: TObject);
begin
  X1.Click;
end;

procedure TMainForm.R1Click(Sender: TObject);
begin
  if not DBHaveFinishedSet then
    RestoreForm.ShowModal
  else
    showMessage('請停止正在進行數據庫自動備份項目!');
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  Shell_NotifyIcon(NIM_DELETE,@NotifyIcon);
end;

procedure TMainForm.ApplicationEvents1Minimize(Sender: TObject);
begin
  ShowWindow(Application.Handle,SW_HIDE);
end;

procedure TMainForm.ApplicationEvents1Restore(Sender: TObject);
begin
  ShowWindow(Application.Handle,SW_SHOW);
end;

procedure TMainForm.IconOnClick(var message:TMessage);
var
  p:TPoint;
begin
  if (message.LParam=WM_LBUTTONDOWN) then
    begin
      Application.Restore;
      Application.BringToFront;
    end;
  if (message.LParam=WM_RBUTTONDOWN) then
    begin
      GetCursorPos(p);
      PopupMenu.Popup(p.X,p.Y);
    end;
end;

procedure TMainForm.S1Click(Sender: TObject);
begin
  Application.Restore;
  Application.BringToFront;
end;

procedure TMainForm.A2Click(Sender: TObject);
begin
  about.ShowModal;
end;

procedure TMainForm.X2Click(Sender: TObject);
begin
  close;
  {if MessageDlg('您確定要退出該系統嗎?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then
    begin
      Application.Terminate;
    end; }
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if MessageDlg('您確定要退出該系統嗎?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then
    begin
      Application.Terminate;
    end
  else
    Abort;
end;

end.


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲精品在线观看| 亚洲人成电影网站色mp4| 亚洲视频在线一区二区| 麻豆精品一区二区| 欧美亚一区二区| 亚洲欧洲日产国码二区| 极品少妇xxxx偷拍精品少妇| 在线观看不卡一区| 中文字幕中文乱码欧美一区二区| 毛片av一区二区三区| 日本韩国视频一区二区| 国产亚洲欧美中文| 国产在线精品免费av| 欧美一区二区三区在线观看| 亚洲人成网站影音先锋播放| 国产高清精品网站| 精品日韩99亚洲| 日本va欧美va欧美va精品| 在线观看视频一区二区| 亚洲男人天堂av| 99vv1com这只有精品| 国产欧美日韩麻豆91| 国产美女主播视频一区| 精品成人在线观看| 狠狠色综合播放一区二区| 欧美一级在线免费| 裸体歌舞表演一区二区| 日韩午夜精品视频| 麻豆国产精品一区二区三区| 91精品啪在线观看国产60岁| 日韩av一二三| 欧美成人精品福利| 麻豆成人免费电影| 2020日本不卡一区二区视频| 韩国女主播成人在线观看| 欧美精品一区二区三区一线天视频| 日韩国产欧美在线播放| 69堂国产成人免费视频| 欧美aaaaaa午夜精品| 欧美本精品男人aⅴ天堂| 精品一区二区三区香蕉蜜桃 | 国产精品全国免费观看高清 | 国产日韩欧美在线一区| 国产91丝袜在线18| 专区另类欧美日韩| 欧洲色大大久久| 日韩福利电影在线| 久久久久久久av麻豆果冻| 国产99久久精品| 亚洲免费成人av| 91精品在线一区二区| 蜜桃传媒麻豆第一区在线观看| 精品处破学生在线二十三| 成人午夜在线播放| 亚洲国产欧美在线人成| 日韩欧美视频在线| 波多野结衣的一区二区三区| 一区二区在线免费观看| 欧美一区二区三区色| 韩国女主播成人在线| 亚洲色图欧美偷拍| 日韩欧美你懂的| 成人黄色国产精品网站大全在线免费观看| 亚洲日本乱码在线观看| 日韩一区二区在线观看视频 | 欧美精品精品一区| 国产成人a级片| 亚洲国产成人精品视频| 久久九九久久九九| 欧美日韩国产免费| 懂色av一区二区三区蜜臀 | 久久99久久精品| 亚洲欧美日韩综合aⅴ视频| 欧美美女一区二区在线观看| 国产精品69毛片高清亚洲| 亚洲一本大道在线| 国产亚洲欧洲一区高清在线观看| 欧美视频在线一区| 成人免费毛片片v| 奇米色777欧美一区二区| 亚洲丝袜制服诱惑| 精品粉嫩超白一线天av| 欧美影院一区二区三区| 成人手机电影网| 免费日韩伦理电影| 亚洲午夜精品17c| 中文字幕一区免费在线观看| 日韩一区二区三区免费看| 色婷婷综合久久久久中文| 国产成人精品免费网站| 日韩va欧美va亚洲va久久| 有码一区二区三区| 中文字幕av资源一区| 精品国产a毛片| 6080日韩午夜伦伦午夜伦| 91网站黄www| 风间由美一区二区av101| 精品系列免费在线观看| 婷婷丁香久久五月婷婷| 一区二区在线观看视频| 国产精品第五页| 久久久国产精华| 久久亚洲捆绑美女| 精品日韩一区二区三区| 日韩欧美在线不卡| 欧美一区日本一区韩国一区| 欧美日韩国产综合一区二区 | 精品国产成人系列| 精品日本一线二线三线不卡| 欧美人xxxx| 欧美日韩国产一级| 欧美日韩国产一二三| 欧美日韩国产一区| 在线播放欧美女士性生活| 欧美美女视频在线观看| 欧美日韩激情在线| 777a∨成人精品桃花网| 91精品国产欧美一区二区18| 欧美精品一卡两卡| 欧美一级在线免费| 精品国产污网站| 欧美激情综合在线| 中文字幕一区在线| 亚洲伊人色欲综合网| 亚洲福利一二三区| 日本成人在线视频网站| 蜜臀av性久久久久蜜臀aⅴ | 2022国产精品视频| 国产三级三级三级精品8ⅰ区| 国产亚洲va综合人人澡精品| 国产精品久久午夜夜伦鲁鲁| 亚洲毛片av在线| 午夜精品福利一区二区蜜股av | 亚洲乱码一区二区三区在线观看| 奇米四色…亚洲| 亚洲激情欧美激情| 亚洲第一精品在线| 精品在线免费观看| 成人动漫一区二区| 欧美影院一区二区三区| 欧美一级二级三级蜜桃| 国产欧美日韩三级| 亚洲国产一区视频| 国产麻豆精品在线观看| 色哟哟一区二区在线观看| 欧美精品久久久久久久多人混战 | 久久精品在这里| 亚洲日本乱码在线观看| 日本人妖一区二区| 成人动漫精品一区二区| 在线成人免费观看| 亚洲欧洲成人av每日更新| 日韩中文字幕1| 不卡大黄网站免费看| 欧美一区二区三区在线电影 | 精品久久久久av影院| 亚洲欧美色综合| 久久99国产精品麻豆| 色老头久久综合| 国产午夜亚洲精品理论片色戒 | 综合欧美一区二区三区| 亚州成人在线电影| 成人天堂资源www在线| 欧美精品视频www在线观看| 国产精品久久免费看| 蜜臀av一级做a爰片久久| 色婷婷狠狠综合| 国产色产综合产在线视频| 日韩av中文在线观看| 91久久精品一区二区三| 久久一区二区三区国产精品| 香蕉成人啪国产精品视频综合网| 成人永久免费视频| 日韩欧美高清dvd碟片| 亚洲一区中文在线| 不卡在线视频中文字幕| 337p日本欧洲亚洲大胆色噜噜| 亚洲综合色网站| 99精品欧美一区| 日本一区二区免费在线| 狠狠狠色丁香婷婷综合激情| 欧美日韩综合在线免费观看| 亚洲人成网站精品片在线观看| 国产精品综合av一区二区国产馆| 欧美电影一区二区三区| 一色桃子久久精品亚洲| 国产成人精品亚洲午夜麻豆| 精品少妇一区二区三区在线播放 | 亚洲一区自拍偷拍| 91色.com| 亚洲日本丝袜连裤袜办公室| 成人自拍视频在线观看| 久久精品一区二区三区不卡| 精品夜夜嗨av一区二区三区| 欧美一区二区三区思思人| 午夜精品久久久久久久99樱桃 | 久久精品视频在线免费观看| 久久福利资源站| 精品国产1区二区| 国产资源精品在线观看|