要算法吗?不就是分割一下文件吗?

解决方案 »

  1.   

    var  FromF, ToF: file;
      NumRead, NumWritten,fcount: Integer;
      Buf: array[1..2048] of Char;
    begin
      fcount:=0;
      if OpenDialog1.Execute then     { Display Open dialog box }
      begin
        AssignFile(FromF, OpenDialog1.FileName);
        Reset(FromF, 1); { Record size = 1 }
        if SaveDialog1.Execute then      { Display Save dialog box}
        begin
          AssignFile(ToF, SaveDialog1.FileName); { Open output file }      Rewrite(ToF, 1); { Record size = 1 }
          Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
            + ' bytes...');
          repeat
            BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
            fcount:=fcount+numread;
            BlockWrite(ToF, Buf, NumRead, NumWritten);
          until (NumRead = 0) or (NumWritten <> NumRead);
          CloseFile(FromF);
          CloseFile(ToF);
        end;
      end;
    end;
    当fcount到一定的字节,再写到别的文件.