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

Вниз

Почему TFileStream.size показывает 0 если файл отрывается   Найти похожие ветки 

 
novill ©   (2006-10-12 18:07) [0]

и не пуст??? Данные из него читаются, но size как был  0 так и остается.


 
Ketmar ©   (2006-10-12 18:32) [1]

потому что ошибка в коде. или открывают вовсе не файл на локальном диске.


 
DrPass ©   (2006-10-12 18:59) [2]

Потому что у кого-то религия не позволяет посмотреть хелп или исходники, и узнать, что TFileStream.Size не обозначает размер файла... и вообще ничего не обозначает, используется только для вызова seek по файлу


 
Leonid Troyanovsky ©   (2006-10-12 19:13) [3]


> DrPass ©   (12.10.06 18:59) [2]

> или исходники, и узнать, что TFileStream.Size не обозначает
> размер файла... и вообще ничего не обозначает,


Ну, чего-то да и обозначает.
Оным можно даже размер файла изменить.
Hint: procedure THandleStream.SetSize

--
Regards, LVT.


 
Ketmar ©   (2006-10-12 19:13) [4]

угу. приходилось делать эмулятор seek для своих хитрых потоков. потому что есть гении, которые seek"ом и определяют размеры, и перекрытие сайза не спасает. %-)


 
Джо ©   (2006-10-12 19:15) [5]

> [2] DrPass ©   (12.10.06 18:59)

Пардон, где такое написано?

Написано просто:

TStream.Size
Indicates the size in bytes of the stream.
Description

Use Size to find the size of the stream. Size is used internally in routines that read and write to and from the stream. Setting the Size property of TStream does nothing. Some descendants of TStream override this property to allow applications to change the size of the resource accessed using the stream.

В исходнике TStream.GetSize еще лаконичнее:
 Pos := Seek(0, soCurrent);
 Result := Seek(0, soEnd);
 Seek(Pos, soBeginning);


 
DrPass ©   (2006-10-13 00:22) [6]

Действительно... на меня склероз напал. А почему-то был уверен, что не работает. Сорри за дезинформацию :)



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
15-1160494016
Cyrax
2006-10-10 19:26
2006.10.29
Windows XP. Синий экран смерти


1-1158215092
Mishenka
2006-09-14 10:24
2006.10.29
Как сделать, чтоб в DBGridEh (из EhLib)


4-1150277816
DmitryA
2006-06-14 13:36
2006.10.29
Кеширование файлов в LAN


3-1157278541
Алексей Петухов
2006-09-03 14:15
2006.10.29
Grid index out of range


15-1160393864
лор
2006-10-09 15:37
2006.10.29
радиовещание