stephan35 Posté(e) le 13 février 2007 Posté(e) le 13 février 2007 Bonjour, Voici un code dans lequel je souhaite rajouter un filtre genre :"je veux obtenir tous les DWG sauf ceux qui commence par a" (GetFilePath "*.DWG" "a*.DWG" "C:/") Code actuel : (defun GetFilepath (file path) (apply (function append) (cons (if (vl-directory-files path file) (mapcar (function (lambda (x) (strcat path "/" x))) (vl-directory-files path file)) ) ;_ if (mapcar (function (lambda (x) (GetFile file (strcat path "/" x)))) (vl-remove ".." (vl-remove "." (vl-directory-files path nil -1))) ) ;_ mapcar ) ;_ cons ) ;_ apply ) (code piqué chez ev..y) GetFilepath (file ext path) ... wcmatch ??? Un petit casse tête ? :casstet: Merci ...
(gile) Posté(e) le 13 février 2007 Posté(e) le 13 février 2007 Salut (vl-remove-if-not '(lambda (x) (wcmatch (vl-filename-base x) "~a*")) (getfile "*.dwg" "C:") ) PS : Attention tu as changé le nom de la fonction dans le defun mais pas dans son appel récursif. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
stephan35 Posté(e) le 13 février 2007 Auteur Posté(e) le 13 février 2007 Merci Gile Merveilleux ! Super ! etc. :D
(gile) Posté(e) le 13 février 2007 Posté(e) le 13 février 2007 Une fonction plus "générique", toujours basé sur le code d'Evgeniy exemple : (GetFile "acad*.lsp" "C:\\Program Files\\AutoCAD 2007")retourne :("C:\\Program Files\\AutoCAD 2007\\Express\\acadinfo.lsp" "C:\\Program Files\\AutoCAD 2007\\Support\\acad2007.lsp" "C:\\Program Files\\AutoCAD 2007\\Support\\acad2007doc.lsp" "C:\\Program Files\\AutoCAD 2007\\Support\\acadinfo.lsp") (GetWcFile "acad*.lsp" "~*2007*" "C:\\Program Files\\AutoCAD 2007")retourne :("C:\\Program Files\\AutoCAD 2007\\Express\\acadinfo.lsp" "C:\\Program Files\\AutoCAD 2007\\Support\\acadinfo.lsp") (defun GetWcFile (file pattern path) (apply 'append (cons (if (vl-directory-files path file) (mapcar '(lambda (x) (strcat path "\\" x)) (vl-remove-if-not '(lambda (x) (wcmatch (vl-filename-base x) pattern)) (vl-directory-files path file) ) ) ) (mapcar '(lambda (x) (GetWcFile file pattern (strcat path "\\" x))) (vl-remove ".." (vl-remove "." (vl-directory-files path nil -1)) ) ) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
stephan35 Posté(e) le 14 février 2007 Auteur Posté(e) le 14 février 2007 Je vais manquer d'ajectifs qualificatifs ....... ;) Merci !
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant