Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.15;
Скачать: CL | DM;

Вниз

Как определить размер 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
11-1207645168
Сидор
2008-04-08 12:59
2009.11.15
KOLGif: обработка события OnClick


15-1253179997
dort12
2009-09-17 13:33
2009.11.15
Может кто делал??


1-1224027173
3she1on
2008-10-15 03:32
2009.11.15
embedded null ветка реестра


2-1253959376
контрол
2009-09-26 14:02
2009.11.15
Как программно "зажать" контрол?


8-1199890749
AlexanderMS
2008-01-09 17:59
2009.11.15
Воспроизвести WAV из части файла.