Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизСвойство 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c