Автор: Z-man WEB-сайт: http://delphibase.endimus.com { **** UBPFD *********** by delphibase.endimus.com **** >> Сохранение компонента полностью, со всеми свойствами в БД.
Данная функция использовалась и используется для сохранения отчетов, формируемые пользователем, в базу данных. БД используется: Informix и Oracle, под другие БД не пробовал. Отчеты строились в ReportBuilder5.5. Для других компонентов не пробывал использовать
Зависимости: стандартные Автор: Z-man, nik7777@land.ru, ICQ:160236098, Astana Copyright: Z-man ® Дата: 28 мая 2002 г. ***************************************************** }
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;
Пример использования: OraTReport.FieldByName('report').AsString := ComponentToString(rbReport); //* где: *// //* rbReport - ReportBuilder5 (желтый отчет)*// //* OraTReport - TOraTable из пакета компонентов ODAC (визуальные *// //* компоненты для прямого доступа к Oracle)*// |