Witam
Mam takie małe pytanko co do rozmiaru plików.
Przeszukuje folder poleceniem FindFirst, FindNext i to pobierania rozmaru pliku używałem rekordu TSearchRec a w nim danej Size, jego wadą jest to iż to integer a więc pliki nieco ponad 2 GB wywalają kosmiczne wartościu.
Później postanowiłem używać TFileStream ale jego wadą jest, że nie może pobrać rozmiaru otwartego przez jakiś program pliku.
Na koniec spróbowałem czegoś takiego
function FSize(filename:string):extended;
var
FileHandle: THandle;
FileSize: LongWord;
begin
begin
FileHandle := CreateFile(PChar(filename),
GENERIC_READ,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
FileSize := GetFileSize(FileHandle, nil);
Result := FileSize;
CloseHandle(FileHandle);
end
end;</span>
ale wadą tego rozwiązania jest to, że jak jakiś plik jest otwarty/używany to przypisuje mu rozmiar ok 4 GB :( i tym sposobem folder WINDOWS ma 120 GB :)))
Znacie może jakiś sposób aby wczytać poprawny rozmiar plików, używanych lub nie??
Byłbym wdzięczny za pomoc