Muloqotni boshqarish tili - Dialog Control Language

Muloqotni boshqarish tili (DCL) - bu yuqori darajadagi tavsiflash tili va uning ichida tarjimon AutoCAD oddiy grafik dialoglarni yaratish uchun. AutoLISP kengaytmalar foydalanuvchi bilan AutoCAD muhitida o'zaro aloqada bo'lish uchun foydalanadi.

Xususiyatlari va ishlatilishi

Boshqa yirik GUI API-laridan farqli o'laroq, DCL to'liq emas GUI amaliy dasturlash uchun vositalar to'plami. Bu faqat AutoCAD ichida oddiy dialoglarni taqdim etish uchun mo'ljallangan. Unga matn shakllari, tugmalar, katakchalar va ro'yxat qutilari kabi asosiy formadagi vidjetlar kiradi. DCL ob'ektga yo'naltirilgan; u meros va kompozitsiya orqali qayta foydalanishga imkon beradi.

DCL sintaksisi "plitkalar" ni aniqlash va ulardan foydalanishga asoslangan. "Plitka" matn qutisi yoki matn yorlig'i kabi GUI vidjetini anglatadi. Plitkalar, shuningdek, ustunlar, radio tugmachalari guruhlari va dialog oynalari kabi boshqa vidjetlarni o'z ichiga olgan vidjetlarni ifodalaydi. DCL barcha asosiy vidjetlar uchun o'rnatilgan plitkalarni taqdim etadi va yangi plitkalar orqali aniqlanishi mumkin meros olish va tarkibi boshqa plitkalar.

DCL, ish vaqtida Lisp kodi bo'yicha dialog oynasi bilan o'zaro aloqada bo'lishga imkon beradi. Belgilangan vidjetlarda ular bilan bog'liq harakatlar bo'lishi mumkin AutoLISP funktsiyani ishga tushirish va unga o'tkaziladigan qiymatlar. Boshqa GUI turlaridan farqli o'laroq, DCL dialog oynalari ish vaqtida deyarli o'zgartirilishi mumkin emas. Matn qutilari va ro'yxat qutilari kabi ba'zi bir vidjetlarning tarkibini o'zgartirish mumkin, ammo vidjetlarni dialog oynasidan olib tashlash yoki qo'shib bo'lmaydi.

Misol

Bu erda DCL fayliga misol keltirilgan (va unga qo'shib berilgan) AutoLISP fayl) DCL ning asosiy xususiyatlarini namoyish etadi.

name_button: button {label = "Ismni yuborish"; action = "(nomini o'zgartirish)"; } salom: dialog {label = "DCL misoli"; : edit_box {label = "Ism:"; key = "name"; }: name_button {key = "submit-name"; }: matn {key = "salomlashish"; } ok_only;}

Muloqot oynasi o'rnatilgan "dialog oynasi" dan meros qilib olinadi. Xususiyatlar dialog oynasida va boshqa vidjetlarda ism / qiymat juftlarida o'rnatiladi. Plitkalar dialog oynasiga faqat ularni nomlash yoki ularni nomlash va qo'shimcha xususiyatlarni ko'rsatish orqali joylashtirilishi mumkin. Yangi plitka ('name_button') uni nomlash va uning xususiyatlarini ko'rsatish orqali foydalanish uchun aniqlanadi.

; DCL "hello.dcl" sifatida saqlanadi(bekor qilish o'zgartirish nomi ()  (set_tile "salomlashish" (strcat "Salom, " (plitka "ism") "!")))(setq salom-dcl (load_dialog "salom.dcl"))(yangi_dialog "Salom" salom-dcl)(start_dialog)(unload_dialog salom-dcl)

AutoLisp faylida bir qator funktsiyalarni chaqirish orqali DCL dialogi o'rnatiladi. Plitkalar qayta qo'ng'iroq qilishlari mumkin AutoLISP ba'zi hodisalar bo'yicha kod va Lisp dialog oynasi paytida plitkalar tarkibini boshqarishi mumkin.

Muqobil texnologiyalar

SAPR ichida umumiy GUI va boshqa kengaytmalarni yaratish uchun AutoDesk bir nechta boshqa variantlarni taqdim etadi. The ObjectARX Uchun API C ++ kengaytmalarni Microsoft Visual Studio-da bo'lgani kabi qurishga imkon beradi. VBA uchun drag-and-drop dasturlash imkoniyatini beradi AutoCAD kelsak Microsoft Office va boshqa ilovalar.

AutoCAD 2007 va undan keyingi versiyalarida AutoLISP yoki Visual-LISP dasturlari Visual Studio .NET (VB yoki C #) da yozilgan tartiblarni chaqirishi mumkin. Endi dasturchilar VB yoki C # da dialog oynalari yaratishlari mumkin, ular .NET Forms API-da topilgan boshqarish vositalarining to'liq doirasiga ega va ularga Visual-LISP-dan qo'ng'iroq qilish va kirish mumkin.

Tashqi havolalar