读书人

使用函数的一个有关问题小弟我用Get

发布时间: 2012-02-12 17:16:33 作者: rapoo

使用函数的一个问题,我用GetDiskFreeSpaceEx得到硬盘的大小,但返回值太大,42,598,848G
procedure TForm1.Button1Click(Sender: TObject);

var d:Char;
userFreeBytes,totalBytes,freeBytes:Int64;
begin
GetDiskFreeSpaceEx(PChar(d+ ':\ '),userFreeBytes,totalBytes,@freeBytes);
Edit1.Text:=Formatfloat( '###,##0 ',(((totalBytes)div 1024)div 1024)div 1024)+ 'G ';
Edit2.Text:=Formatfloat( '###,##0 ',freeBytes)+ '字节 ';
end;

end.


返回值太大,且把d换成别的字符也是同样的结果,为什么啊?

[解决办法]
你还没指定盘符:

var
d:Char;
userFreeBytes,totalBytes,freeBytes:Int64;
begin
d:= 'C '; //指定C盘
GetDiskFreeSpaceEx(PChar(d+ ':\ '),userFreeBytes,totalBytes,@freeBytes);
Edit1.Text:=Formatfloat( '###,##0 ',totalBytes div 1024 div 1024 div 1024)+ 'G ';

读书人网 >.NET

热点推荐