或者怎样才能获得硬盘剩余字节数,integer型的

解决方案 »

  1.   

    longword直接用就是了,为什么要转integer?
    转成integer还有可能变负数,呵呵
      

  2.   

    可是用getdiskfreespace得到的是longword扇区、柱面等等信息,我用计算器把它们相乘确实得到剩余空间了,可是在程序里就不可以乘了,乘出来的数字看不懂,我还没搞懂这个longword倒底是个什么东西,怎样才能直接用呢,我准备用来在剩余空间不足时报警的
      

  3.   

    32bit数据类型最大才4G,这种硬盘容量10年前好像就已经不多见了吧,显然乘出来的结果得放到Int64里啊
      

  4.   

    用一个 Int64 变量。你还不能把源数连乘然后把结果放到 Int64 型变量,因为采用32位的连乘已经越界了。
    例一: 以下运算会越界var
      i32: DWORD;
      i64: Int64;...  i32 := 300000;
      i64 := i32 * 300000;例二: 以下运算不会越界var
      i32: DWORD;
      i64: Int64;...  i32 := 300000;
      i64 := Int64(i32) * 300000;