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

📄 u_dcxml.pas

📁 本软件用DELPHI开发
💻 PAS
字号:
unit U_DcXML;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, Buttons, StdCtrls, ImgList, DB, ADODB,
  Gauges, DateUtils,inifiles, CoolTrayIcon;

type
  Tfrm_DcXML = class(TForm)
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    Panel2: TPanel;
    Panel3: TPanel;
    ImageList1: TImageList;
    ProgressBar1: TProgressBar;
    Gauge1: TGauge;
    RadioGroup1: TRadioGroup;
    Panel4: TPanel;
    Label7: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    RdoZDBF: TRadioButton;
    RdoSDBF: TRadioButton;
    RdoFSBF: TRadioButton;
    DtpTime: TDateTimePicker;
    CboHour: TComboBox;
    Panel5: TPanel;
    btnClose: TSpeedButton;
    btnStart: TSpeedButton;
    btnStop: TSpeedButton;
    timer_dsbf: TTimer;
    Timer_sjdbf: TTimer;
    MemDoc: TMemo;
    GroupBox1: TGroupBox;
    chk_SetZdxx: TCheckBox;
    Cmb_day: TComboBox;
    Label3: TLabel;
    Label5: TLabel;
    Memo1: TMemo;
    Splitter1: TSplitter;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SaveMemo: TSaveDialog;
    CoolTrayIcon: TCoolTrayIcon;
    Timer1: TTimer;
    ADOQuery1: TADOQuery;
    procedure btnCloseClick(Sender: TObject);
    procedure btnStartClick(Sender: TObject);
    procedure timer_dsbfTimer(Sender: TObject);
    procedure Timer_sjdbfTimer(Sender: TObject);
    procedure btnStopClick(Sender: TObject);
    procedure RdoZDBFClick(Sender: TObject);
    procedure RdoFSBFClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RdoSDBFClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure CoolTrayIconClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
    AqrySjjz,AqryCtais,AqryFwsk,AqrySub,AqryCtais1,AqryCtais2:TADOQuery;
    ADOConnSjjz , ADOConnCtais , ADOConnFwsk :TADOConnection;

    function backdata: boolean;
    {
    功能:数据备份主函数
    }
    function DBConn:boolean;
    {
     功能:数据库连接
    }
  public
    { Public declarations }
  end;
var
  frm_DcXML: Tfrm_DcXML;

implementation
var
  FlagDs: Boolean;    //定时备份标志,表明是否在备份。
  StrFSDTime: string; //分时段时间信息
  row:integer;
  SKQSRQ,SKJZRQ:string;

{$R *.dfm}

procedure Tfrm_DcXML.btnCloseClick(Sender: TObject);
begin
  if btnStart.Enabled then
    close
  else
    MessageBox(0,'请先停止运行后再退出!','提示',MB_OK OR MB_ICONINFORMATION);
end;

procedure Tfrm_DcXML.btnStartClick(Sender: TObject);
begin
  if RdoSDBF.Checked then
  begin
    backdata;
  end;

  if RdoZDBF.Checked then
  begin
    timer_dsbf.Enabled := true;
    FlagDs := False;
  end;

  if RdoFSBF.Checked then
  begin
    FlagDs := False;
    StrFSDTime := FormatDateTime('hhmm', now());
    Timer_sjdbf.Enabled := True;
  end;

  btnstart.Enabled := false;
  btnstop.Enabled := true;
end;

procedure Tfrm_DcXML.timer_dsbfTimer(Sender: TObject);
var
  StrDsTime: string;
  StrDsDay:String;
begin
  if FlagDs = True then exit; //判定是否已经在备份
  StrDsTime := FormatDateTime('hhmm', DtpTime.DateTime);
  StrDsDay := FormatDateTime('DD',Date());
  if (StrDsTime = FormatDateTime('hhmm', now())) AND (StrDsDay = Cmb_day.Text) then
  begin
    FlagDs := true;
    backdata;
    FlagDs := False;
  end;
end;

procedure Tfrm_DcXML.Timer_sjdbfTimer(Sender: TObject);
begin
  if FlagDs = True then exit; //判定是否已经在备份
  if FormatDateTime('hhmm', now()) = StrFSDTime then
  begin
    FlagDs := true;
    backdata;
    StrFSDTime := FormatDateTime('hhmm', inchour(now(), StrToint(CboHour.text)));
    FlagDs := False;
  end;

end;

procedure Tfrm_DcXML.btnStopClick(Sender: TObject);
begin
  timer_dsbf.Enabled := false;
  Timer_sjdbf.Enabled := false;
  btnStart.Enabled := True;
  btnStop.Enabled := false;
end;

procedure Tfrm_DcXML.RdoZDBFClick(Sender: TObject);
begin
  dtptime.Enabled := true;
  cmb_day.Enabled := true;
  cbohour.Enabled := false;
end;

procedure Tfrm_DcXML.RdoFSBFClick(Sender: TObject);
begin
  dtptime.Enabled := false;
  cmb_day.Enabled := false;
  cbohour.Enabled := true;
end;

procedure Tfrm_DcXML.RdoSDBFClick(Sender: TObject);
begin
  dtptime.Enabled := false;
  cmb_day.Enabled := false;
  cbohour.Enabled := false;
end;

procedure Tfrm_DcXML.FormCreate(Sender: TObject);
begin
end;

//数据库连接
function Tfrm_DcXML.DBConn:boolean;
begin
  Result := False;
  //在此完成数据库的连接工作
  Result := True;
end;
//数据处理主函数
function Tfrm_DcXML.backdata: boolean;
begin
  if not DBConn then
    exit;
  if chk_SetZdxx.Checked then
    //此处完成具体的功能函数;
end;


procedure Tfrm_DcXML.SpeedButton2Click(Sender: TObject);
begin
  MemDoc.Clear;
end;

procedure Tfrm_DcXML.SpeedButton1Click(Sender: TObject);
begin
  if SaveMemo.Execute then
  begin
    SaveMemo.Filter :='文本文件 (*.TXT)|*.TXT';
    MemDoc.Lines.SaveToFile(SaveMemo.FileName+'.TXT');
    MessageBox(0,pChar('文件'+SaveMemo.FileName+'保存成功!'),pChar('提示'),MB_OK OR MB_ICONINFORMATION);
  end;
end;

procedure Tfrm_DcXML.SpeedButton3Click(Sender: TObject);
begin
  CoolTrayIcon.HideMainForm;
end;

procedure Tfrm_DcXML.CoolTrayIconClick(Sender: TObject);
begin
  CoolTrayIcon.ShowMainForm;
end;

procedure Tfrm_DcXML.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  CoolTrayIcon.Free;
end;

procedure Tfrm_DcXML.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[1].Text := datetimetostr(now);
end;

end.

⌨️ 快捷键说明

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