Re: LISP. Общее. Загрузка файла. Вызовы функций
У меня организация загрузки LSP файлов следняя
В Туулбаре есть кнопка, которая стартирует програму для поиска и загрузки файлов. У нее два окна - левий директории, правий - лисп файлы в избраной директории. под ним текстовое поле, в которое выводиться короткое описание предназначение програм в файле.
При избор файла стартируется програма для запуска програм.
У нее два окна - верхний список загруженних файлов, нижнее - список функции в избранном файле и короткое описание действия функции.
Под ним находятся кнопки RUN, Новий файл и CANCEL.
До кнопки RUN стоит имя последней стартиранной функции. Если нажат кнопку RUN стартиреутся эта функция, если в окне выбираеш другую функцию - стартируется она. С командной строки можно написат RUN и стартируется последная выбранная функция.
Чтобы это работало в лисп файле в первой строке есть коментар с короткое описание предназначение програм в файле, а перед каждом (DEFUN есть строка - коментар с короткое описание предназначении дефинируемой функции. Програма берет эти строки и отображает в диалоговом окне. Выбранние функции потом берется по имени из списка возвращаемом функции ATOMSFAMILY и записивается в глобалной переменной RUNFUN. В ACAD.LSP дефинирована функция C:RUN, которая в конечном итоге выполняет (EVAL RUNFUN).
У меня есть и другая организация - эсли хочу про загрузки файла автоматично загружат нужние проги.
Для того в entityname (HANDENT "1") записиваю через XDATA имена нужних файлов (создал отделную програму, которая зяпускается в конце первой загрузки файла - в самом файле последняя строка запускает ету прогу). В ACAD.LSP создал прогу, которая проверяет за наличии XDATA в (HANDENT "1") и загружает записание файли. Конечно проверяется за наличии файла, выводится список с имена файлов и т.п