Aller au contenu

Ouvrir un fichier s\'il existe, sinon, le créer


DenisHen

Messages recommandés

Bonsoir à tous....

 

Voilà, mes diverses commandes Lisp dépandent de l'échelle du dessin, comme beaucoup de commandes surtout le texte....

 

Alors j'ai décidé d'écrire cette échelle dans le répertoire courant du dessin ( récupéré avec "DXGPREFIX" )

 

Toutes commandes lancées vérifiront si la variable "Ech" existe,

si oui, j'en déduis le facteur d'échelle, pour les types de lignes, les textes.....

si non, il faut ouvrir le fichier, s'il existe,

. si oui, lire l'échelle

. si non, demander l'échelle puis créer ce fichier puis y écrire l'échelle

 

Alors j'ai écris ça, mais je suis sûr que c'est plein de fautes...

 

J'aimerai être corrigé avant de continué

 

 

(defun PhEch (Chemin Fichier / Ech);        Saisi ou lecture de l'échelle (fonction)
 (setvar "cmdecho" 0)
 (if or
   (/= Ech 0)
   (/= Ech "")
   (setq Chemin (getvar "DWGPREFIX"))
   (setq Fichier (substr (getvar "DWGNAME") 1 6))
   (cond (= (open (strcat Chemin Fichier ".ini") "r") nil)
         (setq Dossier (open (strcat Chemin Fichier ".ini") "w"))
         (setq Ech (getreal "Échelle du dessin (1/___) : "))
         (write-char Ech Dossier)
         (t
          (setq Dossier (open (strcat Chemin Fichier ".ini") "r"))
          (read-line (Ech Dossier))
          )
         ) ;_ Fin de cond
   ) ;_ Fin de if
 ) ;_ Fin de defun



(defun c:AdrCad1 (); Ecriture du Cadastre (Commande)
 (setq pt1 (getpoint "\nPosition du texte: "))
[surligneur]J'aimerai évité cette ligne, car la hauteur est liée à l'échelle
exemple : Hauteur=Echelle*0,4[/surligneur]
 (setq HTxt (getreal "Hauteur du texte"))         
 (setq TxtSec (getstring S "\nSection : "))
 (setq TxtNum (getstring N "    n° : "))
 (command "texte" "j" "_mc" pt1 HTxt 100.0 (strcat TxtSec " n°" TxtNum))
) ;_ Fin de defun

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Je suis débutant en lisp, mais je pense que tu peux trouver ton bonheur grâce à la commande lisp (findfile )

 

> si le fichier existe (dans tes chemins de recherche) il te retourne le chemin complet du fichier

> si le fichier n'existe pas, il te retourne nil, et donc tu créé le fichier...

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

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é