我没试过用WINZIP
在我的一个系统中我有的是ARJ实现的定时备份的,备份文件名为当前的系统日期时间
希望能有用
procedure TMAIN.Timer1Timer(Sender: TObject);
VAR AYEAR,AMONTH,ADAY,AHOUR,AMIN,ASEC,AMSEC:WORD;
    APPPATH,COMM:STRING;
begin
APPPATH:=ExtractFileDir(Application.Exename);//取得程序路径
DELETEFILE(APPPATH+'\BACKUP\'+'\WXQPCBDB.ARJ');//删除上次备份不成功的文件
DECODEDATE(DATE(),AYEAR,AMONTH,ADAY);//取得系统日期
DECODETIME(TIME(),AHOUR,AMIN,ASEC,AMSEC);//时间
COMM:='ARJ.EXE A  '+APPPATH+'\BACKUP\WXQPCBDB '+APPPATH+'\USER.* '+APPPATH+'\ADDR.*';
WINEXEC(PCHAR(COMM),0);//实现备件,文件名为WXQPCBDB.ARJ
SLEEP(1000);    //暂停1秒,在WIN98下停1秒,2000下只要0.5秒,如是A盘,嘿嘿,2秒吧
                   //否则不能实现换名的
COMM:=INTTOSTR(AYEAR)+'-'+INTTOSTR(AMONTH)+'-'+INTTOSTR(ADAY)+'_'+INTTOSTR(AHOUR)+'-'+INTTOSTR(AMIN)+'-'+INTTOSTR(ASEC);
RENAMEFILE(APPPATH+'\BACKUP\WXQPCBDB.ARJ', APPPATH+'\BACKUP\'+COMM+'.ARJ');
                  //换名为日期时间
end;这个方法有点问题,就是每次WIN98中运行都会有一个WINOLDAP的进程,用编程的方法可以去除,
我没试过,我是用一个ARJ.PIF来实现的,在ARJ的快捷方式的属性中,选上“退出时关闭”即可可别忘了我没说过  USES 中加入 ShellAPI

解决方案 »

  1.   

    winexec ?
    如何用呢,谢先
      

  2.   

    可别忘了我没说过  USES 中加入 ShellAPI 
      

  3.   

    to shuixin13(心帆):为什么不用FormatDateTime('yyyy-mm-dd', Date);?
      

  4.   

    uses
      ShellApi;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShellExecute(Handle, 'Open', 'C:\Temp\1.zip', nil, nil, SW_SHOW);
    end;
      

  5.   

    最好是用Abbrevia压缩控件自己做压缩工作,很好用的
      

  6.   

    谢过 zswang(伴水)(需要充充电) 先,
    我去试一下