Aller au contenu

Messages recommandés

Posté(e)

 

Salut à tous,

 

Pour charger nos lisps, nous utilisons un répertoire spécifique et une fonction qui charge tous les *.lsp de ce répertoire. Or cette fonction trie les noms de fichiers via (acad_strlsort). Fonction qui ne trie manifestement pas comme les autre ;-) (cfr http://autocad.xarch.at/news/faq/misc/strlsort-bug.html)

 

Je gère ces lisps via un programme de ma composition écrit en PERL qui me permet de déterminer les dépendances (telle fonction utilise telle fonction, etc.) J'ai besoin de trier les fichiers *.lsp de la même façon qu'AutoCAD ne les trie via (acad_strlsort). De cette façon, en cas de fonctions doublons, j'obtiens facilement, dans mon prog PERL, la dernière version chargée de la fonction en double; et donc la version réellement utilisée par AutoCAD.

 

Bref, pour que PERL trie comme acad_strlsort, j'ai besoin de connaitre la table des caractères qu'utilise acad_strlsort.

 

Est-ce que quelqu'un a des info là-dessus ?

 

Merci d'avance

 

Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog

Posté(e)

Salut

 

Le plus simple est de faire un tri pour comprendre

(setq lst '("5" "1" "BRE" "az" "2" "bre" "Az"))
(acad_strlsort lst) --> ("1" "2" "5" "az" "Az" "bre" "BRE")
(vl-sort lst '<) --> ("1" "2" "5" "Az" "BRE" "az" "bre")

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Salut Patrick, merci por ta réponse.

 

J'ai en effet fait quelques tests: j'ai mis quelques fichiers sur un répertoire test, puis:

(mapcar 'print (acad_strlsort (vl-directory-files "c:/__Lisp/mngt/test")))

 

"."

".."

"__List_handling.lsp"

"__Math.lsp"

"__String_handling.lsp"

"_3d.lsp"

"_Make.lsp"

"_Matrix.lsp"

"_String.lsp"

"Ascii.lsp"

"B-test.lsp"

"bl-macro.lsp"

"bl-share.lsp"

"expt.lsp"

 

acad_strlsort semble complètement faire fi de la casse des caractères. Ca c'est pas un problème. Par contre, je ne trouve aucune table de caractère (Ascii, ISO-8859-1, Windows-1252, etc.) qui place le underscore avant les chiffres.

 

La page http://autocad.xarch.at/news/faq/misc/strlsort-bug.html donne bien l'ordre de tri utilisé par acad_strlsort, mais pas le nom de la table de caractères (charset) qui lui correspond. J'ai juste besoin de connaitre ce nom, afin d'utiliser ce même charset dans ma programmation PERL.

 

Si quelqu'un a des info là-dessus ?... je suis preneur!

 

 

 

[Edité le 21/4/2011 par Carboleum]

Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité