|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
DwgRuLispLib: получение списка файлов по маске с необязательной проверкой вложенных
Moderator
LISP, C# (ACAD 200[9,12,13,14])
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 40,377
|
||
Просмотров: 35237
|
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Подскажите пожалуйста, с помощью какой функции из выданного лиспом результата убрать путь к файлам? Или сделать чтоб лисп выдавал содержимое папки без указания путей к файлам, только названия файлов.
__________________
Users are not stupid, they are busy. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Например, так:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
О, спасибо!
![]()
__________________
Users are not stupid, they are busy. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Что именно (и, самое главное, зачем) ты собираешься менять?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Отвечу на вопрос "Зачем я собираюсь менять?"
В организации есть куча принтеров (файлы .pc3) всяких разных, в том числе и виртуальных (pdf, dxf, jpg и т.д.). Я их рассортировал по папкам (основные, цветные, виртуальные и т.д.), написал небольшой лисп для смены Printer Configuration Search Path и кнопки к нему соответсвтенно (основные, цветные, виртуальные и т.д.). Так вот, когда пользователь выбирает себе принтеры, я хочу сделать чтоб в подтвержении его выбора выскакивало окошко типа "alert" где ему бы писалось какие принтеры он сейчас загрузил. Т.е. в alert'е высвечивались бы файлы *.pc3 из соответствующей папки. И чтоб вручную не вбивать в лисп содержимое папок, хочу чтоб это содержимое считывалось само. Надеюсь понятно объяснил.... ![]() Вот мой лисп для смены Printer Configuration Search Path: Код:
__________________
Users are not stupid, they are busy. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Попробуй так:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Многоуважаемый kpblc, спасибо за помощь, буду разбираться... Хочу еще спросить, для чего нужен апостроф (одинарная кавычка) в коде? Поиском пользовался и никак не могу найти, потому что наверно запрос коряво задаю... в акадовской справке тоже не нашел. Не могли бы ткнуть пальцем где почитать про это можно?
__________________
Users are not stupid, they are busy. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
acyxou, Если я правильно понял, то кавычка - это синоним функции лиспа quote:
(quote a) = 'a
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Что нужно добавить в этот Лисп, чтобы получить список файлов для последующей обработки, например, загрузке в память? А то на выходе получаем только список файлов в окне по F2 (не знаю, как оно называется в не немецком каде) и что делать дальше не дойду никак.
![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Вообще-то исходный лисп как раз и возвращает список файлов. Присваиваешь результат функции переменной и делай с ней чего хотишь
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Кулик Алексей aka kpblc,
почему в конструкции: (defun at-load-lsp (/ lst file) (setq lst (dwgru-browsefiles-in-directory "D:\\LISP" '("*.lsp" "*.Vlx" "*.fas") t)) (foreach file lst (load file)) ) возникает ошибка? Вот лог: Befehl: (at-load-lsp) Fehlerhafter Lesevorgang für Zeichen (Oktal): 0 |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Я по-немецки нихьть бельмес
![]() Попробуй код, например, такой: Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Кулик Алексей aka kpblc
Цитата:
"Неправильное чтение символов (восьмеричное)" А куда его засунуть? (Гусары, молчать!) Такое ощущение, что в каком то файле ошибка и на нем программа затыкалась. Второй из твоих кодов запустил, тоже вылетали вышеуказанные ошибки (в основном из скачанных файлов, то есть не моих - скорее всего плохо адаптированных под фрицовский механикел), но файлы в память загрузились. Теперь если в файл acaddoc.lsp прописать мою команду, то будут Лиспы грузиться при открытии любого чертежа, правильно? И как там прописать еще и загрузку dwgru-browsefiles-in-directory.lsp? Просто через (load "<путь>:\\dwgru-browsefiles-in-directory.lsp") ? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Скорее всего, в каком-то из лиспом идет запрос на "непонятном" языке. Возможно, дополнительно еще и кодировка нарушена.
Попробуй посмотреть те файлы, которые выдают при загрузке ошибки. Их можно попытаться открыть, например, FAR'ом или Notepad++, скопировать содержимое, вызвать vlide в AutoCAD, создать новый файл и вставить туда. Потом только что созданный файл сохранить как lsp взамен старого. Цитата:
Цитата:
Хотя я бы задумывался о "прописывании" лиспа с dwgru-browsefiles-in-directory и лиспа с кодом загрузки в StartupSuite...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Сначала команда _.appload, а потом:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DwgRuLispLib: Функция открытия диалога Open\Save As файла (файлов) | Supermax | Библиотека функций | 20 | 14.03.2018 10:05 |
DwgRuLispLib: Команда. Загрузка lisp файлов из указанной папки | VVA | Библиотека функций | 7 | 15.02.2018 10:10 |
Исключение элементов одного списка из другого по маске | Кулик Алексей aka kpblc | Программирование | 3 | 18.09.2006 17:31 |