源:获取文件的大小(实际&物理)

class function TDuoFile.GetFileSize(const AFile: TFileName): Int64;
var sr:TSearchRec;
begin
if FindFirst(AFile,faAnyFile and (not faDirectory),sr) = then
Result := sr.Size
else
Result := ;
FindClose(sr);
// Windows.GetFileSizeEx()
// 这个函数是新API // 另一种写法
//var hh:THandle;dwSizeLow,dwSizeHigh:Cardinal;
//begin
// hh := FileOpen(PChar(OpenDialog1.FileName),fmOpenRead);
// dwSizeLow := GetFileSize(hh,@dwSizeHigh);
// Result := dwSizeHigh shl 32 + dwSizeLow;
// CloseHandle(hh);
//end;
end; class function TDuoFile.GetFileSizeCompressed(const AFile: TFileName): Int64;
begin
Int64Rec(Result).Lo := GetCompressedFileSize(PAnsiChar(AFile),@Int64Rec(Result).Hi);
// 另一种写法
//var dwSizeLow,dwSizeHigh:Cardinal;
//begin
// dwSizeLow := GetCompressedFileSize(PAnsiChar(AFile),@dwSizeHigh);
// Result := dwSizeHigh shl 32 + dwSizeLow;
//end;
end;
进过测试,
如果是通常的文件,并没有发现这两个函数的不同之处。
都是返回“属性/大小”。
但是如果是压缩过的文件,那么后者返回的是“属性/占用空间”。

Delphi获取文件的大小(实际&物理)的更多相关文章

  1. Delphi获取文件名、文件名不带扩展名、文件名的方法;delphi 获取文件所在路径

    取文件名 ExtractFileName(FileName); 取文件扩展名: ExtractFileExt(filename); 取文件名,不带扩展名: 方法一:   Function Extrac ...

  2. Linux C 获取 文件的大小

    通过Linux C库函数来获取文件的大小 #include <unistd.h> #include <sys/types.h> #include <sys/stat.h& ...

  3. delphi 获取文件的最新修改时间 http://www.delphitop.com/html/wenjian/64.html

    delphi 获取文件的最新修改时间 作者:admin 来源:未知 日期:2010/1/28 13:15:22 人气:1054 标签: QQ空间新浪微博腾讯微博腾讯朋友QQ收藏百度空间百度贴吧更多0 ...

  4. seek和tell的用法--获取文件内容大小(字节)

    /*获取文件中存取的数据内容的大小(字节数) ellg() 和 tellp() 这两个成员函数不用传入参数,返回pos_type 类型的值(根据ANSI-C++ 标准) ,就是一个整数,代表当前get ...

  5. linux下C获取文件的大小

    获取文件大小这里有两种方法: 方法一. 范例: unsigned long get_file_size(const char *path) { unsigned long filesize = -1; ...

  6. 用C#实现获取文件夹大小的源代码

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  7. Linux C++获取文件夹大小

    项目中要计算指定文件夹的大小.百度查到这篇文章,https://my.oschina.net/Tsybius2014/blog/330628方法可行,运行正确. 拿到我们的项目中,却遇到一些问题:程序 ...

  8. delphi获取文件的创建/修改时间、按时间删除指定文件下的文件

    uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrl ...

  9. JAVA中获取文件的大小和文件的扩展名

    一.获取文件扩展名(该段代码来自博客园网站装男人的博客https://www.cnblogs.com/nanrenzhuang/archive/2013/05/19/6315546.html) pub ...

随机推荐

  1. UIView的layoutSubviews,initWithFrame,initWithCoder方法

    ****************************layoutSubviews************************************ layoutSubviews是UIView ...

  2. eclipse背景颜色修改插件color theme

    对于长时间编码的程序猿来说,这个插件可以说是福音了. 安装方式有两种: 1.可以直接在eclipse的eclipse marketplace 那里搜索安装 2.可以在Help->Install ...

  3. win8.1去掉鼠标右键回收站固定到开始菜单的方法

    win8.1去掉鼠标右键“回收站固定到开始菜单” 平台:win8.1 问题: 桌面“回收站”右键菜单里有个“固定到开始屏幕”,一不小心就误按,设法删之. 打开注册表编辑器.在注册表编辑器里面定位到:H ...

  4. nagios总结二

    log_file=/usr/local/nagios/var/nagios.log                  # 定义nagios日志文件的路径cfg_file=/usr/local/nagi ...

  5. CentOS minimal 版安装图形界面及中文语言

    1.连接网络: CentOS minimal.iso安装好后, 进入终端,默认是不开网络的, 首先启用网卡, 自动获取ip. ifconfig eth0 up dhclient eth0 再 ifco ...

  6. FZU 1912 Divisibility by Thirty-six(整除问题+字符串维护+贪心)

    这个整除36的与整除45的完全一样,就是被4整除的有点多,但都是两位数,所以枚举后面两位就可以了. #include <stdio.h> #include <string.h> ...

  7. Git学习 -- 冲突解决

    当连个分支对统一文件提交了不同修改时,可能会出现冲突,例如: $ git merge feature1 Auto-merging readme.txt CONFLICT (content): Merg ...

  8. 转:loadrunner经典面试题

    在LoadRunner中为什么要设置思考时间和pacing 答: 录制时记录的是客户端和服务端的交互,如果要精确模拟 用户的行为,那么客户操作客户端时花费了很多时间要怎么模拟呢?录入 填写提交的内容, ...

  9. Codeforces Round #363 (Div. 2) C. Vacations(DP)

    C. Vacations time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  10. USER-AGENT是什么

    USER-AGENT是什么? USER-AGENT:记录请求所来自的浏览器. User-Agent分析网站 http://www.useragentstring.com/ 通过解析User-Agent ...