A awfigsk Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-15 #1 如果一个文件超过了4G,那用GetFileSize取回的文件大小怎么表示?<br>并且用字符串如何显示出来?<br>还请高手指点!谢谢!
A awfigsk Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-15 #2 如果一个文件超过了4G,那用GetFileSize取回的文件大小怎么表示?<br>并且用字符串如何显示出来?<br>还请高手指点!谢谢!
晶 晶晶 Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-15 #3 function GetFileSize(hFile: THandle; lpFileSizeHigh: Pointer): DWORD; stdcall;<br>lpFileSizeHigh指针指向一个存放高32位地址的DWORD变量,函数本身返回低32位地址,这样不就有了64位的空间了。<br>至于怎么显示在字符串中,可以将低的放在一个字符串里面,高的放在另外一个字符串里面,两个字符串相加不就可以了^_^
function GetFileSize(hFile: THandle; lpFileSizeHigh: Pointer): DWORD; stdcall;<br>lpFileSizeHigh指针指向一个存放高32位地址的DWORD变量,函数本身返回低32位地址,这样不就有了64位的空间了。<br>至于怎么显示在字符串中,可以将低的放在一个字符串里面,高的放在另外一个字符串里面,两个字符串相加不就可以了^_^
D dreamisx Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-15 #5 或者直接用TFileStream打开,然后取其Size,那可是int64啊。
W wr960204 Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-15 #6 Function FileSizeEx(AFileHandle:Cardinal):Int64;<br>var<br> H,LWord;<br>begin<br> Result := 0;<br> L := GetFileSize(AFileHandle, @H);<br> Result := H;<br> Result := (Result shl 32) or L;<br>end;
Function FileSizeEx(AFileHandle:Cardinal):Int64;<br>var<br> H,LWord;<br>begin<br> Result := 0;<br> L := GetFileSize(AFileHandle, @H);<br> Result := H;<br> Result := (Result shl 32) or L;<br>end;
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-16 #7 var<br> FSize: Int64;<br>begin<br> PInteger(@FSize)^ := GetFileSize(FileHandle, Pointer(Integer(@FSize)+4));<br><br>end;
var<br> FSize: Int64;<br>begin<br> PInteger(@FSize)^ := GetFileSize(FileHandle, Pointer(Integer(@FSize)+4));<br><br>end;