Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.033 c
1-1100512557
TObjectField
2004-11-15 12:55
2004.11.28
Работа с TObjectField........


8-1093530110
Dimman
2004-08-26 18:21
2004.11.28
ScreenShot в файл средствами Win API


9-1090961036
xdev
2004-07-28 00:43
2004.11.28
Как создать дугу между тремя точками в OpenGL


6-1095754729
needhelp
2004-09-21 12:18
2004.11.28
encoding


1-1100526945
<< TEster
2004-11-15 16:55
2004.11.28
Как отличить файл от каталога ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский