Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
15-1166551625
Petr V. Abramov
2006-12-19 21:07
2007.01.14
Знаменательная дата


15-1166980335
PHPdeveloper
2006-12-24 20:12
2007.01.14
Дистанционное обучение


9-1141842727
Storm
2006-03-08 21:32
2007.01.14
Игры с нуля


2-1166538376
maxistent
2006-12-19 17:26
2007.01.14
Реакция на <ESC>


2-1167111400
4ert
2006-12-26 08:36
2007.01.14
Pointer




   Наверх