![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать размер текстового файла в Delphi [D6, WinME]
Dr. Genius © (2004-10-06 09:20:00)Функция SizeOf не применима к текстовым файлам (TextFile), но я уверен, что существует способ узнать размер текстового файла и вывести его (размер) в Delphi в строковом (String) виде.
Как узнать размер текстового файла?
TUser (2004-10-07 10:21:00) [1]
> kukuikar © (06.10.04 10:59) [4]
Это отнюдь не универсальный вариатн. И довольно медленный, кстати.
П7 (2004-10-07 09:30:00) [2]
> Fay © (06.10.04 20:52) [7]
А затем, что так быстрее. К тому же, если ты вообще работаешь с файламиерез потоки, то так ещё и удобнее! (:
Dr. Genius (2004-10-07 09:10:00) [3]Спасибо всем за помощь!
Fay (2004-10-06 20:52:00) [4]2 AndersoNRules
Интересный вариант. А нафиг ?
AndersoNRules (2004-10-06 20:37:00) [5]Function GetFileSize(FName:String):Int64;
var FS:TFileStream;
begin
try
FS:=TFileStream.Create(FName,fmOpenRead);
Result:=FS.Size;
finally
FS.Free;
end;
end;
kukuikar (2004-10-06 10:59:00) [6]Универсальная функция для всех файлов.
Просто указываншь файл и полуяаешь его вес в байтах.
function GetFileSize(namefile: string): Integer;
var
InfoFile: TSearchRec;
AttrFile: Integer;
ErrorReturn: Integer;
begin
AttrFile := $0000003F; {Any file}
ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
if ErrorReturn <> 0 then
Result := -1 {в случае, если файл не найден}
else
Result := InfoFile.Size; {Размер файла в байтах}
FindClose(InfoFile);
end;
kukuikar (2004-10-06 10:59:00) [7]Удалено модератором
TUser (2004-10-06 10:51:00) [8]А для того, чтобы вывести в строковом виде, есть совсем не-интуитивная функция inttostr()
П7 (2004-10-06 09:25:00) [9]И вот ещё прикол-то в чём. Этой мега-функцией можно узнать размер не только текстового, но и любого другого файла. Главное, чтобы параметром был указатель на открытый файл любого типа.
ВотЪ! (:
П7 (2004-10-06 09:22:00) [10]Как не странно это выглядит, но FileSize( f : TextFile );
Хотя наверно в выборе имни для функции разработчики сильно ошиблись, ибо получилось ОЧЕНЬ НЕ интуитивно понятное название! (: