| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Текст rtf взять базы |
| Автор: makle 6.6.2005, 10:00 |
| Добрый всем день! Прошу помощи. Сам туплю в этом вопросе, а ответа ни в хелпе, ни в форуме не нашел. Или не понял. Есть таблица access, в ней поле мемо, в нем rtf текст. Т.е в режиме таблицы я вижу типа {\rtf1\ansi\ansicpg1251\uc1 \deff0..... Надо этот текст поместить в массив, а потом обратно из массива в таблицу. Никакой обработки данных в массиве не происходит. Как я понимаю этот rtf можно принимать как текстовую строку, т.е я помещаю данные из таблицы в string и затем обратно в таблицу. Если все прально почему теперь в талице я вижу {MEMO}. Что это {MEMO}? Может это надо делать не через стринг, а через другой тип? |
| Автор: ~FoX~ 6.6.2005, 10:23 |
| makle РТФ предоставляет возможность форматировать текст т.е. он добавляет теги формата текста (ну устроен он так). Поле мемо не хранить в себе форматированный текст, она просто текст хранит. Тип стринг, также не хранит теги форматирования текста. Для хранения и работы с ртф рекомендую использовать тип поля "Поле объекта OLE". Но врятли ты сможешь в CustomGrid выводить форматированный текст. Прдется цеплять ричбокс или динамически их создавать в ячейках грда. |
| Автор: makle 6.6.2005, 11:12 |
| ok Проблема в том, что это поле талицы именно типа "Поле МЕМО" и в нем данные в виде {\rtf1\ansi\ansicpg1251\uc1 \deff0\deflang1049\deflangfe1049{\fonttbl{\f... - это от VBA приложения. Оно с этим работает. Мне же надо взять эти данные как есть в массив, никуда не выводить, и потом обратно. Через стринг получаю в таблице {MEMO}, пробую через Variant, тогда при записи обратно в таблицу - ошибка "Invalid variant type conversion" |
| Автор: ~FoX~ 6.6.2005, 11:43 | ||
| Ну естественно ты получшь (МЕМО), потому что стандартный грид не поддерживает поля такого типа. Для них есть специальные компаненты - DBMemo например. Вот это у тебя работает?
|
| Автор: makle 6.6.2005, 14:26 |
| FOX! Я понял. Спасибо! |