Тема: Выбор группы файлов

С помощью функции DOS_GETFILEM из DOSLIB можно выбрать группу файлов. А есть-ли способ выбора файлов указанием папки.

Re: Выбор группы файлов

А чем dos_getdir и dos_dir не подходит?

Re: Выбор группы файлов

точнее:

(dos_dir (strcat (dos_getdir "Select a folder") "*.dwg") 1)

Re: Выбор группы файлов

excellent

Re: Выбор группы файлов

> Василий Алибабаевич

(vl-directory-files "путь"[шаблон]"флаг")

-список с именами файлов
флаг
-1-выводить только списки директорий
0-и то и другое
1-только файлы

Re: Выбор группы файлов

Нашёл с конфы ещё вариант типа:

(setq PATH "c:\\Program Files\\AutoCAD 2000i")
(command "shell" (strcat "dir \"" PATH "\" > " (strcat "\"" PATH "\\files.txt\"")))

опосля прочитать files.txt
Но, только толку от этого и от vl-directory-files нет без графического интерфейса выбора папки :(

Re: Выбор группы файлов

DMS пишет:

Но, только толку от этого и от vl-directory-files нет без графического интерфейса выбора папки

А хотя-бы getfiled c выделением пути?

Re: Выбор группы файлов

getfiled не даёт выбирать группу файлов.
Поэтому только DOS_GETFILEM или вариант DMS
(dos_dir (strcat (dos_getdir "Select a folder") "*.dwg") 1)

Re: Выбор группы файлов

> AVDВасилий Алибабаевич
getfiled позволяет выбать файл в директории и определить
путь к ней , а далее (vl-directory-files "путь"[шаблон]"флаг")
в виде списка Вы получаете все файлы этой директории.
А если Вы пишете программу не для себя Вам придется
устанавливать на чужом компьютере библиотеку Doslib если
ее нет.

Re: Выбор группы файлов

> Эдуард
А если папочка ещё пуста, тогда как?

Re: Выбор группы файлов

> DMS
Взглянул только на конец ветки, а про начало забыл (понедельник)
если папка пуста, то и лезть к ней нечего.
:)
Надо только окно как-то обозвать, что бы название говорило о малтивыборе.

Re: Выбор группы файлов

Подниму старую тему, ибо она стала для меня актуальной.
Вопрос сформулирую несколько иначе, чем в топике: как дать пользователю возможность указать папку с использованием Windows-подобного интерфейса? (примерно как в функции getfiled).
Как я понял из предыдущего обсуждения - стандартными средствами LISP - никак (vl-directory-files не предлагать по причине отсутствия визуальности). Только DOSLib? Или есть еще какие-нибудь варианты?
______________
Удачи.

Re: Выбор группы файлов

Да, вдогонку.

DMS пишет:

...если папка пуста, то и лезть к ней нечего.

А если там нужно что-нибудь сохранить?...
den-si, все-таки нужна возможность правки собственных сообщений, нужна...
______________
Удачи.

Re: Выбор группы файлов

> kos
Все, что нельзя сделать "вижуального" в Visual LISP, можно реализовать двумя путями:
1. Сделать собственную библиотеку функций, наподобие  DOSLib с использованием ObjectARX.
Недостатки известны - надо уметь работать в VC++ и с ObjectARX. И такая библиотека будет привязана к версиям AutoCAD и продуктов Microsoft.
2. Использовать COM-технологии. В этом случае можно писать в любой среде, поддерживающей COM (VC, Delphi, VB - да хоть на чем). Созданные объекты не будут зависеть от версий AutoCAD и компиляторов и могут использоваться и вне AutoCAD. Написать такие приложения может и человек, вообще не знакомый с AutoCAD. А в LISP для них будут только функции вызова.
Подробно и с исходниками эти технологии описаны в книге "САПР на базе AutoCAD - как это делается". Выбор папки - это очень простой частный случай.
Возможно также использование чужих COM-объектов из других программ и библиотек, но это ненадежно, да их надо еще разыскать.

Re: Выбор группы файлов

> Василий Алибабаевич

> kos
https://www.caduser.ru/forum/topic20307.html

Re: Выбор группы файлов

> serzh
БО-О-Ольшое спасибо. Именно то, что нужно.
ЗЫ: а поиском я эту тему почему-то не откопал, хотя getfiled в аргументах поиска задавал...
______________
Удачи.

Re: Выбор группы файлов

Да, кстати. Посмотрел на даты указанного обсуждения. Оказывается, был в отпуске, потому и пропустил :( :(
ЗЫ: первый смайлик касается закончившегося отпуска, второй - пропущенной темы...
______________
Удачи.

Re: Выбор группы файлов

Насчет
https://www.caduser.ru/forum/topic20307.html
Зайдите на
http://discussion.autodesk.com/
(придется за"login"иться)
и введите для поиска хотя бы "BrowseforFolder",
массу интересного найдете.

Re: Выбор группы файлов

BrowseFolder найдёш https://www.caduser.ru/forum/topic19699.html

Re: Выбор группы файлов

Может это подойдет:
(код не мой)

(defun BrowseFolder ( / ShlObj Folder FldObj OutVal)
  (vl-load-com)
  (setq
    ShlObj (vla-getInterfaceObject
       (vlax-get-acad-object)
       "Shell.Application"
     )
    Folder (vlax-invoke-method ShlObj 'BrowseForFolder 0 "" 0)
  )
  (vlax-release-object ShlObj)
  (if Folder
    (progn
      (setq
  FldObj (vlax-get-property Folder 'Self)
  OutVal (vlax-get-property FldObj 'Path)
      )
      (vlax-release-object Folder)
      (vlax-release-object FldObj)
      OutVal
    )
  )
)

Re: Выбор группы файлов

> Random
Рекомендую при прочтении заглядывать на ссылки...

Re: Выбор группы файлов

> Евгений Елпанов
Я б с радостью, да комп с инетом ни-ка-кой.
Рекомендую относиться с пониманием.

Re: Выбор группы файлов

Ok!
Просто много ссылок на одну и ту-же программу (все ссылки ведут к ней), а дальше приведен ее код...
Кстати, когда я ее притащил на форум - написал, что взял с
http://discussion.autodesk.com/
На самом деле этот лисп принадлежит:
Tony Tanzillo