Форум: "Начинающим";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];
ВнизКак определить размер Application.ExeName ?? Найти похожие ветки
← →
сергей (2009-10-03 05:03) [0]Пробовал и так
procedure GetSize(FileName:pchar);
type TSize = Record
Bait: byte;
end;
var F: File of TSize;
Size: Integer;
begin
Size:=0;
AssignFile(F, FileName);
Reset(F);
while (not EOF(F)) do
begin
Size:=Size+1;
seek(F, Size);
end;
Form1.Caption:=IntToStr(Size);
CloseFile(F);
end;
и так
procedure GetSize(FileName:pchar);
var F: TFileStream;
begin
F:=TFileStream.Create(Filename, fmOpenRead);
form1.Caption:=IntToStr(F.Size);
F.Free;
end;
Все равно возникает ошибка чтения... Подскажите как точно определить размер самого себя, без копирования?
← →
сергей (2009-10-03 06:52) [1]а, все.. сам понял) сори)
← →
Семён. А (2009-10-03 07:54) [2]
> а, все.. сам понял) сори)
И что ж ты понял?
← →
Жорж (2009-10-03 10:41) [3]
> procedure GetSize(FileName:pchar);
Воистину ужасный код.
см. GetFileSize
или
FindFirst
← →
Юрий Зотов © (2009-10-03 13:11) [4]> сергей (03.10.09 05:03)
1. Тип TSize не нужен, можно сразу объявить file of byte.
2. Чтобы определить размер файла, читать его вообще не нужно (тем более, что это ужасно медленный способ). Нужно прочитать не сам файл, а информацию о нем в файловой системе, что гораздо быстрее:
procedure TForm1.FormCreate(Sender: TObject);
var
SR: TSearchRec;
begin
if FindFirst(Application.ExeName, faAnyFile, SR) = 0 then
try
Caption := IntToStr(SR.Size)
finally
FindClose(SR)
end
end;
Подробности см. в справке по FindFirst.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c