delphi 对int64计算的一种处理方式


本文整理自网络,侵删。

 
最近写刻录程序时用到了int64计算比例的功能,integer的范围是4G,而普通DVD光盘容量就是4.3G,直接计算是通不过编译的

因此用了一种取巧的方法,把两个数据右移16位,然后计算比例,当数据小于2的16次方(64k,接近VCD容量的万分之一)时,当作最小进度(如1%)处理

代码如下:

function GetProgress: Integer;
var
  nReadSize, nCapibility: Integer;
begin
    nReadSize := Integer(FWriteSize shr 16);
    nCapibility := Integer(FCapibility shr 16 );
    Result := Round( (nReadSize / nCapibility) * 100 );
    if (Result = 0) and (nReadSize > 0) then
      Result := 1;
end;

https://blog.csdn.net/youthon/article/details/7963161

相关阅读 >>

进程防杀Delphi版(dll部分)

Delphi用邻域平均法对图像进行平滑处理

Delphi下调用有返回值的存储过程

Delphi bintohex和hextobin

trichedit 是一个标准的rtf编辑器

Delphi strutils.reversestring - 翻转字符串

Delphi wmi 取硬件信息

Delphi 如何获取桌面图标方法

Delphi将n个相同字符提取到左边,m个相同字符提取到右边

Delphi 实现从下载链接提取文件名的函数

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...