当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 哪位朋友有vsflex6.ocx,绝对下载地址是哪儿,或email个我,谢谢up的人 以分相告 ......
    摘要: 那位高手可否告知怎样升级delphi 6的开发环境.以增强开发能力. ......


API函数需要64位的整数,PB中怎么办

API函数GetDiskFreeSpaceEx的参数是三个结构,这三个结构要使用64位的整数,不然返回值就不正确了。可是我在PB里面能找到的最长的Unsigned   Long也只能容纳32位整数,最大是4,294,967,295,也就是说只能计算约4G的容量,再多就完蛋了。  
  哪位大虾能告诉我该怎么办吗?

NO.1   作者: xiongxiao

用C++去做个DLL,   然后调用函数吧.

NO.2   作者: Hanson_bati_zhu

用API函数GetDiskFreeSpaceEx  
  可以获取每簇中扇区数、每扇区中字节数、剩余簇数、总簇数  
  这四个数据均不会超过32位整数限制  
   
  总字节数   =   每簇中扇区数*每扇区中字节数*总簇数  
  可能超过4G  
  兄弟写了个小程序  
  你试试是否能够使用下面的小程序计算大数相乘  
   
  其中as_a、as_b是两个乘数,字符串型  
  返回值也是字符串型  
   
  你试试吧  
   
  LONG ll_Len_A,ll_Len_B,ll_RetLen,ll_result,ll_carry  
  LONG ll_index_A,ll_index_B  
  CHAR   ls_A[],ls_B[],ls_val[],lc_set  
  STRING ls_ret  
  ls_A   =   as_A  
  ls_B   =   as_B  
   
  ll_Len_A   =   Len(as_A)  
  ll_Len_B   =   Len(as_B)  
  ll_RetLen   =   ll_Len_A   +   ll_Len_B  
  ls_val   =   Fill(0,ll_RetLen)  
  FOR   ll_index_B   =   ll_Len_B   TO   1   STEP   -1  
  ll_carry   =   0  
  FOR   ll_index_A   =   ll_Len_A   TO   1   STEP   -1  
  ll_result   =   (Asc(ls_A[ll_index_A])   -   48)   *   (Asc(ls_B[ll_index_B])   -   48)   +   ll_carry   +   ASC(ls_val[ll_index_B   +   ll_index_A])   -   48  
  lc_set   =   Right(String(ll_result,00),1)  
  ll_carry   =   Long(Left(String(ll_result,00),1))  
  ls_val[ll_index_B   +   ll_index_A]   =   lc_set  
  NEXT  
  ls_val[ll_index_B]   =   Right(String(ll_carry,00),1)  
  NEXT  
  IF   ls_val[1]   =   0   THEN  
  ls_val   =   Right(ls_val,ll_retlen   -   1)  
  END   IF  
  RETURN   ls_val  
   
   
 

NO.3   作者: chinalht

如果是结构,就好说了。比如:  
  us_1{          
  long   a  
  64位   b  
  }  
  等价于  
  us_2{  
  long   a  
  long   b1  
  long   b2  
  }  
  你传给API函数效果一样,不过:     b2是高32位,b1是低32位。  
  返回后计算成decimal或double之类的就可以了。


 ·applet 调用 servlet 问题 ,    »显示摘要«
    摘要: applet 代码如下: java.net.url url1 = new java.net.url("http://localhost:8080/platform/servlet/storedata"); java.net.urlconnection con1 = url1.openconnection(); con1.setdooutput(true); con1.s......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE