1、如何将本地的一个磁盘上的exe文件拷贝到另一个磁盘上(也是本地的),如果文件已经存在,则覆盖之。
2、如何获取一个文件的修改日期、创建日期?
比如先获取C:\aaa.exe的修改日期(创建日期)然后在获取D:\aaa.exe的修改日期(创建日期)
比较两个日期,如果C:\aaa.exe的修改日期(创建日期)大于D:\aaa.exe的修改日期(创建日期)
则将C:\aaa.exe拷贝并覆盖到D:\aaa.exe。否则什么也不做。由于本人是处于初学阶段的菜鸟,希望大家照顾一下,不要简单说什么copyto(),moveto()之类的。最好能给一个完整一些的例子
谢谢大家了!谢谢!分只给做出有价值回答的几位

解决方案 »

  1.   

    function CovFileDate(Fd:_FileTime):TDateTime;
    { 转换文件的时间格式 } 
    var
        Tct:_SystemTime;
        Temp:_FileTime;
    begin
        FileTimeToLocalFileTime(Fd,Temp);
        FileTimeToSystemTime(Temp,Tct);
        CovFileDate:=SystemTimeToDateTime(Tct);
    end;function GetCreateFileTime(const Tf:string):TDateTime;
    { 返回文件的创建时间 }
    var
        Tp:TSearchRec; 
    begin
        FindFirst(Tf,faAnyFile,Tp);
        Result:=CovFileDate(Tp.FindData.ftCreationTime);
    end;function GetModifyFileTime(const Tf:string):TDateTime;
    { 返回文件的修改时间 } 
    var
        Tp:TSearchRec; 
    begin
        FindFirst(Tf,faAnyFile,Tp);
        Result:=CovFileDate(Tp.FindData.ftLastWriteTime);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
        f1name,f2name:string;
    begin
        if OpenDialog1.Execute then
        begin
            f1name:=OpenDialog1.FileName;
            if OpenDialog2.Execute then
            begin
                f2name:=OpenDialog2.FileName;
                if (f1name<>'') and (f2name<>'') then
                begin
                    if FileExists(f1name) then
                    begin
                        if GetCreateFileTime(f2name)>GetCreateFileTime(f1name) then
                            CopyFile(pChar(f2name),pChar(f1name),false);
                    end else
                        CopyFile(pChar(f2name),pChar(f1name),false);
                end;
            end;
        end;
    end;
      

  2.   

    谢谢gzmhero(hihihi)如果我不用OpenDialog获取文件,我直接用字符串,例如"C:\xxxx.exe"如何做啊?
    我的意思是文件路径是固定的,每次都自动按照路径执行。要怎样修改?
    就这点问题了,解决了马上结帖。谢谢!!!!
      

  3.   

    一样的。只要将f2name,f1name赋值就可以了。
    譬如:
    f2name:='c:\xxxx.exe';
    f1name:='d:\xxxx.exe';
      

  4.   

    copyfile('c:\xxxx.exe','d:\xxxx.exe',false);