Word и MS SQL

 
0
 
Delphi, Kylix and Pascal
ava
Roman1 | 18.02.2013, 16:45
Всем доброго времени суток. Прошу подсказать возможно ли решение следующей здачи. Необходимо как можно красивее сохранять в БД отрывки из документов Word - с сохранением шрифтов, таблиц и т.д. Сейчас все работает по такой схеме. Кусок из документа Word в буфер обмена, из него - в DBGrid, который связан с таблицей MS SQL Server. При выборке наоборот - из БД в DBGrid, а читать можно либо в самом DBGrid  либо  путем вставки из него в Word. Сохраняется  только форматирование, ну и если была таблица, то текст расположен почти так же как и в таблице, только без линий таблицы.Тип поля в MS SQL Server 2008 - nvarchar.
Возможно ли организовать работу по примерно такой же схеме с сохранением всей полноты внешнего вида документа Word, ну или хотя бы шрифтов и таблиц? Про объемы БД и скорость обработки речи пока не идет.
Спасибо. 
Ответы (5)
ava
Akella | 18.02.2013, 21:24 #
Скопируй кусок текста в буфер обмена, а потом посмотри из программы, какой там clipboard format.

Добавлено позднее:
Попробуй скопировать форматированный тест в буфер, а потом в текстовую переменную, посмотри отладчиком, что там внутри.
ava
Roman1 | 19.02.2013, 16:56 #
Спасибо за совет. Пока, правда, не попробовал сделать, только читал подробности по clipboard. Не совсем понятно,  возможно ли вообще через буфер обмена передавать в Дельфи символы помимо алфавита, перевода строки и т.п., т.е. помимо формата rtf. Я опять имею ввиду какие-нибудь симоволы для построения таблиц. Нигде ничего подобного не нашел, даже в теории.
ava
Akella | 19.02.2013, 17:34 #
http://forum.vingrad.ru/index.php?showtopi...t&p=2545631
может поможет
нужно узнать ,что там за формат clipboard и почитать про него
ava
Roman1 | 20.02.2013, 10:05 #
Добрый день. Посмотрел форматы в буфере обмена. При копировании из Word любого текста или таблицы в буфере содержатся следующие форматы: CF_Locale(Win95), CF_OEMText,  а также неизвестные форматы с идентификаторами 49167, 49154, 49608, 49171. Про них ничего не нашел.
В программе Delphi в буфере обмена форматы следующие: CF_Locale(Win95), CF_OEMText, CF_Text, CF_Unicodetext. Из этого понятно, что копируется только текст.
Известно ли что-нибудь об этих неизвестных форматах?

Добавлено позднее:
Извините, не до конца разглядел таблицу. При вставке в буфер из  Worda еще есть форматы CF_Text, CF_Unicodetext, CF METAFILEPICT, CF_ENHMETAFILE, а список неизвестных форматов очень длинный.
ava
Roman1 | 23.02.2013, 18:06 #
Решение вопроса в моем случае состоит, видимо, в том, что одновременно со вставкой текста в таблицу нужно одновременно вставлять в дополнительное поле БД рисунок из буфера обмена. В случае ворда таблица как раз сохраняется в буфере в виде рисунка.
Всем спасибо.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
ava  Akella   Roman1
advanced
Отправить