本人初学DELPHI,在做定时备份时,遇到了问题,不会自动定时备份,而只是在窗体显示时备份,望高手指点,代码如下:procedure TFrmSysBackRes.Timer1Timer(Sender: TObject);
Var // filename备份文件的路径加文件名
FileName:String;
begin
FilePath:=ExtractFilePath(Application.ExeName)+'BackInfo.ini';
Backini:=TIniFile.Create(FilePath);
EdtTime.Value:=Backini.ReadInteger('Hour','BackHour',5);
CheckBoxAuto.Checked:=Backini.Readbool('Back','BackAuto',False);
FileName:=EdtBackPath.Text+'YXXSAuto'+FormatDateTime('yyyymmddhhmmss',Now)+'.bak';
If Backini.Readbool('Back','BackAuto',False)=True And Not TabSheetBack.Showing Then
Begin
Timer1.Interval:=3600000*Backini.ReadInteger('Hour','BackHour',5);
With QryBackup Do
Try
Close ;
SQL.Clear;
SQL.Add('Use Master');//执行备份SQL语句
ExecSQL;
SQL.Add(' Backup Database YXXS To Disk='''+ FileName+''' ') ;
ExecSQL;
Except
Begin
Application.MessageBox('自动备份失败!原因未知,请用手动备份!','系统管理',MB_OK + MB_ICONINFORMATION);
End;
End;
End;
End;
Var // filename备份文件的路径加文件名
FileName:String;
begin
FilePath:=ExtractFilePath(Application.ExeName)+'BackInfo.ini';
Backini:=TIniFile.Create(FilePath);
EdtTime.Value:=Backini.ReadInteger('Hour','BackHour',5);
CheckBoxAuto.Checked:=Backini.Readbool('Back','BackAuto',False);
FileName:=EdtBackPath.Text+'YXXSAuto'+FormatDateTime('yyyymmddhhmmss',Now)+'.bak';
If Backini.Readbool('Back','BackAuto',False)=True And Not TabSheetBack.Showing Then
Begin
Timer1.Interval:=3600000*Backini.ReadInteger('Hour','BackHour',5);
With QryBackup Do
Try
Close ;
SQL.Clear;
SQL.Add('Use Master');//执行备份SQL语句
ExecSQL;
SQL.Add(' Backup Database YXXS To Disk='''+ FileName+''' ') ;
ExecSQL;
Except
Begin
Application.MessageBox('自动备份失败!原因未知,请用手动备份!','系统管理',MB_OK + MB_ICONINFORMATION);
End;
End;
End;
End;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货