![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Пишу прогу для просотра информации графических изображений и мне надо получит размер файла.
Вот код: Код:
procedure TForm1.Button1Click(Sender: TObject); var PicFile : file of Real; pic : Cardinal; picsize : Integer; begin //----------------------------------- AssignFile(PicFile, OpenPictureDialog1.FileName); Reset(PicFile); //---------------------------------- picsize :=GetFileSize(PicFile, NULL); Edit1.Text := FloatToStr(picsize); CloseFile(PicFile); end; А этот гад ругается - incompatible typse: 'Cardinal' and 'Text'; Поочему он счетает PicFile текстовым? - объясните. |
|
#2
|
||||
|
||||
|
хе, незнаю. могу посоветовать такую ф-цию
Код:
function FileSize( const Path : String ) : Integer;
var FD : TWin32FindData;
FH : THandle;
begin
FH := FindFirstFile( PChar( Path ), 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; |
|
#3
|
||||
|
||||
|
Бляагодарю. А я нашёл кое-что по-проще:
Код:
function GetFileSize(FileName: String): Integer;
begin
try
FS := TFileStream.Create(Filename, fmOpenRead);
except
Result := -1;
end;
if Result <> -1 then Result := FS.Size;
FS.Free;
end;А применять: просто вызываешь функцию и пишешь IntToStr(GetFileSize('C:\file.txt'));. Усе, но всёравно спаибо. |
|
#4
|
||||
|
||||
|
ну эта ф-ция вроде как открывает файл, а FileSize обходится без открытия, что имхо лучше.
|
|
#5
|
||||
|
||||
|
Не могу знать. Но читал в справке про GetFileSize и там говорилось, что надо файлу задать значение fmOpenRead или fmOpenWrite. Ну, по крайней мере это работает.
|
|
#6
|
||||
|
||||
|
да, но если захочется узнать размер скажем pagefile.sys
, то винда фиг даст его открыть и ничё не выйдет возможно. А тот код что я предоставил по идее должен сработать. |
|
#7
|
|||
|
|||
|
А мужики-то не знают
![]() |