![]() |
Модераторы: MetalFan |
![]() ![]() ![]() |
|
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Здравствуйте, посетители и создатели сайта!
Прочитал много литературы, статей, FAQ, обсуждений на форумах, но так и не нашел необходимой информации. Такая проблема: создается Word документ, в котором пишутся вопросы для тестов (текстовая информация) и к этим вопросам могут соответствовать различные картинки, вставленные в документ из файлов, объекты Visio, Excel, PowerPoint, объекты WordArt, формулы и др. Мне необходимо читать из файлов .doc или .rtf по кускам эти вопросы и картинки или объекты и отображать точно так же это все как в документе в приложении Delphi. В прикрепленном файле Word’a есть пример трех вопросов. Как мне из этого файла прочитать первый вопрос и идущую к нему картинку и отобразить точно так же в приложении Delphi, затем, например, по нажатию кнопки, третий вопрос и идущий к нему объект WordArt, затем второй вопрос и идущий к нему вставленный объект Visio? Надеюсь, я смог изложить свою проблему. Очень прошу помочь. :stena В конце темы я выложил свою работу по этой теме (модуль UmyWApp) Это сообщение отредактировал(а) RedKot - 15.4.2007, 08:07 Присоединённый файл ( Кол-во скачиваний: 34 ) ![]() |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
OleConteiner
RxRichEdit и т.д. и т.п. -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Не стесняюсь спросить, потому что все мы когда то учились, а кто то только начинает… Я не разу не работал с OleContainer… И где взять этот RxRichEdit, что такое RichEdit я знаю, а вот это к сожалению… Albinos_x, можно пример по моей проблеме, очень прошу. Кстати, тема « WordApplication, ExcelApplication, Работа с Word и Excel» мне помогла с работой Word-Delphi, респект. Ну только начинаю я учиться работать со связкой Word и Delphi, помогите! |
|||
|
||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Немного оговорюсь – в данной моей проблеме тема « WordApplication, ExcelApplication, Работа с Word и Excel» к сожалению не помогла, я имел ввиду общее, так что моя тема остается открытой ![]() |
|||
|
||||
Albinos_x |
|
||||||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
RXLib2005 RXLib 2.752 (Delphi 7) я тоже ![]() вот простейший пример:
если сможешь найти способ загрузить содержимое документа в поток то :
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
||||||
|
|||||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Albinos_x, я вот подумал, если каждый тестовый вопрос со вставленными объектами заключать в какой-нибудь заранее определенный тег, ну например {….} или >>…<<, то можно же искать программно эти теги и читать всю информацию между ними, включая вставленные объекты, и отображать таким же образом как ты описал в OleContainer…
Я где-то вроде читал, но не подскажешь, как найти эти теги (начальный и конечный) и скопировать все что между ними в OleContainer? И как сделать чтобы в программе никто не мог редактировать документ из OleContainer, а то по двойному щелчку или по правому щелчку мыши по нему загружается Word для изменения документа? Кстати, точно простой пример ![]() |
|||
|
||||
Albinos_x |
|
||||||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
как найти есть в моей статье... вот пример как найти теги и выделить текст между ними (тегами):
далее смотри код выше... после копирования не забывай снимать выделение
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
||||||
|
|||||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Albinos_x, огромное спасибо за примеры, все работает (вроде как
![]() Я вот нашел такое: WordApplication1.Selection.CopyAsPicture; Это значит что все выделенное можно копировать как изображение? Как с этим работать? Например, я могу это - WordApplication1.Selection.CopyAsPicture вставить в Image1:TImage? |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
на тексте я это не испытывал, испытывал только для получения картинок из текста....:
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Albinos_x, подскажи пожалуйста, как правильно найти и подсчитать все буквы А, или, например, тот же <teg> (описанный выше) по всему документу от начала до конца.
Пробовал подсчитать количество тегов <teg> циклами repeat и while с помощью WordApplication1.Selection.Find.Execute(...) (FindText:=Templ,Wrap:=wdFindContinue) и с помощью WordApplication1.Selection.Find.Text:='<teg>' тоже пробовал, но ничего не вышло, точнее выходит, что у меня либо один раз находит либо бесконечно ищет по всему документу слово '<teg>'. Или хотя бы как определить что документ закончился, и надо прекратить поиск? И где можно взять русское описание всех 15 параметров .Execute(…..)? заранее спасибо. |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
использовать для подсчёта способов можно множество...
начиная от того, что грузить весь текст в переменную и анализировать её... эта функция возвращает True если нашла и False если не нашла... ищет от текущего места, так что после каждого нахождения необходимо снимать выделение с перемещением курсора в конец...
нигде не видел... переводи справку по VB... -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Поделитесь опытом создания ScrollBar’ов для OleContainer. Он показывает информацию в поле его видимости, а то что ниже невозможно просмотреть, так как нет ScrollBar у самого OleContainer’а.
|
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
кидай на форму
ScrollBox1: TScrollBox в него помещай OleContainer1: TOleContainer свойство OleContainer1.SizeMode:=AutoSize - выставь в инспекторе объектов, для того, чтоб OleContainer занимал всё видимое пространство ScrollBox, выставь сначала у OleContainer свойство Align в alClient, после верни в alNone.... всё запускай и наслаждайся ![]() -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
что то у меня не получается. пробовал и в инспекторе объектов менять как описано: выставь сначала у OleContainer свойство Align в alClient, после верни в alNone и програмно пробовал: form1.olecontainer1.align:=alClient; form1.olecontainer1.align:=alNone; где только в программе не ставил эти строчки... все равно OleContainer не занимает все видимое пространство ScrolBox |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
программно не поможет... делай в инспекторе объектов...
при установки Align в alClient, он сразу должен растянуться по всей видимой части ScrolBox, при установке обратно в alNone, уйдёшь от масштабирования в OleContainer... -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |