|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
22.12.2010, 00:50 | #1 | |
Что может быть слайдом в dcl-окнах?
Регистрация: 05.12.2010
Сообщений: 104
|
||
Просмотров: 18057
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
По идее зависит от того, как этот слайд определяется: как image или как slide_image.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Есть три функции: fill_image, vector_image и slide_image. Советую найти книгу НН.Полещука по AutoLISP или посмотреть в справке. Пока ничего более конкретного предложить не могу ( Устал, спать хочу.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Слайдом может быть только слайд (см. команды _.mslide и _.vslide).
Ну и start_image и end_image. Не впихнуть в DCL ничего, кроме слайдов - с помощью функции slide_image. Никаких jpg, bmp и пр не поддерживается. С помощью fill_image и vector_image можно рисовать изображение. |
||||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
fill_image - заполняет прямоугольник внутри графического поля одним цветом.
vector_image - рисует отрезок заданного цвета внутри графического поля диалогового окна. slide_image - заполняет графическое поле слайдом из отдельного файла слайда или из библиотеки слайдов. Как видим, здесь имеется в виду слайд , т.е. файл с расширением SLD (или SLB, если слайд берется из библиотеки). Никаких BMP или JPG не предусмотрено. Однако, можно попытаться вставить растровое изображение в чертеж и создать слайд вместе с этим изображением. Когда-то я делал так. Но вспоминается мне, что файл слайда в этом случае получался офигенного размера. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Слайды (как и DCL вообще) - атавизм. Но когда-то это было очень круто - вообще возможность вставлять в диалог хоть какие-то графические изображения. Тогда в DOS не было современных возможностей, кое-как можно было использовать древние графические форматы, наподобие PCX. Да и памяти было мизерное количество, поэтому формат SLD был кстати.
Теперь, если нужны хорошие диалоги, с современными "контролами" и графикой, надо использовать иные среды программирования. А вызывать диалоги можно и из LISP. |
|||
|
||||
__________________
Почему все вдруг становятся умными, когда уже не надо? Последний раз редактировалось Disney, 22.12.2010 в 12:45. |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
В дополнение к сказанному ShaggyDoc'ом - сразу скажу, что это не ахти какой метод, но все-же лучше чем - DCL. Если, по какой-либо причине есть сложности с регистрацией COM элементов (для диалоговых окон), во многих случаях, вполне можно использовать просто внешний .exe (через startapp), т.к. объектная модель автокада точно зарегестрированна.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
С этими слайдами просто ужасно работать. Да и создавать библиотеку слайдов достаточно неудобно. Хотя на это все есть спец. прога. Да и вообще мне кажется, что Lisp+DCL - это "для начала". Ознакомится с объектной моделью, получить азы, понять, что из себя представляют примитивы и т.д. Если уж создавать что-то, что содержит качественные диалоги - то это уже C#, C++, VBA и т.д., деланные на Visual Studio. Тем более - можно сделать диалог, например используя .NET, а к нему привязать Лисп |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Но тут нужна LISP-функция, запускающая exe в "модальном режиме", т.е. дожидающаяся завершения диалога любым способом. Штатные функции этого, почему-то не умеют. Можно воспользоваться DOSlib или свою сделать. Этот метод хорош тем, что полностью не зависит от COM. И "программу-диалог" можно делать любыми средствами. Когда-то, когда недостатки DCL уже были очевидны, а ничего хорошего не было, я использовал такие "диалоги" ("нарисованные" на CLIPPER или Turbo Pascal) даже в DOS. При этом, хотя и приходилось выгружать из памяти сам Автокад, замедления работы не ощущалось. А теперь-то тем более не почувствуется, даже с "медленными" файловыми операциями. |
|||
|
||||
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Так ведь один из минусов dcl - это работа ИСКЛЮЧИТЕЛЬНО в модальном режиме - ихмо наоборот приятней когда ты какой-либо бегунок тянешь, а у тебя "в онлайне" чертеж меняется.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
зачем тогда диалог? рисуешь бегунок в чертеже, тянешь его и программно перерисовываешь чертеж...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
|
||||
Это называется "динамически", а не "онлайн".
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
То HWD - в кавычках же написанно - я думаю все поняли.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Но DCL придумали задолго до идеологии программирования в Windows, где работа основывается на анализе "сообщений" из разных источников. "Это когда" отслеживаются все действия (шевеление мышки, нажатие на клавиши), сортируются и отправляются соответствующим "исполнителям". А раньше в памяти могла быть только одна программа и ей не с кем было взаимодействовать. "Окон" в нынешнем понимании (не визуальном) просто не было. И не было самого понятия "модальности". Конечно, Autodesk просто обязана была где-то в версии AutoCAD 14 сделать новую систему диалогов. Старую DCL можно было оставить для совместимости. И сейчас этому нет технических препятствий, особенно с внедрением .NET. Но им это не надо. "Пипл хавает", да и сюзерен не заинтересован в этом. Сейчас я немодальные диалоги делаю именно в виде EXE. Он запускается из LISP, подхватывает объектную модель AutoCAD и посылает ему соответствующие "команды". |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Подскажите каким методом определяете местоположение exe'шника (у меня пока в виде "жесткой" привязки %appdata%... реализовано, ничего лучше в голову не приходит (в реестр лезть или переменые устанавливать - не охота, (тогда уж сразу COM поставить можно) может какой получше метод есть - поделитесь)).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Можно бы настройки и в файле хранить, но тогда придется решать вопрос с местом жительства этого файла. Удобен компромиссный вариант: основные пути в реестре, прочие настройки - в файлах, путь к которым извлекается из реестра. Причем эти файлы должны храниться не в %appdata% %ProgramFilesFolder%, а в %AppdataFolder% или %CommonAppdataFolder%. %ProgramFilesFolder% (как переменную) использовать можно, но до нее тоже еще добраться надо, да и может потребоваться ставить программу в любое место. Чтобы работать с реестром совсем не надо ставить COM. PS. Как обычно обозначаются системные папки в WinApi: ProgramFilesFolder - папка в Program Files. Ставим сюда только то, что не должно изменяться пользователем AppdataFolder - где-то в c:\Documents and Settings\%USER%\Application Data\ (для XP) CommonAppdataFolder - где-то в c:\Documents and Settings\All Users\Application Data\ (для XP) |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Вы все забыли одно маленькое преимущество слайдов: слайды (снимки рабочего поля) делаются одним нажатием клавиши, можно даже динамически, в диалоговом окне
Модальность DCL тоже не проблема, если не пытаться впихнуть в него несвойственный функционал... Новые контролы? А часто вы их используете? А правильно ли? А можно ли и без них обойтись? А удобны ли они на самом деле? А сколько времени занимает разработка действительно нового контрола... А насколько больше exe-шник файла DCL и т.д. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Конструирование DCL-диалогов - мучение. Работа вслепую с многочисленными запусками для проверки. Ужасное "саморастягивание" элементов. Ужасный, по современным понятиям код, обработки. Да, когда-то все диалоги писались примерно так - указывая вручную позиции и размеры (в DCL даже размером только косвенно можно управлять). Но это было когда-то. Всё-таки уже минимум 15 лет используется визуальное конструирование форм, его даже в свои программы вставляют. Дополнить IDE "Visual" LISP такими возможностями мог бы и студент, в рамках максимум дипломной работы. В очередной раз привожу пример диалога не на DCL. Там есть Control (дерево), без которого кому-то можно и обойтись. В дереве отображаются "пункты меню". Каждый пункт сопровождается иллюстрацией, которую в любой момент обычный пользователь может заменить щелчком одной кнопки (есть несколько вариантов). Иллюстрацию еще и подредактировать "на лету" можно. Каждый пункт имеет дополнительное описание. Дерево меню читается из XML-файла, который "кому положено" могут и редактировать. И дерево умеет выполнять "команды", которые привязаны к пунктам меню. Попробуйте реализовать это на LISP+DCL. А показанное на рисунке меню в LISP вызывается одной строчкой: (ru-xml-eval full_xml_file_name dlg_caption) Причем не только показывается, но и выполняет выбранную команду. |
|||
|
||||
>ShaggyDoc
Поскольку у вас есть готовые решения, может имел бы смысл опубликовать одно из них в качестве примера? То, что вы предлагаете, несомненно гораздо лучше, чем использование DCL, но LISP-программистам, как мне кажется, было бы легче освоить данный вариант взаимодействия кода с GUI, если бы перед глазами был комментированный пример. Алексей Кулик закрепил бы тему в соответствующем разделе. ИМХО - подобные примеры никогда не будут лишними и если в примере будет подробно разобрано построение, к примеру, показанного вами выше окна + взаимодействие с ним Lisp-кода - я думаю, что очень многие будут вам признательны. ______________ P.S. Это конечно если у вас есть на то время/желание и более менее подходящий исходный код под рукой, на комментирование которого не уйдёт много времени (если комменты не присутствуют на данный момент времени). P.S.2 Со своей стороны могу предоставить .Net-реализацию примера, который вы опубликуете (возможно это кому-нибудь будет интересно). Реализацию я предоставил бы в двух вариантах - с применением WinForms и с применением WPF, дабы можно было сравнить обе технологии построения GUI в дотнете.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 23.12.2010 в 11:12. |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
P.S. так-что получится - выкладывать надо одно и то-же (у Вас на .Net, а у ShaggyDoc - например - на дельфи - лисопом "не пахнет" в обоих случаях). P.P.S - чтобы было взаимодействие из лиспа - выход только один - писать GUI COM сервер.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 23.12.2010 в 11:43. |
|||
|
||||
Цитата:
Для того, чтобы получить список системных переменных, можно в cmd.exe запустить команду SET. Как вариант - запустить этот скрипт. Цитата:
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
Но даже описывать не буду - просто приложу несколько XML в архиве. По ним будет все понятно. А чего непонятно - объясню. Обращаю только внимание на возможность включения других XML строчкой типа Код:
Парсер XML, встретив такую строку, вставляет вместо нее в DOM дерева содержимое include-файла. А в нем могут быть и другие вложения. Это дает очень большие возможности - можно и "весь САПР" приязать к одной кнопке, и обращаться по отдельности к любому разделу. Можно потренироваться на xml\menu\other\pltools.ruxm - в него вошли команды из PlTools от VVA, которые имеются на форуме. Строка, которая должна возвращаться в LISP сидит в атрибуте macro, например Код:
B такой диалог, конечно, может использоваться не только для LISP. У меня один и тот же COM-сервер используется и в других системах. Например, в Mapinfo, где также имеются сотни утилит в которых "без картинок" не разберешься. Там вместо возврата значения атрибута macro возвращается значение атрибута filename. А какой именно атрибут возвращать - передается в аргументах запуска. |
|||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
А что, если диалоговые окна в AutoCAD'е писать на HTML/CSS/JavaScript. Можно всё делать очень круто и богато. Особенно если заручиться поддержкой таких библиотек, как jQuery.
Всех дел то, написать специализированный браузер
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
|
||||
Если перевести на русский, то имя этому - XAML, а технологии, которые успешно его используют - WPF и Silverlight.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
В переводе на русский это звучит ровно так, как написано: HTML/CSS/JavaScript.
Я имел в виду использовать вместо языка разметки DCL язык разметки HTML плюс таблицы стилей CSS. Вся внутренняя логика диалогового окна пишется на JavaScript (VBScript), а необходимая часть событий транслируется "наружу" - передается в обработчик событий прикладной программы, написанный на lisp.
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
|
||||
Почему тогда не XHTML? А если XHTML, то и до XAML рукой подать. имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Можно и XHTML. Современные версии браузеров умеют отображать и то, и другое.
Можно даже XML + CSS или XML + XSLT. Насчет XAML не знаю. Наверное требуется спец плагин (Silverlight ?)
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
HTML, Javascript со всеми его прекрасными библиотеками (jQuery и т.п.) предназначены для ВЕБ-приложений, в которых единственный инструмент - браузер. Они, безусловно, нужны. Но работают в сотни раз медленнее, чем standalone приложения. И уж для замены диалоговых окон AutoCAD это делать не имеет никакого смысла. Для их просмотра понадобится браузер (пусть свой, минимальный). А делать логику обработки таких HTML-окон пробовали? Я ежедневно этим занимаюсь (пишу CMS). Сделать это в десятки раз сложнее, чем пресловутый DCL. А вот XAML, как язык описания диалогов - весьма перспективно. Именно как единый универсальный язык. Сейчас в каждой системе программирования свои форматы, описывающие одно и то же. А мог бы быть единый. Чтобы диалог, сконструированный в одной системе, можно было прочитать и выполнить в любой другой. Конечно, фирмы на это не пойдут. Но вот Autodesk для AutoCAD могла бы использовать XAML и для .NET, и для VisualLIsp. Да они про это вроде как сами лапшу вешали, когда ложились под Microsoft. |
|||
|
||||
Цитата:
Поскольку под автокад можно писать на дотнете, то один вариант xaml-парсера уже есть. Другие варианты нужно либо самому писать, либо ждать, когда они будут предоставлены сторонними девелоперскими компаниями. Теоретически, если напрячься, то под свои задачи можно написать такой парсер (к примеру для использования WinForms). Кстати, меня очень растроил тот факт, что Mono в своей библиотеке отказалось реализовывать WPF. Пояснения по поводу принятия такого решения, я не нашел... Offtop: Понимаю, что это будет как камень в болото, но... Кину уж его, выскажусь... Честно говоря, все проводимые автодеском форумы, дни открытых дверей и т.п. "крутые встречи" - это, на мой взгляд, своего рода слёт одарённых, но тем не менее "Свидетелей Иеговы", пешек (грубо конечно, но ведь по сути так и есть) Autodeska, задача которых громко и уверенно петь "Аллилуйя", компилируя эту же программу у без того откомпилированных присутствующих на мероприятии (таких же "Свидетелей Иеговы"), внушая тем самым идею покупать очередную версию продукта. Разъезжаясь обратно по своим фирмам, они несут "благую весть", "хорошие новости". Но блин, на таких мероприятиях официально не обсуждаются "косяки" и их исправление для текущей и предыдыщих версий продукта. И времени, отведённого под это дело, в программках найти никому не удастся, сколько бы ни искали. Ибо нефиг... Не надо этого... И всё пучком, ибо "масса хавает"... Тема устранения замечаний "неприятна" и её обсуждение не входит в планы помпезных песнопений, ведь по бизнес-плану пора втюхивать очередную версию продукта (в которую, порой, добавлено что-то, что уже давно присутствет в вертикальных решениях, но преподносится как "новинка"). Оно и понятно - если начать обсуждение "багов" и пожеланий - может получиться не так красиво, как планируется. Лучше всем вместе сделать вид, что всё прекрасно и безоблачно. Плохо, когда компания ставит превыше всего деньги, а не качество. Не буду спрашивать, нахрена каждый год выпускать новую версию, вместо того, чтобы детально "причесать" уже имеющуюся... Ответ итак очевиден. Помню, как у нас в отделе открыли одно из видео, об осеннем форуме... На нём какой-то парень, со счастливым лицом рассказывал, как он вставая с кровати, первым делом влючает компьютер и запускает Revit, потом идёт чистить зубы, чуть ли не над клавиатурой, после чего весь день он за Revit'ом, и последнее, что он делает непосредственно перед сном - закрывает Revit и выключает компьютер... И мол он так счастлив, так счастлив - в этом вся его жизнь... Вокруг стоят, радостно улыбаются и одобрительно кивают такие же "зомби"... Ужоссс... Такой неприкрытый щенячий восторг...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
Речь то идет о замене связки DCL + lisp на что то другое (желательно, такое же простое). Если использовать XAML, то между XAML и lisp должен затесаться некий модуль, который является приложением к AutoCAD, умеет читать XAML, создавать на основе полученной разметки окна, транслировать события(основные), происходящие в компонентах окна, в среду lisp и предоставлять интерфейс для каждого используемого в окне типа компонента (аналогично action_tile, get_tile, set_tile). В этом случае не потребуется ничего, кроме lisp и XAML, но написать такой модуль - серьёзное дело (имхо).
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
|
||||
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Для того, чтобы связать lisp и WPF, надо, чтобы из лисп можно было обратиться к любому имеющемуся в окне визуальному компоненту и установить или прочитать его свойства (аналогично set_tile, get_tile и get_attr), а так же иметь возможность из lisp "прикрутить" к каждому визуальному компоненту обработчик событий (аналогично action_tile).
Цитата:
Иное дело, когда вы пишете диалоговые окна к AutoCAD и, при этом, параллельно изучаете HTML/CSS/JavaScript. Однажды можно будет плюнуть в автодеск и перейти в веб-программисты. Или XAML. Хорошая основа к тому, чтобы стать .NET программистом, владеющим темой создания современного GUI.
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 23.12.2010 в 22:40. |
|||
|
||||
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
Если бы что-то подобное было встроено в IDE VL - другое дело. Цитата:
Вот когда стали в ActiveX устанавливать параметры через свойства, то и потеряли преимущества LISP. |
|||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
Тогда да, взаимодействие lisp и "формы" сводится к вызову этой самой формы с одновременной передачей ей необходимых параметров, и получению результата.
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
|
||||
Правильно ли я вас понял: на то, чтобы создать окно, показанное вами в #23, с построением древовидной структуры, которую вы читали из xml-файлов, и на то, чтобы прописать обработчики кликов для кнопок и вызовов лисповских функций (без написания самих функций, вычерчивающий нужные объекты по выбранным в окне параметрам), у вас ушло 3 месяца?
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Язык JavaScript тоже "уже есть" и технология HTML/CSS в придачу. И родились они раньше .NET и на них держится весь интернет.
У простых парней, пишущих на lisp, есть проблема, как выскочить за рамки убогого DCL, при этом не переходя в категорию .NET программистов. Ежу понятно, что если вы умеете писать .NET программы под AutoCAD, то вся эта тема вам абсолютно неинтересна. p.s. Я выбираю связку HTML/CSS/JavaScript + специализированный браузер, потому что она позволяет получить не просто банальный заменитель DCL, а нечто больше, поскольку является базовой интернет-технологией...
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 23.12.2010 в 23:39. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Цитата:
Стороннее приложение, поддержка которого может прекратиться в любой момент. Достаточно вспомнить историю autoСПДС...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Когда мы вызываем, например, функцию (alert "Hello World") из LISP, то она передается в недра AutoCAD, а там, внутри, вызывается функция WinAPI MessageBox. Она и работает (рисует окно, выводит сообщение, обрабатывает кнопки). Для меня такой вариант недостаточен, хотя бы потому, что нельзя передать заголовок. Поэтому делаю свою низкоуровневую функцию, которая передает больше параметров в тот же MessageBox. А для более удобного использования делаю еще функции высокого уровня (ru-dlg-yes-no-cancel "Казнить нельзя помиловать") (ru-yes "Понял, да") (ru-no "Будем форматировать диск C:") (ru-msg-alert "Ой, блин") (ru-msg-info "Приехали") и т.п. В этих диалогах есть и заголовки, и иконки, и требуемые кнопки (какая надо - по умолчанию), и спрятана вся логика работы. В случае с XAML таким посредником мог бы быть .NET внутри AutoCAD, а может и более низкоуровневый код. Это уже технические детали. Цитата:
Вот если бы делать программу, которая работала бы на сервере, а клиенты заходили через интернет, тогда возможно. Тут тоже есть два принципиальных варианта: клиент-браузер и специализированный клиент. Для неопределенного круга лиц конечно лучше браузер. А для ограниченного - специальный клиент, который раздается "кому положено". Цитата:
Сконструировать само окно (раскидать компоненты) - полчаса. Доводка до скомпилированного вида - полдня. А вот дальнейшие усовершенствования, время от времени, могут тянуться бесконечно. Но это с любой программой. Вот, например, получение вырезок с экрана и запись картинок в файл сама по себе занимательная задача. Вот еще пример простенького диалога - редактор полилинии. Там есть сетка со списком координат и изображение полилинии. Очень удобно при вводе из какой-то ведомости с обзором всего объекта разом. В AutoCAD полилинию не всегда в целом и увидишь, а тут любые ошибки можно увидеть. Предлагаю желающим потренироваться описать такое окно на DCL - там нет "каких-то эдаких" контролов. Цитата:
Цитата:
|
|||||
|
|||||
Цитата:
Цитата:
Видео: http://www.youtube.com/watch?v=f7KAsbYW1Ec Как это делается в AutoCAD - здесь. Статья по теме видео. Цитата:
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
|||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
Изучать HTML/CSS/JavaScript может даже сложнее, чем скажем Windows Forms. Но здесь появляется возможность выйти за рамки настольных приложений к AutoCAD и заодно стать веб-программистом Кстати, сам автодеск что-то нутром почуял и потому в последних версиях появилась взможность через ActiveX (объект Utility) вызывать некий спецбраузер (который, правда, с лиспом взаимодействовать не умеет) и даже появилась возможность скачивать файлы. Реализовано все это предельно коряво и потому, видимо, прошло незамеченным.
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 24.12.2010 в 10:06. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
|
|||
|
||||
Фига се... круто... Ну да, дотнет это конечно-же предоставить не сможет, куда уж ему... Сдаюсь.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Тогда что Вам напоминает количество упоминаний о Lisp? Их намного больше. На чём пишу, то и использую в своих постах. И этим я ничем не отличаюсь от лисперов, делфийцев и т.п. Думаю, что вам лучше не развивать эту тему.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Не ошибаешься.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 24.12.2010 в 10:52. |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
Браузером можно будет пользоваться из прикладных программ, написанных на lisp, ObjectARX и ObjectARX.NET.
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 24.12.2010 в 12:05. |
|||
|
||||
Глупо писать велосипед браузер, если уже имеется XAML, и механизм работы с ним. То, что кто-то не умеет работать с XAML, но умеет работать с HTML/CSS/JavaScript - это его личные проблемы, а не проблемы Майкрософта. Мелкомягкие со своей стороны предоставили хорошую технологию, решающую задачу отделения GUI от кода и построения его на основе разметки.
Кому нужно - тот освоит технологию. Кому лень - будет сидеть у разбитого корыта и ждать, что с неба упадёт "браузер" что-то написанное специально под его уровень знаний. имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Браузер уже написан - Internet Explorer. Его просто нужно обернуть в удобоваримую форму.
Мы спорим непонятно о чем. Напишите приложение, которое будет использовать разметку XAML и строить на её основе диалоги для AutoCAD. Приложение должно экспортировать в AutoCAD комплект функций, позволяющих из lisp (или ObjectARX) строить и обслуживать диалоги на основе файлов с разметкой XAML. Вам будет слава, автодеску -позор. А я потихонечку продолжу писать свой браузер, который, уверен, тоже будет востребован.
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 24.12.2010 в 12:46. |
|||
|
||||
Цитата:
Цитата:
Цитата:
Предлагаю тему более не мусолить - толку всё равно нет и каждый останется при своём.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
gomer, нарисовать диалог (точнее, форму) и сделать его обработку есть две большие разницы. Теперь попробуй в dcl прописать: если в "1" введено число, то активно "2", иначе - "3". Проверку выполнять после потери фокуса полем "1"
__________________
(/= RegDate StartReadDate) |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
я зыки разные - алгоритм тот же... и лисп ничуть не дольше и не сложней других языков... Да, все процедуры придется ручками объявлять... но лень ни до чего хорошего, кроме инфаркта не доведет...
|
|||
|
||||
Цитата:
теперь от себя - небольшое разоблачение мифа... В начале декабря, была встреча другого плана - день разработчика autodesk - встреча, на которую собрались официальные разработчики - члены ADN. Среди разных вопросов, таких как обсуждение новшеств в будущих версиях и ближайшей в частности, обсуждались и узкие места программ. Были решены важные вопросы. На моих глазах, вносились предложения о некоторых правках, которые в тот же день уехали в европу вместе с людьми, которые действительно могут вносить изменения и принимать решения... Я это говорю только для того, чтоб всем было понятно - менеджеры решают вопросы продаж и делают это так, как могут и умеют, а разработчики тихонько делают свое дело! ps. Еще раз напомню, для всех жителей россиии и снг, сейчас есть возможность личного вступления в ADN бесплатно. Почитать, что это такое, можно здесь, по вопросам вступления можно обратиться напрямую к Наталье Поликарповой или ко мне. Чуть поясню, что такое личное вступление на собственном примере. Я зарегистрировался как компания Elpanov и деятельность - консультант, на эти данные я получил договор, после подписания стал членом ADN и получил доступ к внутренним сайтам autodesk, личный серийный номер для всей продукции автодеска с возможностью скачать три последних версии любых продукатов. Как бонус - бесплатное обучение на семинарах, встречи, консультации и многое другое... Единственный минус, это понимание, что когда нибудь это перестанет быть халявой для меня и нужно будет решать - платить или нет... pps. забыл добавить - в adn приглашаются разработчики - программисты всех мастей, а не вообще все знающие, что такое acad...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ Последний раз редактировалось Елпанов Евгений, 24.12.2010 в 18:00. Причина: pps |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
И попробуй, например, разместить несколько контролов хоть в ряд, хоть по высоте или произвольно, чтобы у них были заданные размеры и позиции. А уж потом хвастайся скоростью набивки символов в редакторе. |
|||
|
||||
>ShaggyDoc
Хочется уточнить насчёт системных переменных, о которых я писал в #26 (может вы проглядели) - таких переменных вроде нет, или я ошибаюсь? Цитата:
Я покажу оба варианта (мне и самому интересно), но не сегодня, т.к. сегодня уже ничего не хочу... ((((
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Эти вопросы были бы к месту, если бы тебе предложили действительно что-то нелепое...
Offtop: п.с. Автора цитаты не верно указываешь.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
Цитата:
Теоретически в XML могут быть заданы любые виды парных "кавычек", а вот практически MSXML заменяет их по своему разумению (по крайней мере в прежних версиях). Именно из-за этого, да из-за низкой скорости я использую другие парсеры. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
Быть может куда-то надо ввести какой-то коэффициент? | psik | AutoCAD | 1 | 16.01.2007 02:32 |
Высокий простенок (а может быть столб) | Koker | Прочее. Архитектура и строительство | 7 | 16.10.2006 14:46 |
Может разорвать анкерные болты от мороза? | Колян | Прочее. Архитектура и строительство | 4 | 12.08.2005 09:14 |
eTransmit вырубается! В чем может быть дело? | Maps | AutoCAD | 2 | 22.01.2004 17:12 |