Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.061 c
15-1166687290
Pazitron_Brain
2006-12-21 10:48
2007.01.14
Дом-страница


15-1166474454
Cyrax
2006-12-18 23:40
2007.01.14
Можно ли (теоретически и практически) заюзать Xerces ?


15-1166706608
genelectric
2006-12-21 16:10
2007.01.14
Вакансия программиста - Санкт-Петербург


15-1166803567
Лёля
2006-12-22 19:06
2007.01.14
Delphi 6 и CodeFolding


2-1167012893
impuls
2006-12-25 05:14
2007.01.14
Операция сдвига