这段代码加上,就提示出错,去掉就能编译通过,不知道end或是分号哪里加错了?
if FileExists(fn2) then
begin
FindFirst(fn2,faAnyFile,Tp);
ft1:=Tp.FindData.ftLastWriteTime;
FileTimeToSystemTime(ft1,dt);
dt1:=SystemTimeToDateTime(dt); FindFirst(fn,faAnyFile,Tp);
ft1:=Tp.FindData.ftLastWriteTime;
FileTimeToSystemTime(ft1,dt);
dt2:=SystemTimeToDateTime(dt);
if dt1<>dt2 then CopyFile(fn,fn2,false);   end
      end
else
         CopyFile(fn,fn2,false);
       end     end

解决方案 »

  1.   


    if FileExists(fn2) then
    begin
    FindFirst(fn2,faAnyFile,Tp);
    ft1:=Tp.FindData.ftLastWriteTime;
    FileTimeToSystemTime(ft1,dt);
    dt1:=SystemTimeToDateTime(dt);FindFirst(fn,faAnyFile,Tp);
    ft1:=Tp.FindData.ftLastWriteTime;
    FileTimeToSystemTime(ft1,dt);
    dt2:=SystemTimeToDateTime(dt);
    if dt1<>dt2 then CopyFile(fn,fn2,false);
    end
    else  CopyFile(fn,fn2,false);当然也可能还有其他类似变量没定义的错误。
      

  2.   


      if FileExists(fn2) then
      begin
        FindFirst(fn2, faAnyFile, Tp);
        ft1 := Tp.FindData.ftLastWriteTime;
        FileTimeToSystemTime(ft1, dt);
        dt1 := SystemTimeToDateTime(dt);    FindFirst(fn, faAnyFile, Tp);
        ft1 := Tp.FindData.ftLastWriteTime;
        FileTimeToSystemTime(ft1, dt);
        dt2 := SystemTimeToDateTime(dt);
        if dt1 <> dt2 then CopyFile(fn, fn2, false);  end
      else
        CopyFile(fn, fn2, false);
      

  3.   

    原来最后的else后面不再需要end
    难怪我怎么样都不正确!
      

  4.   

    最后的else后面不再需要end
    保持缩进是个好习惯
      

  5.   

    可以装一个cnpack专家包。楼主也注意一下自己的编程习惯。