Главная СПДС СПДС. ОБРАЩЕНИЕ К РАЗРАБОТЧИКАМ

Подробнее в подразделах:  

Об отборе программ.
Файл справки.
Вызов программы.

Господа программисты! Давайте соберем что-то полезное для конечных пользователей AutoCAD, особенно наших любимых женщин, которые так медленно работают в "голом" AutoCAD, что слезы наворачиваются.

С миру по нитке (т.е. хотя-бы по одной-две приличных программы с каждого опытного программиста) и производительность тысяч пользователей может сильно вырасти, у них появится время на что-то другое, более полезное, чем тупо и однообразно делать рутинную работу.

Посылайте ваши:

  • программы (LSP, FAS и др.) и другие файлы (DCL, и др.) или сразу комплексы программ (с меню, справкой к ним и др.).
  • текст справки (формат DOC или RTF), если help файл не выполнен разработчиком;
  • иконки (если есть);
  • фото автора (страна должна знать своих героев в лицо), желательно не в полный рост конечно (формат BMP);
  • текстой файл, в котором укажите свое имя и фамилию, Email, адрес сайта (если есть), населенный пункт, предлагаемое имя меню и обязательно наименование индекса, который вызывал бы ваш раздел справки из программы, лучше если он буден идентичен имени программы.

Все это желательно по одной программе (комплексу программ) с прилагаемыми файлами в отдельном ZIP файле.

Примечание: если вы ну уж очень скромны и совершенно не желаете рекламы, то свои персональные данные можете не присылать.

Конечно для всех программ будет исповедоваться принцип AS IS (Как есть), но я думаю вы не откажетесь ответить на вопросы конечных пользователей, я предлагаю в файле справки поместить информацию об Email и сайте.

Об отборе программ. Явно слабые, не прошедщие тестирование, или не отвечающие тематике и предьявляемым требованиям - будут отклоняться. В сомнительных случаях я буду спрашивать совета у WWW.

Напишите, как вы относитесь к идее сформировать каталог пользовательских функций AutoLISP, особенно не тривиальных, и которые можно будет применить во многих программах. Я бы взялся за создание такого каталога.

Только чур, функции должны быть в формате LSP для возможного редактирования конечным пользователем, тщательно оттестированы (в том числе и от "дурака"), хорошо документированы, описано что должно быть на входе и что получается на выходе, какие типы данных, расшифровки списков параметров функций и др. Функции должны быть универсальные, например, если обрабатывается полилиния, то уж и POLYLINE и LWPOLYLINE и т.д. Присылайте функции в отдельном файле. Не забудьте составить краткое описание возможностей функции и ограничения в ее применении.

Чтобы не путать потоки информации предлагаю всю информацию (файлы) по данной акции присылать мне на адрес geol-dh@narod.ru.

p.s. К работе приступлю после поступления нескольких программ.

Файл справки для программ будет иметь имя 1st_HELP.hlp.

Для тех, кто никогда не делал справку к своим программам предлагаю следующую функцию для контекстного вызова раздела справки:

(defun HELPFUN (index / )
  (if (findfile "1st_HELP.hlp")
    (help "1st_HELP" index)
    (princ (strcat "\n" "1st_HELP.hlp" " Help file not found. "));
  )
);end ***** HELPFUN ****

  • index - наименование индекса в Help файле, как правило лучше применять имя программы, например "PROGR_NN", мне будет проще создавать Help файл;
  • HELPFUN - имя функции в вашей программе для вызова раздела справки из файла помощи 1st_HELP.

Задействовать клавишу F1 для вызова контекстной справки можно, например, при помощи следующей конструкции:

(if (findfile "1st_HELP.hlp")
    (setfunhelp "C:ИМЯ_ВАШЕЙ_ПРОГРАММЫ" "1st_HELP" "ИМЯ_ВАШЕЙ_ПРОГРАММЫ")
    (princ (strcat "\n" "Файл справки не найден" ": " "1st_HELP.hlp"))
)

  • "PROGR_NN" - наименование индекса в Help файле, как правило лучше применять имя программы ИМЯ_ВАШЕЙ_ПРОГРАММЫ

Вызов помощи при нажатии стандартной кнопки Help в окне DCL осуществляется:

(action_tile "Help" "(HELPFUN \"PROGR_NN\")")

Вызов помощи в другом месте программы, например, по опции H осуществляется:

(HELPFUN "PROGR_NN")

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

(defun C:PROGR_NN ()
  (princ "\nLoading....")
  (if (or (findfile "PROGR_NN.FAS")(findfile "PROGR_NN.LSP")); поиск
    (progn
      (load "PROGR_NN"); загрузка
      (princ "OK")
      (PROGR_NN); передача управления главной функции программы
      (setq PROGR_NN nil); удаление главной функции
    )
    (alert " Program PROGR_NN not found. "); сообщение, если не найдена программа
  )
  (prin1); "тихое" завершение команды
) ;end of ***** C:PROGR_NN *******

С уважением, А.Косов. geol-dh@narod.ru

 


  при полном или частичном использовании материалов сайта ссылка на источник обязательна ©2002-2012