- //获取文件的大小,并以KB 或 MB 来表示
- CString GetFileSize(LONG size)
- {
- CString _size;
- //判断大小有没有超过1
- if (size<(1024*1024))
- {
- _size.Format("%.2lfKB",size/1024.0);
- }else if(1024*1024*1024)
- {
- _size.Format("%.2lfMB",(size/1024.0)/1024.0);
- }else
- {
- _size.Format("%.2lfGB",(size/1024.0/1024.0)/1024.0);
- }
- return _size;
- }
- //获取下载速度的字符串
- CString GetFileTranSpeed(DWORD size,DWORD time)
- {
- CString _speed;
- //判断时间是否为0
- if (time>0){
- if (size/1024*1000.0/time<1024)
- {
- _speed.Format("%.2lfKB/s",size/1024*1000.0/time);
- }else
- {
- _speed.Format("%.2lfMB/s",(size/1024)*1000.0/time);
- }
- }else
- {
- return _speed = "0KB/s";
- }
- return _speed;
- }
- //获取时间的字符串
- CString GetTimeFormatStr(LONG time)
- {
- CString _time;
- int hh = time/3600;
- int mm = (time-hh*3600)/60;
- int ss = time%60;
- _time.Format("%d%d:%d%d:%d%d",hh/10,hh%10,mm/10,mm%10,ss/10,ss%10);
- return _time;
- }
所谓的实时下载速度也是按秒计算的,直接每秒计算一下当前下载量与上次记录的下载量便可得到从
上一秒到这一秒的下载数据量,这样实时下载速度就得出来了,至于剩余时间,可以将当前下载的数
据量与耗用的秒为单位的时间进行计算,然后通过需要下载的数据大小来预估剩余时间,公式这样:
剩余时间(秒)=须下载数据总大小/(当前耗用时间(秒)/当前下载大小)
然后把剩余时间转换一下格式就可以得到分钟、小时、天等信息了
上一秒到这一秒的下载数据量,这样实时下载速度就得出来了,至于剩余时间,可以将当前下载的数
据量与耗用的秒为单位的时间进行计算,然后通过需要下载的数据大小来预估剩余时间,公式这样:
剩余时间(秒)=须下载数据总大小/(当前耗用时间(秒)/当前下载大小)
然后把剩余时间转换一下格式就可以得到分钟、小时、天等信息了
原文地址:http://blog.csdn.net/toss156/article/details/7017189