请教各位大虾,如何用DELPHI生成一个指定大小的文件,然后用多线程的方式写文件,就象网际快车一样?在线等待!
解决方案 »
- 急!!Delphi利用SOAP传输数据
- DELPHI 7 移动 硬盘 加密
- 有没有哪位知道如何禁止别人用录象软件来捕捉自己的应用程序画面?
- 怎样获取路由器的IP地址?
- ------sql语句问题------
- 我有一个图片,在delphi里异常显示
- 我有一脚本文件,data.sql,如何在delphi中执行它!
- 用ClientDataset连接一50万记录的TABLE,程序在激活时(ClientDataset.Active:=True)怎么会这么慢??
- 字符串格式化的问题;在线!!!!!!!!!
- 急救!需要隐藏SERVER的方法
- 请问哪里有DELPHI6下载?(急)
- 有关socket,服务器端发送二进制文件,我怎么接收?
2 假如开了4个线程,将c:\test.rar 移动到d:\test.rar
3 将c:\test.rar读入并分成4块内存,4快的大小的和等于c:\test.rar大小
4 将分割好的4块经过4个线程转到d:\temp文件夹内
5 线程完成文件转移后,将4块文件在整合到一起。
--------------个人看法
分配一个指定大小的文件可以用下面代码实现:
var
fid: Integer;
begin
fid := filecreate('test.tmp');
fileseek(fid, 1048576, 0); // 1M大小
setendoffile(fid);
fileclose(fid);
end;
下载的大小不容易控制.文件的大小可以直接TStream.Size:=
HTTP的可以设置下载起点和终点.但FTP不行.
文件的操作.建议最好在主线程中处理.不要在几个线程同时写文件.
很容易出错.不是文件不对就是文件变大了.
下载的线程只做把该段数据下载下来.主线程负责合并.而且这样可以把多下载的部分截掉.