使用Delphi 7開發我們的主應用程序。我們正在導入數據文件。以字節爲單位的文件大小超過了vcl和我的代碼用來保存它的整數變量的大小...所以它變爲負數並且空文件動作被採取...更改GetFileSize上的數據類型大小
我們當前的代碼來檢查文件大小決定是否爲空)是:
function getfilesize(vfilename: string): integer;
var
SearchRec: TSearchRec;
begin
try
result:= -1;
if FindFirst(vfilename, faAnyFile, SearchRec) = 0 then
result:= SearchRec.Size;
FindClose(SearchRec);
except
on e: exception do
raise exception.create('Error: functions\getfilesize - Unable to analyze file Attributes to determine filesize. '#13#10+e.message);
end;
多年來這已來回改變,但在過去5年這 運作良好。
searchrec.size是一個INTEGER,所以只是改變我們的返回類型 是不夠的。商店中還有很多其他因素,與我們的代碼和我們使用的數據庫字段有關。
問:對於我們來說,還有哪些其他D7確定字節文件大小的方法可以使用 ,它們使用更大的數據類型?
問:你知道任何其他替換函數getFilesize在一個更大的整數?
+1這很好。有時候你有一個文件名,但不是一個句柄,其他時候你有一個句柄而不是文件名。 ;) – 2011-03-17 18:04:50
@Craig當你有一個句柄它很簡單,你可以調用['GetFileSizeEx()'](http://msdn.microsoft.com/en-us/library/aa364957(VS.85).aspx)。 – 2011-03-17 18:06:35
'windows.GetFileAttributesEx'有什麼不好? – 2011-03-17 18:38:56