社区
网络及通讯开发
帖子详情
请教用TIdFTP上传或下载文件时,如何用进度条显示上传或下载的进度???
endless
2005-12-29 08:44:58
我做过相关试验,TIdFTP上传文件时,无法促发OnWork事件,请高手指教!!!
...全文
641
6
打赏
收藏
请教用TIdFTP上传或下载文件时,如何用进度条显示上传或下载的进度???
我做过相关试验,TIdFTP上传文件时,无法促发OnWork事件,请高手指教!!!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我不懂电脑
2005-12-30
打赏
举报
回复
在OnStatus事件里也可以处理。
shally5
2005-12-30
打赏
举报
回复
double AverageSpeed;
int FileLenCurrentCount;
void __fastcall TForm1::IdFTP1Work(TObject *Sender, TWorkMode AWorkMode,
const int AWorkCount)
{
AnsiString s;
TDateTime TotalTime;
WORD H, M, Sec, MS;
double DLTime;
TotalTime = Now() - STime;
DecodeTime(TotalTime, H, M, Sec, MS);
Sec = Sec + M * 60 + H * 3600;
DLTime = Sec + MS / 1000;
FileLenCurrentCount=AWorkCount/1024;
if (DLTime > 0)
AverageSpeed = (AverageSpeed + (AWorkCount / 1024) / DLTime) / 2;
s = FormatFloat("0.00 KB/s", AverageSpeed);
switch (AWorkMode)
{ case wmRead:
{ Label2->Caption = "下载速度 " + s;
if(FileLenCurrentCount>0)
Label3->Caption ="下载 "+IntToStr(FileLenCurrentCount)+" KB 总计 "+IntToStr(FileLenCount)+" KB";
break;
}
case wmWrite:
{
Label2->Caption = "上传速度 " + s;
if(FileLenCurrentCount>0)
Label3->Caption="上传 "+IntToStr(FileLenCurrentCount)+" KB 总计 "+IntToStr(FileLenCount)+" KB";
}
};
if (AbortTransfer)
IdFTP1->Abort();
ProgressBar1->Position = AWorkCount;
AbortTransfer = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1WorkBegin(TObject *Sender,
TWorkMode AWorkMode, const int AWorkCountMax)
{
STime = Now();
if (AWorkCountMax > 0)
{
ProgressBar1->Max = AWorkCountMax;
}
else
{
ProgressBar1->Max = BytesToTransfer;
}
AverageSpeed = 0;
FileLenCount=AWorkCountMax/1024;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1WorkEnd(TObject *Sender, TWorkMode AWorkMode)
{
BytesToTransfer = 0;
ProgressBar1->Position = 0;
AverageSpeed = 0;
FileLenCount=0;
FileLenCurrentCount=0;
}
constantine
2005-12-30
打赏
举报
回复
const AWorkCount: Integer);
const AWorkCountMax: Integer);
看看这两个 参数,在onwork,onworkbegin里面
不会触发?你可以上传吗?应该代码有问题吧,read,write应该都会触发的
endless
2005-12-30
打赏
举报
回复
怎么每人回答????
sfengnet
2005-12-30
打赏
举报
回复
恭喜楼主解决问题,
接分!!
endless
2005-12-30
打赏
举报
回复
我已经搞定了,谢谢大家
BeanUtils中的自动类型转换(二)
javabean package entity; import java.util.Date; /** * 一个测试用: * student,javaBean * @author mzy * 一个标准的javaBean: * 1) 属性只要是private修饰的; * 2) 提供setter和getter方法; * 3) 提供无参构...
主动类型转换
做页面数据导入
时
,有日期字段,因为导入类的日期用的string接收,但是我转换实体类准备入库的
时
候,实体类字段类型是Date,如果正常用BeanUtils.copyProperties(importData, data);是没法转成功的只能单独针对日期字段做类型转换应对这种情况,可以走以下2种方式。
BeanUtils—org.apache.commons.beanutils.BeanUtils
BeanUtils
BeanUtils
无论哪个库的BeanUtils,核心能力都围绕JavaBean 的属性操作属性拷贝:将一个对象的属性值复制到另一个对象(同名属性)。属性访问:通过属性名动态获取或设置对象的属性值。类型转换:在属性拷贝或设置
时
自动处理不同类型之间的转换(如 String 转 Integer)。对象比较:比较两个对象的属性值是否相等。BeanUtils是对象属性操作的实用工具,Spring 版本轻量高效,适合简单拷贝场景;Apache 版本功能丰富但性能较差,适合需要复杂类型转换的场景。
Spring 中的BeanUtils与apache中的BeanUtils差别
Spring 中的BeanUtils与apache中的BeanUtils区别 org.apache.commons.beanutils.BeanUtils#copyProperties方法会进行类型转换,默认情况下会将Ineger、Boolean、Long等基本类型包装类为null
时
的值复制后转换成0或者false,有
时
这个可能会引起不必要的麻烦。 而org.springframewo
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章