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

Вниз

Свойство ObjectText   Найти похожие ветки 

 
vixic ©   (2003-12-22 14:52) [0]

Начну с примера! :-)
Пример:
Положим на форму TImage, загрузим в него картинку щёлкнем правой кнопкой на форме выберем View as Text и видим что в свойстве Picture объекта TImage находится рисунок в HEX виде!
Вопрос:
как зделать такое свойство чтоб в него можно было сохранить файл и также как в TImage показывался его HEX код?
СПАСИБО!


 
REA ©   (2003-12-22 15:15) [1]

См. в Help ObjectTextToBinary и наоборот


 
Юрий Зотов ©   (2003-12-22 15:20) [2]

ObjectTextToBinary вот так просто не поможет.

1. Замещаете DefineProperties, пишете ReadProc и WriteProc.
2. В ReadProc и WriteProc преобразуете бинарный поток в строку или обратно.

Для примера см., как сохраняется картинка у TImage.


 
REA ©   (2003-12-22 15:31) [3]

Ну вот же: (Или это не то?)

function ComponentToString(Component: TComponent): string;

var
BinStream:TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result:= StrStream.DataString;
finally
StrStream.Free;
end;
finally
BinStream.Free
end;
end;


 
Юрий Зотов ©   (2003-12-22 15:43) [4]

> REA © (22.12.03 15:31) [3]

Это то, но все эти функции бессильны до тех пор, пока мы не научили САМ объект сохранять свои нестандартные свойства. Для этого и служит DefineProperties.



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
14-25542
Style
2003-12-18 18:57
2004.01.09
Бета-чай :))) Я плакалъ


14-25527
Knight
2003-12-19 09:16
2004.01.09
Атомные часы


7-25623
Jedi
2003-10-09 16:10
2004.01.09
Доступ к HDD используя LBA


7-25625
SammIk
2003-10-27 12:44
2004.01.09
RunTime Error


14-25498
w3ser
2003-12-18 22:25
2004.01.09
Очередные нападки Microsoft на пользователей Opera и Mozilla