Текущий архив: 2007.01.14;
Скачать: CL | DM;
Вниз
GetFileSize Найти похожие ветки
← →
nikv © (2006-09-01 13:07) [0]Удалено модератором
Примечание: СПАМ
← →
Dmitrij_K (2006-09-01 13:31) [1]H:=FileOpen("filaname",fmOpenRead);
if H>0 then
begin
GetFileSize(h,@Int);//Int:Integer; - размер
CloseHandle(h);
end;
лучше использовать FindFirst+FindClose файл не надо открывать и размер показывает правильно если файл >4гб
← →
han_malign © (2006-09-01 13:42) [2]
> GetFileSize(h,@Int);//Int:Integer; - размер
- и ты реально этим пользуешься?
для лучшего осознания, привожу не самую оптимальную схему:LowDWORD:= GetFileSize(h,@HighInt);
а по нашему, по простому:
if(LowDWORD <> $FFFFFFFF)then int64Result:=int64(HighInt)shl 32 or LowDWORD
else begin
Error:= GetLastError;
int64Result:= -1;
end;dwFileSize:= GetFileSize(h,nil);//до 4 Гb
if(LowDWORD = $FFFFFFFF)then begin
Error:= GetLastError;
.........
end;
← →
begin...end © (2006-09-01 13:55) [3]> han_malign © (01.09.06 13:42) [2]
> для лучшего осознания, привожу не самую оптимальную схему:
Это неправильная схема. Двойное слово, равное $FFFFFFFF, может являться корректной младшей частью результата. Лучше так:
var
Res: Int64;
begin
Int64Rec(Res).Lo := GetFileSize(H, @Int64Rec(Res).Hi);
if (Int64Rec(Res).Lo = $FFFFFFFF) and (GetLastError <> NO_ERROR) then
// ошибка
end
← →
Dmitrij_K (2006-09-01 14:01) [4]
> > GetFileSize(h,@Int);//Int:Integer; - размер - и ты реально
> этим пользуешься?
опечатался, с кем не бывает
← →
Джо © (2006-09-01 14:13) [5]http://delphimaster.net/view/2-1157101444/
Страницы: 1 вся ветка
Текущий архив: 2007.01.14;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.011 c