首页 > 其他分享 >计算文件大小

计算文件大小

时间:2023-04-21 09:34:11浏览次数:40  
标签:文件大小 Format Result 计算 KB Size GB 1024

function GetFileSize(const FileName : string): DWORD;
var
  f : integer;
begin
  f := FileOpen(FileName, fmOpenRead);
  try
    Result := Windows.GetFileSize(f, nil);
  finally
    FileClose(f);
  end;
  if Result = $FFFFFFFF then Result := 0;
end;

function CalcFileSizeStr(const Size : DWORD): string;
const
  GB = 1024*1024*1024;
  MB = 1024*1024;
  KB = 1024;
begin
  if Size > GB then
    Result := Format('%%.2f GB', [Size / GB])
  else if Size > MB then
    Result := Format('%.2f MB', [Size / MB])
  else if Size > KB then
    Result := Format('%.2f KB', [Size / KB])
  else
    Result := Format('%d B', [Size]);
end;

 

标签:文件大小,Format,Result,计算,KB,Size,GB,1024
From: https://www.cnblogs.com/sixty-five/p/17339163.html

相关文章

  • 增加一个成员函数,计算加n秒的时间
    设置Cmytime类。具有三个成员函数Show()int Set(inth,intm,ints)对于Set函数的要求,   1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23, 0<=m,s<=59。如何参数非法,本次Set函数不改变原有值。  2、赋值成功,返回1,否则返回0。void AddOneSecond();实......
  • 增加一个成员函数,计算加一秒的时间
    设置Cmytime类。具有三个成员函数Show()int Set(inth,intm,ints)对于Set函数的要求,   1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23, 0<=m,s<=59。如何参数非法,本次Set函数不改变原有值。  2、赋值成功,返回1,否则返回0。void AddOneSecond();实......
  • CS144 计算机网络 Lab1:Stream Reassembler
    前言上一篇博客中我们完成了Lab0,使用双端队列实现了一个字节流类ByteStream,可以向字节流中写入数据并按写入顺序读出数据。由于网络环境的变化,发送端滑动窗口内的数据包到达接收端时可能失序,所以接收端收到数据之后不能直接写入ByteStream中,而是应该缓存下来并按照序号重组成......
  • 利用泰勒公式计算余弦值
    #include<bits/stdc++.h>usingnamespacestd;doublefact(inta)//计算n的阶乘 {doublet=1.0; inti; for(i=1;i<=a;i++)t=t*i; returnt; }doublemi(intb,doubleangle)//计算x的n次方 { intj=1; doublex=angle; for(j=1;j<b;j++......
  • 并行计算部分总结
    1。计算机的峰值为主频x4。2。计算机读取数组时,一次会读入一行,要最大限度的利用已读入的数据,减少频繁读写的次数。3。多线程内存共享,多进程需要消息传递来交换变量。4。利用管道在不同程序之间传递内容(可以是管道符|或mkfifomypipe)5。平均不同节点的计算量,尽量做到负载平衡。6......
  • Hive 修改计算引擎方法
    前置说明各位应该清楚,hive默认计算引擎是mr,当集群配置了hive-ob-spark后可以根据需要自行切换计算引擎其它计算引擎切换为mapreducesethive.execution.engine=mr;其它计算引擎切换为sparksethive.execution.engine=spark;说明:如果一个诸如shell脚本里封装了几段......
  • uniapp计算属性和监听属性的使用及props验证
    计算属性:定义:computed:{变量名xx(){return计算的代码}} 使用: <p>乘以2的值为{{变量名xx()}}</p>监听属性:(普通监听:无法监听到第一次绑定的变化)定义: watch:{变量名xx(newName,oldName){console.log(可以打印新老数据)}}(普通监听:可监听到第一次绑定的变化)定......
  • 计算机网络 单臂路由与三层交换机
     目录一、单臂路由概况二、单臂路由的通信过程三、单臂路由的缺点四、单臂路由实验一 五、三层交换机概念 六、交换机工作过程 七、交换机实验一、二       一、单臂路由概况概念:单臂路由实现不同vlan之间的通信。单臂路由主要是通过子接口......
  • 在头部大厂做了23年云计算后,这次他想系统地聊聊FinOps!
    随着企业上云战略的深入普及,越来越多的企业开始关注云成本优化。伴随着企业对IT资源的投入不断增加,企业迫切需要解决成本与效率,以及如何将云成本优化落到实处的问题。FinOps是将财务和业务整合到一起的变革,可以帮助企业更好了解云成本和IT收益。4月25日晚20:00「UGeek大咖说·FinOps......
  • 我问ChatGPT要了个写计算器的代码,结果翻车了
    大家好,我是皮皮。一、前言ChatGPT最近非常火爆,很多人都在玩。前几天在Python最强王者交流群【孤独】找ChatGPT要了一个用Python实现计算器的代码,这里拿出来给大家分享下。下面的代码是ChatGPT给出的:#导入PyQt5模块fromPyQt5.QtWidgetsimportQApplication,QWidget,QGridLayou......