Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
ВнизЕсть ли в Delphi стандартная функция FileSize (FileName: string) Найти похожие ветки
← →
GreySerg (2003-10-14 17:22) [0]Есть ли в Delphi стандартная функция FileSize (FileName: string) ?
можно конечно создать поток и с помощью Seek в конец файла вычислить размер , но я думаю , что есть стандартная функция, или я ошибаюсь ?
← →
MBo (2003-10-14 17:24) [1]А если набрать в хелпе FileSize?
альтернативы - FindFirst и GetFileSize
← →
GreySerg (2003-10-14 17:26) [2]FileSize использует AssignFile,Reset и т.д ,
что не очень красиво в проекте , где везде ипользуются потоки
← →
MBo (2003-10-14 17:29) [3]FindFirst
А если уже есть filestream - то свойство Size
← →
GreySerg (2003-10-14 17:30) [4]все , всем спасибо , нашёл в Rx GetFileSize ))
← →
GreySerg (2003-10-14 17:31) [5]streema ещё нет . он потом будет ))
← →
Anatoly Podgoretsky (2003-10-14 17:33) [6]Да и затем лезть в Rx, когда в используем компоненте все есть.
← →
Anatoly Podgoretsky (2003-10-14 17:34) [7]Пардон, комспонент это от MBo, тогда FindFirst
← →
GreySerg (2003-10-14 17:52) [8]Rx - ая функция GetFileSize так и делает
← →
DVM (2003-10-14 18:18) [9]function FileSize( const FileName : String ) : Integer;
var FD : TWin32FindData;
FH : THandle;
begin
FH := FindFirstFile( PChar( FileName ), FD );
Result := 0;
if FH = INVALID_HANDLE_VALUE then exit;
Result := FD.nFileSizeLow;
if ((FD.nFileSizeLow and $80000000) <> 0) or
(FD.nFileSizeHigh <> 0) then Result := -1;
FindClose( FH );
end;
← →
GreySerg (2003-10-14 18:27) [10]>DVM ©
Rx-ая функция GetFileSize так делает для delphi 4 (там стоит ifdef)
а для остального случая FindFirst
← →
nevalex (2003-10-14 20:59) [11]var f:TfileStream;
i:integer;
begin
........(create и все такое)
........
..........
i:=f.size;
end;
← →
me (2003-10-14 21:08) [12]function GetFileSize(const FileName : string) : Int64;
var
Handle : THandle;
FindData : TWin32FindData;
begin
Handle := FindFirstFile(PChar(FileName), FindData);
if Handle <> INVALID_HANDLE_VALUE then begin
Windows.FindClose(Handle);
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
begin
Int64Rec(Result).Lo := FindData.nFileSizeLow;
Int64Rec(Result).Hi := FindData.nFileSizeHigh;
Exit;
end;
end;
Result := -1;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c