procedure FileCopy(const FromFile, ToFile: string);
var
  FromF, ToF: file;
  NumRead, NumWritten: Integer;
  Buf: array[1..2048] of Char;
begin
  if not FileExists(ExtractFileDir(ToFile)) then
  begin
    raise Exception.Create('目标目录不正确。');
  end;
  AssignFile(FromF, FromFile);
  Reset(FromF, 1);
  AssignFile(ToF, ToFile);
  Rewrite(ToF, 1);
  repeat
    BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
    BlockWrite(ToF, Buf, NumRead, NumWritten);
  until (NumRead = 0) or (NumWritten <> NumRead);
  CloseFile(FromF);
  CloseFile(ToF);
end;

解决方案 »

  1.   

    procedure FileCopy(const FromFile, ToFile: string);
    var
      FromF, ToF: file;
      NumRead, NumWritten: Integer;
      Buf: array[1..2048] of Char;
    begin
      if not DirectoryExists(ExtractFileDir(ToFile)) then
      begin
        raise Exception.Create('目标目录不正确。');
      end;
      AssignFile(FromF, FromFile);
      Reset(FromF, 1);
      AssignFile(ToF, ToFile);
      Rewrite(ToF, 1);
      repeat
        BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
        BlockWrite(ToF, Buf, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
      CloseFile(FromF);
      CloseFile(ToF);
    end;上面个写错了,抱歉。