вторник, 11 декабря 2012 г.

AutoLISP\Visual LISP и диалоговые окна...

Головная боль многих AutoLISP\Visial LISP программистов, разрабатывающих приложения под AutoCAD - создание графического интерфейса - так называемого GUI. Вариант, предлагаемый компанией Autodesk - технология DCL, является весьма ограниченным как в плане удобства его использования, так и в плане возможностей. Порой у программистов возникает желание прибегать к помощи сторонних технологий для построения GUI. Альтернативы могут быть разными: например использование COM или .NET.

суббота, 10 ноября 2012 г.

Объектная модель "родной" регистрации плагинов для их автозагрузки в AutoCAD

В AutoCAD существует два способа добавления плагинов в автозагрузку:
  • Через реестр (старый способ).
  • С помощью файла PackageContents.xml (новый способ для новых версий AutoCAD).
"Новые" версии AutoCAD поддерживают оба способа регистрации автозагрузки.

воскресенье, 28 октября 2012 г.

Шифр Виженера на C89

Написал на C маленькую программку по шифрованию/расшифровыванию любых файлов, с использованием шифра Виженера. Программа очень простая и подходит для защиты от обычных пользователей (не хакеров). Размеры исходного и зашифрованного файлов совпадают. Для шифрования/дешифровки используется один и тот же ключ (произвольная строка текста).

Любопытный момент: эту программку можно использовать для шифрования/расшифровывания файлов по принципу "одноразового блокнота" - в этом случае мы получаем абсолютную криптографическую стойкость, т.е. информация защищена на 100% от кого угодно, в т.ч. от хакеров и спецслужб. Однако вряд ли кому-то из нас потребуется такого уровня защита, поэтому можно ограничиться произвольным ключом шифрования (главное - самому его не забыть).

среда, 17 октября 2012 г.

Tooltip для BlockReference в AutoCAD

Если вы хотите назначить определению блока некоторую текстовую информацию, которая должна отображаться в виде всплывающей подсказки при наведении курсора мыши на вхождения этого блока, то в качестве варианта можно воспользоваться обозначенным далее решением.

вторник, 16 октября 2012 г.

О технической поддержке ADN от Autodesk

На протяжении последних двух лет, у меня имеется подписка на техническую поддержку ADN компании Autodesk. Первый год поддержка была бесплатной для многих участников и я попал в их число. На этот год подписку ADN я уже оплачивал. Поскольку в этом году я задал в ADN несколько десятков вопросов, помимо заданных в прошлом году, то можно сказать, что некоторый опыт общения с технической поддержкой у меня присутствует... В этой заметке я выскажу своё мнение о качестве работы обозначенной технической поддержки и о том, стоит ли приобретать её.

среда, 10 октября 2012 г.

Создание плавающей панельки возле курсора, во время работы команды в AutoCAD

Ниже приведён простой пример на тему того, как во время работы команды в AutoCAD, создать возле курсора мыши прозрачную плавающую панельку с произвольным набором элементов. Для реализации данной задачи я воспользовался технологией WPF.

вторник, 28 августа 2012 г.

О безопасности в AutoCAD

Некоторое время назад мне пришлось написать лекарство против LISP заразы, распространяющейся через AutoCAD. Данные танцы были обусловлены невозможностью решения обозначенной проблемы средствами самого AutoCAD.

четверг, 7 июня 2012 г.

Баги AcCoreConsole.exe в AutoCAD 2013

Несомненно, продукция компании Autodesk развивается и постепенно обрастает более мощным и удобным функционалом. Одни из нововведений имеют огромное значение, в то время как другие менее важны. В этой записи я опубликовываю информацию об одном инструменте, появление которого в эпохе развития AutoCAD имеет колоссальное значение, т.к. предоставляет разработчикам программно работать с AutoCAD более удобным способом - через консоль, вместо использования GUI. Речь пойдёт об AcCoreConsole.exe.

пятница, 1 июня 2012 г.

О книге CLR via C# 4.0

Многим программистам не нужно представлять такого человека, как Джеффри Рихтера. Его книги, содержащие в себе глубоко проработанный и изложенный в доступной форме материал, получили широкое, заслуженное признание по всему миру.

суббота, 28 апреля 2012 г.

xaker.ru - ищем баги лишь в чужом глазу?


Давно заметил, что на сайте http://www.xakep.ru/ бесполезно пытаться зарегистрироваться... Сегодня снова попробовал и, как обычно - безрезультатно...

понедельник, 2 апреля 2012 г.

Вышла первая Release версия языка Go.

28 марта 2012 г. вышла первая Release версия языка программирования Go.  Доступны дистрибутивы для Windows, Mac OS X, FreeBSD и Linux. Язык распространяется под лицензией BSD.

понедельник, 19 марта 2012 г.

Программистам, пишущим под AutoCAD

Накипело... Регулярно сталкиваюсь с различного рода проблемами, возникающими в виду того, что многие пользователи нашей организации время от времени тянут себе из интернета разного рода библиотеки, написанные кем-то и выложенные в инете...

воскресенье, 4 марта 2012 г.

ColorCode - подсветка синтаксиса в .Net-приложениях

Для того, чтобы в .Net-приложениях реализовать подсветку синтаксиса различных языков программирования, можно воспользоваться библиотекой ColorCode. По указанной ссылке перечислены поддерживаемые языки и показан простой пример использования библиотеки.

суббота, 3 марта 2012 г.

Windows 8 Camp (3 марта 2012г.)

Мероприятие проходило в офисе Майкрософт, добираться до которого, откровенно говоря долго, хотя если результат того стоит, то можно и съездить, а вот стоило ли ехать в этот день... Читаем далее...

пятница, 2 марта 2012 г.

Windows 8 Camp (2 марта 2012г.)

Мероприятие прошло неплохо - есть над чем задуматься. Завтра будут "практические занятия" - пойду, попробую слепить чего-нибудь... А вообще, Майкрософт - молодцы...

понедельник, 27 февраля 2012 г.

PowerShell: определение в коде скрипта его расположения (каталог, файл, функция)

Покажу, как в скрипте, написанном на PowerShell, можно определить каталог его размещения, имя файла этого скрипта, а так же функцию, в составе которой выполняется текущая строка кода. Так же покажу разницу между аргументами функции и её параметрами.

суббота, 25 февраля 2012 г.

PowerShell: CTP или RTM?

Оригинал статьи (на английском) находится здесь.
Не так давно, когда я проводил обучение в группе корпоративных администраторов, ко мне поступил вопрос: "Почему в PowerShell не работает удалённое взаимодействие на Windows XP?". Но ведь я точно знаю, что он делает это (т.е. работает удалённо)! Как выяснилось в последствии - администраторы загрузили "неправильную" версию PowerShell. Как такое могло произойти?

пятница, 24 февраля 2012 г.

XML + XSLT. Управление визуальным отображением XML-документов.

Для того, чтобы автоматом преобразовывать содержимое xml-файлов в удобочитаемый вид/формат (html, rtf, pdf, txt, vrml, svg, java и т.д.) - следует воспользоваться XSLT, вместо того, чтобы стараться применить CSS.

среда, 22 февраля 2012 г.

Процессоры XSLT

Для того, чтобы на основе XML документа создавать страницы html, документы PDF, RTF, SVG или любой др. формат (т.е. на основе одного содержимого создавать разные способы отображения) - используются процессоры XSLT. В качестве литературы по данной теме рекомендую "XSLT" 2-е издание, автор Диг Тидуэлл.

Реестр - информация об установленных SP для AutoCAD


Когда-то давно, на примере AutoCAD 2009, я изучал вопрос о том, как меняется ветка реестра, содержащая информацию об установленных для AutoCAD пакетов обновлений (Service Packs). Результат записал в текстовый файл. Сейчас случайно наткнулся на этот файл и решил выложить эту информацию в блоге, дабы её можно было быстро найти при необходимости.

понедельник, 20 февраля 2012 г.

C#: работа с ярлыком


Маленькая "зарисовка" на тему того, как в .Net работать с ярлыками (создавать/читать/редактировать их).

суббота, 18 февраля 2012 г.

PowerShell 2.0 и обобщённые .net-классы


В PowerShell 2.0 можно с лёгкостью использовать обобщённые .net-классы. Те кто пишет на .net, сразу смогут оценить это. Маленький пример:

пятница, 17 февраля 2012 г.

Удалённое взаимодействие с помощью PowerShell 2.0

Англоязычный источник, на основе которого выполнена эта статья, находится здесь.
В данной статье подробно объясняется тема удалённого взаимодействия с использованием PowerShell 2.0. Первым делом нам необходимо запустить службу, с помощью которой будет осуществляться удалённое взаимодействие.

четверг, 16 февраля 2012 г.

PowerShell: Работаем с ACL

Покажу пример, как с помощью PowerShell можно управлять настройками безопасности для файлов и каталогов (т.е. как работать с ACL).

четверг, 9 февраля 2012 г.

PowerShell: Синхронизация целевого каталога с каталогом образца

Пара функций, которые я буду использовать в одном из своих скриптов.

суббота, 4 февраля 2012 г.

PowerShell: Пример создание нового типа и его объектов по исходникам C#


В PowerShell можно динамически скомпилировать класс, написав его на C#, и затем создать его экземпляры.

PowerShell: Список всех глаголов, с которых начинаются имена командлетов

Как известно, в PowerShell имена командлетов формируются по правилу Глагол-Существительное. Глагол определяет действие, а Существительное - целевой объект. Наличие такого правила позволяет быстрее найти нужный командлет, даже если заранее не знаешь его имени: интуитивно сначала отбираешь все командлеты с глаголом, соответствующим требующейся операции и уже среди них определяешь нужный.

PowerShell: Запуск оконных приложений

В PowerShell консольные приложения запускаются синхронно, а оконные - асинхронно. Это означает, что если запущенное приложение является консольным, PowerShell не перейдёт к выполнению следующей команды, пока не будет завершена предыдущая. Если же приложение оконное - оно запускается в отдельном процессе и существует само по себе, не влияя на работу PowerShell который в это время переходит к выполнению очередной команды. Рассмотрим нюансы запуска оконных приложений из PowerShell. Предположим, что нам нужно запустить wordpad.