社区
Delphi
帖子详情
懂获得文件流的高手请进来拿分
nuaawenlin
2003-04-29 02:55:07
在使用CopyFile()的时候,我想获得正在拷贝的文件流,以便使用进度条来演示拷贝。就想电脑中要拷贝时一样,不知道使用什么函数,我试过FileString(),可是DELphi不承认,不知道还有没有别的函数。
...全文
81
5
打赏
收藏
懂获得文件流的高手请进来拿分
在使用CopyFile()的时候,我想获得正在拷贝的文件流,以便使用进度条来演示拷贝。就想电脑中要拷贝时一样,不知道使用什么函数,我试过FileString(),可是DELphi不承认,不知道还有没有别的函数。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
foreveryday007
2003-04-29
打赏
举报
回复
同意楼上,最好用文件流來實現,也簡單
李_军
2003-04-29
打赏
举报
回复
procedure CopyStream;
var
RStream: TFileStream;
WStream: TFileStream;
sFileName,WFileName: String;
LeftSize,CopySize: Integer;
begin
try
sFileName := frmMain.Edit1.Text;
if Trim(frmMain.Edit1.Text) = '' then
begin
Application.MessageBox('要拷贝的文件不能为空!','提示!',0);
Exit;
end;
WFileName := frmMain.Edit2.Text;
RStream := TFileStream.Create(sFileName,fmOpenRead);
// .........//
if FileExists(frmMain.Edit2.Text) then
begin
WStream := TFileStream.Create(WFileName,fmOpenReadWrite);
WStream.Position := WStream.Size;
RStream.Position := WStream.Size;
LeftSize := RStream.Size-WStream.Size;
CopySize := WStream.Size;
end
else
begin
WStream := TFileStream.Create(WFileName,fmCreate);
RStream.Position := 0;
LeftSize := RStream.Size;
CopySize := 0;
end;
//................//
frmMain.Gauge1.MaxValue := LeftSize div 1024;
frmMain.Gauge1.MinValue := 0;
frmMain.Gauge1.Progress := 0;
while LeftSize>0 do
begin
if LeftSize <1024 then
begin
WStream.CopyFrom(RStream,LeftSize);
CopySize := CopySize+LeftSize;
LeftSize := 0;
Gauge1.Progress := Gauge1.Progress+1;
end
else
begin
WStream.CopyFrom(RStream,1024);
CopySize := CopySize+1024;
LeftSize := LeftSize-1024;
Gauge1.Progress := Gauge1.Progress+1;
end;
RStream.Position := CopySize;
end;
finally
FreeAndNil(RStream);
FreeAndNil(WStream);
end;
end;
xiaoyuer0851
2003-04-29
打赏
举报
回复
最好用文件流结合内存流来解决问题!~~~
tpmao
2003-04-29
打赏
举报
回复
同意楼上!!!同意楼上!!!同意楼上!!!
5116888
2003-04-29
打赏
举报
回复
用TMemoryStream;
var
ams:TMemoryStream;
begin
ams:=TMemoryStream.create();
ams:=LoadFromFile(你的文件名);
end;
Monibuca推拉
流
代理全解析:跨协议转推与远程拉
流
的7种实战场景
本文详解Monibuca(m7s)
流
媒体框架的推拉
流
代理能力,涵盖RTSP/RTMP/SRT/GB28181等多协议跨协议转推与远程拉
流
,重点介绍7种典型场景:RTSP拉
流
Web低延迟播放、RTMP转RTSP、边拉边录、推
流
即转发、按需拉
流
、
文件
流
转直播、GB28181设备拉
流
,并解析重试机制、HTTP代理支持及健康检查等进阶特性。
分布鲁棒数据驱动的多离散场景电热综合能源系统分布鲁棒优化算法研究(Matlab代码实现)
【分布鲁棒】数据驱动的多离散场景电热综合能源系统分布鲁棒优化算法研究(Matlab代码实现)
奇文
文件
批量重命名工具|电脑本地批量修改
文件
名,支持编号前缀替换
奇文
文件
批量重命名工具是一款 Windows 端本地批量改名软件,所有操作都在电脑本地完成,
文件
不会上传云端,不用担心素材泄露,支持图片、文档等多种格式
文件
批量重命名,自带实时预览功能,改名前就能看到最终效果,避免改错
文件
名。
Mybatis面试题答案.pdf
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 目录: 1. 关于#{}与${}的区别,具体内容是什么? 2. 在实践中,一个 Xml 映射
文件
常常对应一个 Dao 接口,请问,这个 Dao 接口的功能机制是什么?当 Dao 接口中的方法,参数存在差异时,方法是否能够被重载? 3. Mybatis 是怎样执行分页操作的?分页插件的运作方式是什么? 4. Mybatis 是如何将 sql 执行后的结果封装成目标对象并传输回来的?包含哪些映射的类型? 5. 在 Xml 映射
文件
里,除了普遍的 select|insert|update|delete 标 签,还包含哪些其他的标签? 6. 概述 Mybatis 的插件运行机制,以及怎样去编写一个插件 7. 一级、二级缓存 8. Mybatis 能否实现延迟加载?如果可以,它的运作原理是什么? 9. 在 Mybatis 映射
文件
中,假如 A 标签通过 include 引用了 B 标 签的内容,请问,B 标签是可以在 A 标签的后面定义,还是必须定义在 A 标签的前面? 10. 阐述 Mybatis 的 Xml 映射
文件
和 Mybatis 内部数据结构之间的映射关联
大量视频
文件
怎么批量改名?奇文视频批量改名工具离线处理
批量导入视频
文件
可以单独添加视频
文件
,也可以直接添加整个
文件
夹,一次性导入一堆 mp4 等视频素材。导入列表能直接看到
文件
名、
文件
大小,方便核对需要处理的视频。 三种常用改名模式 序号命名:自定义前缀、起始序号、步长、数字位数。比如前缀填 “奇文工具”,自动生成奇文工具 001、奇文工具 002,适合素材归档排序; 日期命名:用日期作为视频
文件
名,适合拍摄的素材按时间归类; 查找替换:批量把
文件
名里的指定文字替换成新内容,清理
文件
名多余字符。 原地改名或者另存输出输出目录留空就是原地直接修改
文件
名;也可以选择指定输出
文件
夹,改名后的视频保存到新目录,不会改动原始素材,两种方式按需选择。 改名预览,避免误操作设置好命名规则之后,先点预览,软件会列出【原名→新名】的全部修改清单。确认改名效果没问题,再点击开始改名。页面也有提示:改名操作不可逆,预览这一步可以有效防止改错
文件
名。
Delphi
5,943
社区成员
262,941
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章