摘要: procedure parkdisk;
var regs: registers;
begin
regs.al := $00;
intr($13,regs);
assert((regs.flags and fcarry) = 0,
error getting disk parameters - al returns +inttostr (regs.al,0));
reg......
摘要:program fastcopy;
{$a+,b-,d-,e+,f+,g+,i-,l-,n+,p-,q-,r-,s-,t-,v-,x-,y-}
{$m 16384,$10000}
const
maxbufcnt = 1000;
type
bufptr = ^bufrec;
bufrec = array[0..8190] of byte;
var
infile,......
避免浮点操作的四舍五入错误single, double与extended型的浮点变量存在着四舍五入问题.举个例子,假设我们用电脑使用4位数字,那么:
1 / 3 = 0.3333 【程序编程相关:
[red]如何使用Delphi设计强大】 【推荐阅读:
在delphi中使用xml文档有两种方】
【扩展信息:
Yeeyee FrameWork (YF】
我们知道3 * 1/3 = 1,但如果我们这样:
x := 1 / 3;
x := x * 3;
if x = 1 then //结果将会不正确
为什么?因为x = 0.9999而不是1.
电脑不会有无限的小数位.从single到double到extended ,浮点类型可以给你更好的精确度,但是上述的四舍五入错误依然存在.
不要再作相等比较了,我们需要确定要多精确才够.
用下面的例程实现:
var
esbtolerance: extended = 0.00000001; //设定所要的精确度
...
下一页 摘要:1-得到短文件名
function getshortfilename(const filename : string) : string;
var
atmp: array[0..255] of char;
begin
if getshortpathname(pchar(filename),atmp,sizeof(atmp)-1)=0 then
result:= filename ......