获取文件大小,传输速度,转化时间

  1. //获取文件的大小,并以KB 或 MB 来表示  
  2. CString GetFileSize(LONG size)  
  3. {  
  4.     CString _size;  
  5.     //判断大小有没有超过1  
  6.     if (size<(1024*1024))  
  7.     {  
  8.         _size.Format("%.2lfKB",size/1024.0);  
  9.     }else if(1024*1024*1024)  
  10.     {     
  11.         _size.Format("%.2lfMB",(size/1024.0)/1024.0);  
  12.     }else   
  13.     {  
  14.         _size.Format("%.2lfGB",(size/1024.0/1024.0)/1024.0);  
  15.     }  
  16.     return _size;  
  17. }  
  18. //获取下载速度的字符串  
  19. CString GetFileTranSpeed(DWORD size,DWORD time)  
  20. {  
  21.     CString _speed;  
  22.     //判断时间是否为0  
  23.     if (time>0){  
  24.         if (size/1024*1000.0/time<1024)  
  25.             {  
  26.                 _speed.Format("%.2lfKB/s",size/1024*1000.0/time);  
  27.             }else   
  28.             {     
  29.                 _speed.Format("%.2lfMB/s",(size/1024)*1000.0/time);  
  30.             }  
  31.     }else  
  32.     {  
  33.         return _speed = "0KB/s";  
  34.     }  
  35.     return _speed;  
  36. }  
  37. //获取时间的字符串  
  38. CString GetTimeFormatStr(LONG time)  
  39. {  
  40.     CString _time;  
  41.     int hh = time/3600;  
  42.     int mm = (time-hh*3600)/60;  
  43.     int ss =  time%60;  
  44.     _time.Format("%d%d:%d%d:%d%d",hh/10,hh%10,mm/10,mm%10,ss/10,ss%10);  
  45.     return _time;  
  46. }  

所谓的实时下载速度也是按秒计算的,直接每秒计算一下当前下载量与上次记录的下载量便可得到从
上一秒到这一秒的下载数据量,这样实时下载速度就得出来了,至于剩余时间,可以将当前下载的数
据量与耗用的秒为单位的时间进行计算,然后通过需要下载的数据大小来预估剩余时间,公式这样:
剩余时间(秒)=须下载数据总大小/(当前耗用时间(秒)/当前下载大小)
然后把剩余时间转换一下格式就可以得到分钟、小时、天等信息了

原文地址:http://blog.csdn.net/toss156/article/details/7017189
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值