Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Delphi и Corel Draw   Найти похожие ветки 

 
xmrz ©   (2004-11-09 01:45) [0]

Обращаюсь к Corel Draw посредством Ole

Пользуясь единственной найденной мной нормальной статьёй с примером понял как работать с объектами типа Text (4). Мне нужно получать доступ к текстовому полю для редактирования шаблона. Не могу понять как работать с полем типа Paragraph Text (6).

Кто знает, подскажите пожалуйста.


 
pasha_golub ©   (2004-11-09 10:21) [1]

Ссылку, плиз, на статью.

Во-вторых, какая версия Корела?

В-третьих, у Корела есть библиотека типов. Находится она в ...\Corel\Graphics\Programs\coreldrw110.tlb, там же лежит для Фотопайнта.

В-четвертых, у Корела есть хелп по автоматизации, правда под VB, но какая нафиг разница... Находится в ...\Corel\Graphics\Programs\draw11VBA.hlp

ЗЫ А для каких задач используется такая связка? Просто интересно


 
pasha_golub ©   (2004-11-09 10:21) [2]

Ссылку, плиз, на статью.

Во-вторых, какая версия Корела?

В-третьих, у Корела есть библиотека типов. Находится она в ...\Corel\Graphics\Programs\coreldrw110.tlb, там же лежит для Фотопайнта.

В-четвертых, у Корела есть хелп по автоматизации, правда под VB, но какая нафиг разница... Находится в ...\Corel\Graphics\Programs\draw11VBA.hlp

ЗЫ А для каких задач используется такая связка? Просто интересно


 
pasha_golub ©   (2004-11-09 10:30) [3]

В догонку. Имена файлов указаны для 11 версии.
При импортировании библиотеки типов не пытайтесь создать компонент - много идентификаторов класса TComponent имеют аналогичные имена с идентификаторами библиотеки типов.


 
xmrz ©   (2004-11-09 11:56) [4]

Ссылку на статью к сожалению не помню, на королевстве Delphi она есть. Я сейчас на работе, всё дома осталось. Версия Corel - 11 но это не принципиально, пойдёт и 9. Библиотеку типов я не импортировал, пользовался хелпом по VB от 10 Corel"а.
Область применения - из имеющейся базы данных необходимо формировать рекламные блоки для печатных изданий.

Основной вопрос по следующему коду:


Procedure Replace(s_find, s_repl: WideString);
var ObjID, FirstObjID:longint;
   s_global:string;
   fpos:integer;
begin
cdr.SelectAllObjects;
cdr.SelectNextObject(true);
FirstObjID := cdr.GetObjectsCDRStaticID;
Repeat
 if 4=cdr.GetObjectType then  // если это текст
   begin
    s_global:=cdr.GetTextString;
    fpos:=pos(s_find,s_global);
    if fpos>0 then
    cdr.SetTextString(fpos-1,fpos+length(s_find)-1, s_repl);      
   end;
cdr.SelectNextObject(true);
ObjID := cdr.GetObjectsCDRStaticID;
Until ObjID = FirstObjID;
end;



Как быть если замену текста мне нужно делать не в Artistic text (коим является тип 4), а в Paragraph Text (6). При вызове любого метода работающего с Artistic text - ошибка.


 
xmrz ©   (2004-11-09 18:42) [5]

верну вопрос наверх


 
pasha_golub ©   (2004-11-09 19:19) [6]

Товарищ, код запущен. Во-первых, не указано глобальных переменных (cdr, как я понимаю это приложение).

Во-вторых,

4=cdr.GetObjectType

это, конечно, не ошибка, но пардон попахивает...

В-третьих, "практика - критерий истинности", часто употребляемый здесь призыв. ;0) Попробуйте сначала создать макрос "изнутри" Корела, а потом просмотрите какие методы вызывались.

Область применения - из имеющейся базы данных необходимо формировать рекламные блоки для печатных изданий.

Здравствуйте коллега! У вас не намечается случаем работа с CorelVentura? ;-)


 
xmrz ©   (2004-11-10 00:33) [7]

Про CorelVentura не слышал :)
Критерий истинности затаскал уже донельзя, потому и обратился с вопросом,
4=cdr.GetObjectType - я привёл нативный код из статьи, я прекрасно понимаю что овации он вызовет только в рядах заядлых сишников.
С макросом тоже пробовал, но к сожалению макросы хороши для динамического создания объектов, перемешения и другой более тонкой работы, а такую примитивную вещь как редактирование текста мне записать в макрос не удалось.


 
KSergey ©   (2004-11-10 07:37) [8]

> Область применения - из имеющейся базы данных необходимо
> формировать рекламные блоки для печатных изданий.
>
> Здравствуйте коллега! У вас не намечается случаем работа
> с CorelVentura? ;-)

Сказать нечего, но коллеги здрасьте! ;)  (QuarkXPress)


 
xmrz ©   (2004-11-10 10:31) [9]

;)

Ребята, а у Вас эти дела вообще из под Delphi работают? Хоть какие-нибудь варианты есть? :)


 
pasha_golub ©   (2004-11-11 14:13) [10]

KSergey ©   (10.11.04 07:37) [8]
xmrz ©   (10.11.04 10:31) [9]
Привет, коллеги.

xmrz ©   (10.11.04 10:31) [9]
Работает, но у меня, с текстом пока ничего нету. У меня импорт из базы в документ, местоположение, размер, некотрые свойства и т.д.

Но уверен, что сложного ничего нету. Кидай сюда код свой будем разбирать. И еще... Библиотеку типов импортировал?

KSergey ©   (10.11.04 07:37) [8]
ТОже через ОЛЕ связываешь?


 
KSergey ©   (2004-11-11 15:30) [11]

> [10] pasha_golub ©   (11.11.04 14:13)
> KSergey ©   (10.11.04 07:37) [8]
> ТОже через ОЛЕ связываешь?

Гы ;)
Не, таких слов там не знают. Да и не на дельфи там. ;) Так что я лишь о приложении сил скорее, чем о средствах и методах ;)


 
pasha_golub ©   (2004-11-11 17:43) [12]

KSergey ©   (11.11.04 15:30) [11]
A-a-a, а то я уж было заволновалси. ;0)



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.043 c
1-1100571368
Дима
2004-11-16 05:16
2004.11.28
Не видно компонентов на форме


14-1100067128
Kerk
2004-11-10 09:12
2004.11.28
И еще раз про образование.


3-1099351613
Apophis
2004-11-02 02:26
2004.11.28
DBGrid и блокировка клавиш курсора и ESC


8-1093886408
Рыба
2004-08-30 21:20
2004.11.28
Чтение файлов курсоров в растр.


1-1100517283
den_777
2004-11-15 14:14
2004.11.28
Ограничение RICHEDIT на длину текста