線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1219
推到 Plurk!
推到 Facebook!

讀取磁碟空間之問題

尚未結案
myfor
一般會員


發表:12
回覆:11
積分:4
註冊:2003-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-02 19:14:30 IP:61.219.xxx.xxx 未訂閱
之前我參考了本站之範例用了GetDiskFreeSpace這個 在中文的windows都沒有問題~~~沒有想到~~到了英文的 windows卻發生了問題,這個指令有系統的限制嗎???誰可以告訴我 之後我又參考了本站範例用了GetDiskFreeSpaceEx但是抓出來的空間 跟本沒有辦法運算,因為太大了,矣~~我該怎麼辦呢?? 誰可以告訴我~~謝謝~~~~~~~~~
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-02 19:48:56 IP:218.166.xxx.xxx 未訂閱
應該不是英文版的問題 API有分2000/XP WIN9X 有時會有這樣的問題 先CHECK一下OS的版本吧
myfor
一般會員


發表:12
回覆:11
積分:4
註冊:2003-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-02 19:53:57 IP:61.219.xxx.xxx 未訂閱
我用的win 98英文版的~~~(特地灌來測的) 別人測式是win 2000的 一樣的問題~~~怪耶~~好像要用GetDiskFreeSpaceEx這一個 用GetDiskFreeSpace這一個會有問題~~~ 但是GetDiskFreeSpaceEx回傳的是浮點數~~~ 我不會轉成整數耶~~怎麼辦呢???
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-02 19:56:34 IP:218.16.xxx.xxx 未訂閱
我是使用自行重新定議 api 參數的方法,改用 Int64 去處理,那便不用使用 PLargeInteger 了    
procedure TForm1.Button1Click(Sender: TObject);
type TGetDFSEx = function( Path: PChar; CallerFreeBytes, TotalBytes, FreeBytes: Pointer ) : Bool; stdcall;
var GetDFSEx: TGetDFSEx;
    FBA, TNB, FB: Int64;
begin
  GetDFSEx := GetProcAddress( GetModuleHandle( 'kernel32.dll' ), 'GetDiskFreeSpaceExA' );
  GetDFSEx( 'C:\', @ FBA, @ TNB, @FB );
  ShowMessage('TotalBytes='   IntToStr(TNB));
  ShowMessage('FreeBytes='   IntToStr(FB));
  ShowMessage('CallerFreeBytes='   IntToStr(FBA));
end;
98/Me/2k/XP 等都試過可行。
系統時間:2024-04-25 20:57:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!