Aller au contenu

Format des fichiers .lsp


Messages recommandés

Posté(e)

Bonjour Forum !

 

J’ai fait un peu de ménage parmi le grand nombre de routines que j’utilise.

 

Pour y voir plus clair, j’ai introduit des lignes horizontales pour faire des sous-parties dans le fichier qui contient tous les lisps que j’utilise.

Je n’aime pas trop les lignes dessinées avec des étoiles, parce qu’il m’arrive d’explorer ce fichier sous Word, et les étoiles y sont un caractère générique qui limite les possibilités de recherche.

Ça m’a donc semblé être une bonne idée de dessiner ces lignes avec des caractères du type « █ » ou « ▒ » mais j’ai ça coince avec APPLOAD. J'obtiens le message suivant :

 

error: bad character read (octal): 0

 

Quelqu’un saurait-il me dire à quels caractères on a droit, et pas droit ?

(si j’ai bien compris, on a droit à un codage ANSI, mais pas Unicode.

 

Merci

 

Posté(e)

coucou

 

le mieux et le plus simple est de respecter la syntaxe AutoLISP

 

pour que tes lignes ne soient pas interprétées

il suffit de les faire passer en COMMENTAIRE.

 

pour être considérée comme commentaire,

une ligne commence par le caractère point virgule

 

par exemple

 

;+-+-+-+-+-+-+-+

code...

;+-+-+-+-+-+-+-+

 

amicalement

 

 

 

[Edité le 31/1/2011 par didier]

Posté(e)

Merci pour ta réponse.

 

Je connais la manip du commentaire.

Ma porte juste sur les caractères qui suivent le point-virgule.

 

Je me rends compte avec ta réponse que les caractères que j'avais utilisés et qui apparaissaient bien dans l'aperçu avant de poster mon message ont été remplacés par "█" et "▒" (respectivement dénommés "PAVE PLEIN" et "OMBRE MOYENNE" dans la table des caractères de Windows).

 

 

Posté(e)

Salut,

 

Je ne comprends pas bien non plus, mais j'aurais quelques recommandations :

 

- Ne jamais ouvrir (et surtout pas enregistrer) de fichier de code (LISP ou autre) avec World ou n'importe quel autre traitement de texte qui est susceptible d'ajouter des caractères de mise en page invisible qui risquent d'altérer le code.

 

- Ne pas utiliser d'autres caractères que les caractères ASCII

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bon, alors voilà :

 

- dans les fichiers LISP, on trouve habituellement des artifices de mise en page "à l'ancienne" du genre des lignes ou des encadrés constitués d'étoiles, précédés d'un point-virgule pour qu'ils soient considérés comme des commentaires

 

- dans le fichier LISP que je charge au démarrage d'AutoCad, et qui est une compilation de plein de routines, j'ai essayé de faire une mise en page claire pour bien m'y retrouver

- pour cela j'ai voulu utiliser d'autres caractères que les étoiles (qui sont problématiques dans WORD)

- j'ai donc utilisé des caractères qu'on trouve dans la table de caractères de Windows (un rectangle tout noir et un rectangle gris)

- dans l'application "Bloc-notes" j'ai pu enregistrer mon fichier LISP avec ses rectangles noirs et gris, moyennant le choix d'un codage Unicode et non ANSI, qui est proposé par défaut

- malheureusement, ça provoque un message d'erreur dans AutoCad, sans doute parce qu'un fichier LISP doit être codé en ANSI...mais là, je dépasse les limites de mes connaissances informatiques

- d'où ma question : quels sont les caractères autorisés dans les fichiers LISP ? Où en trouve-t-on la liste ?

 

Merci !

Posté(e)

coucou

 

malgré nos explications

il semble que GLoub ne comprenne pas !

du moins il repose la même question.

 

les seuls caractères réservés en Lisp

au vrai sens du terme,

c'est à dire termes utilisés par lui

sont les variables nommées pas des nombres mais aussi

 

: + - / * T nil . ; , [] ! {}^~

 

donc mets des [surligneur] points virgules

et ce que tu veux derrière

en ansi,

en ascii

en unicode,

en vietnamien,

en serbo croate,

en moldo valdaque,

en tchernolibien,

en breton du sud,

en hébreu médiéval...[/surligneur]

 

amicalement

Posté(e)

Re,

 

Tout dépend à quoi est destiné ton code.

 

Si c'est pour l'afficher ou l'ouvrir avec Word (ce que, encore une fois, je déconseille) tu peux faire toutes les fioritures "chichi pompon" que tu veux avec tous les caractères que tu veux.

 

Si c'est pour être compris par l'interpréteur AutoLISP, suis les recommandations données plus haut.

 

Le codage de caractères est quelque chose de complexe, il existe plusieurs normes qui offrent plus ou moins de caractères. Suivant le programme qui utilise ces caractères, il va savoir ou non les décoder.

La norme la plus simple et reconnue par tous les programmes est la norme ASCII (codée sur 7 bits de 0 à 127), d'autres normes (AINSI, Unicode, UTF8, etc.) permettent les caractères accentués et les caractères d'autres alphabets et ne sont donc pas toujours bien décodées suivant les programmes.

D'où ma recommandation, même si, comme le dit Didier, tout ce qui se trouve derrière un point virgule ne sera pas "lu" par l'interpréteur AutoLISP, de n'utiliser que des caractères ASCII dans les codes (mais aussi pour les noms de blocs, de calques, de fichiers, etc. et sans espace pour ces derniers)

 

Pour avoir la liste des caractères ASCII imprimables :

((lambda (n)
  (repeat 94 (princ (strcat "\n" (itoa (setq n (1+ n))) "\t" (chr n))))
  (textscr)
  (princ)
)
 32
)

 

quant à l'organisation de ta bibliothèque de routines, pour qu'elle soit plus lisible et accessible, tu as intérêt à en faire plusieurs fichiers d'autant plus qu'elle risque de s'agrandir.

 

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci à tous pour vos contributions.

 

J'ai bien noté que seuls les caractères ASCII sont autorisés.

 

Une précision : si j'édite parfois mes routines LISP dans Word, c'est que les fonctions Rechercher/Remplacer y sont très puissantes. Ça ne m'empêche pas après d'enregistrer le fichier au format texte, et tout se passe très bien avec AutoLisp.

Posté(e)

Salut,

 

Qu'on utilise Notepad+ ou UltraEdit à la place ou en plus de l'éditeur Visual LISP, je peux le comprendre parce que ces éditeurs ont des fonctionnalités intéressantes avec les langages de programmation, mais Word !!??... Là je ne vois vraiment pas l'intérêt...

 

Le Rechercher/Remplacer de l'éditeur Visual LISP m'a toujours largement suffit, par contre il n'y a vraiment rien dans Word qui puisse remplacer les fonctionnalités de cet éditeur pour écrire, modifier, corriger, déboguer et mettre en forme du code LISP.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bah voui, mais je ne suis qu'un bidouilleur de LISP, donc je n'utilise pas l'éditeur Visual LISP parce que je ne sais pas m'en servir.

Du coup Word et Excel (si, si !) me rendre parfois de bons services pour écrire ou éditer des lisps...

 

Par exemple, j'ai fait une série de routines pour activer, désactiver, verrouiller, etc... la cinquantaine de calques de ma charte graphique, du genre :

(defun c:+15 () (command "_-layer" "_u" "15-ESC-DALLE" "_t" "15-ESC-DALLE" "_on" "15-ESC-DALLE" "_s" "15-ESC-DALLE" ""))
(defun c:+16 () (command "_-layer" "_u" "16-ASCENSEUR" "_t" "16-ASCENSEUR" "_on" "16-ASCENSEUR" "_s" "16-ASCENSEUR" ""))
(defun c:+19 () (command "_-layer" "_u" "19-MEN-EXTER" "_t" "19-MEN-EXTER" "_on" "19-MEN-EXTER" "_s" "19-MEN-EXTER" ""))

etc...

 

C'est du brutal, du rustique, mais ça marche. Et pour écrire toutes les routines, Word et Excel m'ont bien aidé...

Posté(e)

coucou

 

je vais vous faire le coup de l'ancien combattant ...

 

au début, il y avait le DOS

AutoCAD sous DOS, naturellement

pour faire mes premiers"lisp" c'était simple ...

 

fermer AutoCAD

ouvrir l'edit du DOS

bla bla

fermer l'edit du DOS (en enregistrant)

lancer AutoCAD

loader la routine

tester ... ça marche pas

fermer AutoCAD

ouvrir l'edit du DOS

chercher la parenthèse qui manque

bla bla

...

maintenant avec l'IDE de VisuaLISP

c'est comparer

une manivelle et un démarreur.

un distributeur de billets et un guichet de la Poste

 

amicalement

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é