Страница 2 из 2

Re: Как юзать FindFirst , FindNext для файлов размер которых выходит за integer

Добавлено: 12 мар 2007, 15:43
namomelkor
не помню как сдвигать и не понял как обойтись сомированием )
короче сделал так
temp:=sr.FindData.nFileSizeHigh*256;
temp:=temp*256;
temp:=temp*256;
temp:=temp*256;
sz:=temp+sr.FindData.nFileSizeLow;

и еще делфи почемуто не вычистяет выражение sr.FindData.nFileSizeHigh*256*256*256*256 пишет 0.

Re: Как юзать FindFirst , FindNext для файлов размер которых выходит за integer

Добавлено: 12 мар 2007, 15:55
somewhere
&quot писал(а):sr.FindData.nFileSizeHigh*256*256*256*256
Dword * Dword * ... = DWord, естественно, что 0, ведь это больше 4G.
Ведь уже написали, как вычислять.
Через суммирование - SZ := High shl 32 + Low

Re: Как юзать FindFirst , FindNext для файлов размер которых выходит за integer

Добавлено: 12 мар 2007, 16:00
LAngel
somewhere писал(а):Dword * Dword * ... = DWord, естественно, что 0, ведь это больше 4G.
Ведь уже написали, как вычислять.
Через суммирование - SZ := High shl 32 + Low
High shl 32 = 0 :) ) ибо High - это DWORD.
надо Int64(High) shl + Low;