C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
размерность файла
grebenyk
Отправлено: 18.10.2006, 16:15


Дежурный стрелочник

Группа: Участник
Сообщений: 73



Доброго времени суток. Под рукой нет справочника, а на память я не помню. Есть имя файла с полным путем. Какая функция определения его размерности. Понимаю , что такой вопрос уже задавался, но с первого подхода найти не смог, а временем не заправляю, помогите, кто чем может
GoodWin
Отправлено: 18.10.2006, 16:26


Дежурный стрелочник

Группа: Участник
Сообщений: 50



Вообщем то размерностью файла является байт.
А вот если вам необходимо найти размер, то:
GetFileSize или можно использовать
iFileHandle = FileOpen(OpenDialog1->FileName, fmOpenRead);
iFileLength = FileSeek(iFileHandle,0,2);
FileClose(iFileHandle);

grebenyk
Отправлено: 18.10.2006, 16:38


Дежурный стрелочник

Группа: Участник
Сообщений: 73



Спасибо, наверно сказал не по русски. GetFileSize-это по ходу оно
Gal
Отправлено: 19.10.2006, 11:45


Станционный диспетчер

Группа: Участник
Сообщений: 124



1.
FILE *r;
unsigned long lFileSize;

r = fopen ("file_name", "rb");
fseek (r, 0L, SEEK_END);
lFileSize = ftell ®;
fclose ®;


2.
Если файл открывать нежелательно, то лучше использовать
FindFirst(const AnsiString Path, int Attr, TSearchRec &F);
В структуре TSearchRec есть поле Size.
Grigoriy
Отправлено: 19.10.2006, 20:17


Мастер участка

Группа: Участник
Сообщений: 381



QUOTE
FileSizeByName
Unit: IdGlobal

Retrieves the size a file.


function FileSizeByName(sFilename: string): cardinal;

Parameters

sFilename: string

The file name to be examined.


Returns

Cardinal — Size of the file.


Description

FileSizeByName is a Cardinal function used to determine the size of the file specified in sFilename.
FileSizeByName is an OS-independent mechanism used to determine the size of an Operating System file, and uses TFileStream.Size to determine the number of bytes returned by the function.
Gedeon
Отправлено: 20.10.2006, 12:28


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (Grigoriy @ 19.10.2006, 21:17)
QUOTE
FileSizeByName
Unit: IdGlobal

Retrieves the size a file.


function FileSizeByName(sFilename: string): cardinal;

Parameters

sFilename: string

The file name to be examined.


Returns

Cardinal — Size of the file.


Description

FileSizeByName is a Cardinal function used to determine the size of the file specified in sFilename.
FileSizeByName is an OS-independent mechanism used to determine the size of an Operating System file, and uses TFileStream.Size to determine the number of bytes returned by the function.

Весьма оригинально юзать индиевские библиотеки для определения размера файла yu.gif .
olegenty
Отправлено: 20.10.2006, 13:04


Ветеран

Группа: Модератор
Сообщений: 2412



по-моему рульнее всего вариант Gal обернуть в свою собственную функцию, и юзать потом до полного удовлетворения smile.gif

Вернуться в Вопросы программирования в C++Builder