Aller au contenu

Clément.a

Membres
  • Compteur de contenus

    152
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par Clément.a

  1. Bonjour, Par inadvertance j'ai ajouté ce morceau de code dans la fenêtre espion : (alert "Nombre de place déja suffisant") Du coup, à chaque fois que je ouvre la fenêtre espion que je clique dessus ou n'importe quoi j'ai le message alerte qui s'affiche!! Du coup je peut pas le supprimer, enfin du coup je peut plus rien faire avec la fenêtre espion! Et je vous l'avoue c'est un peu embêtant!!! Si quelqu'un sais comment faire pour me sortir de cette impasse je dis : "oui Monsieur!!" Merci
  2. Ouais c'était mon problème editer autant de variables que nécessaire! Mais merci quand même alala, c'est l'intention qui compte!! :)
  3. Oui c'est exactemenent ce qui me fallait! Oui je rentre dans la subtilité du Lisp, du moins je découvre les subtilités du Lisp !! Merci
  4. Bonjour à tous, Je cherche à constituer le nom d'une variable avec une chaine de caractère et après connaitre le valeur attribué à cette variable. pour avoir le nom de la variable j'ai procédé de cette façon : (read(strcat "hand" ntxt)) ce qui me retoure hand1 et à cette variable est affecté la valeur "0" or quand je fait (if (= (read(strcat "hand" ntxt)) "0")... il ne passe jamais la condition et quand j'espionne la valeur (read(strcat "hand" ntxt)) "0")il me renvoie hand1 mais ne passe pas le niveau après pour resortir "0"! Je sais pas si j'ai été très clair...
  5. Ouais ça serait plus comme "My Pick Button" le bouton que je aimerais mais y dit pas dans le lisp comment il charge son icone, non? et dans le lisp il y a : (select_pick);* included mais c'est jamais définie (select_pick)? Bref j'ai pas tout compris comment il a fait!
  6. Bonjour tous le monde, Est il possible de faire un bouton sur une DCL avec une icone dessus au lieu du texte "label"?? Merci
  7. Y a pas un truk tout simple qui existe comme su VBA hide/show ?
  8. Oui mais dans le Lisp Mat quand on suit pas à pas après avoir cliqué pour séléctionner un Bloc la routine recharge bien les liste de la boite de dialogue pour les ecrires donc ça veut bien dire qu'elle avait été enlever de la même manière pour le edit_box ce qu'on avait ecrit disparait.non?
  9. Bon j'ai réussi mais comme j'en cache une pour en metre une autre je perd tout ce que j'ai sur la première et j'ai fais exactement de la même manière que dans le lisp MAT est ce que c'est du fait que j'affiche une autre boite de dialogue ?
  10. C'est bon merci j'ai compris!! Merci
  11. :unsure: il est ou le lisp mat...
  12. oui mais comme ça on la décharge et la après on la recharche non? Du coup tout ce qu'on avait complèter est perdu;
  13. Bonjour, J'aurais aimé savoir comment on fait pour masqué une boite de dialogue j'avais trouvé ceci mais le lien est mort! Merci @+
  14. Oh ça marche comme par magie :(rires forts): !! Bien joué je l'avais pas vu comme ça, je retien la leçon! Merci @+
  15. bein ça change rien quand je clique sur annulé y me ferme toute les boite de dialogue, je pense pas que c'est en conditionnent la variable ouvrir que ça va changer, je pense y à un argument à metre avec getfield ou quelqie chose comme ça parce que c'est quand je clique sur annuler que ça ce passe.
  16. ah! je l'avais jamais fait jusqu'a aujourd'hui, mais bon faut un debut à tout Voila maintenant tout marche tout le temps sauf quand j'annule le "getfiled" et que sa me ferme tout y doit me manqué quelque chose de plus que j'ai ce message d'erreur (c'est ce qui me fait dire ça) : "; erreur: type d'argument incorrect: stringp nil" (defun c:lala (/ SlideRVexpl info) (setq info ( load_dialog "infoRV.dcl")) (if (not (new_dialog "infoRV" info)) (progn (alert"La boite de dialogue infoRV n'a pas été trouvée !") (exit) ) ) (Setq SlideRVexpl "K:\\AUTOCAD\\Standards-ATECAS\\GEN-CIVIL\\Piquages\\Cliche\\RVexpl.sld") (updateimage1 SlideRVexpl "SLDRVexpl") (action_tile "cancel" "(exit)(done_dialog)") (action_tile "ouvrir" "(ouvrir)") (action_tile "enregister" "(enregister)") (action_tile "accept" "(SaveVars)(exit) (done_dialog)") (action_tile "diametre" "(verif_saisie \"diametre\" $value)") (action_tile "hauteur" "(verif_saisie \"hauteur\" $value)") (action_tile "volume" "(verif_saisie \"volume\" $value)") (action_tile "pente" "(verif_saisie \"pente\" $value)") (start_dialog) (unload_dialog info) ) (defun verif_saisie(key nb) (cond ((not(= nb "")) (or(or(eq (type (read nb)) 'REAL) (eq (type (read nb)) 'INT)) (progn (alert (strcat "La " key " n'est pas un réel")) (set_tile key "") (mode_tile key 2))) ) ) ) (defun ouvrir (/ lecture_sauvegarde ouvrir debut_save nom_save langue_save fluide_save hauteur_save diametre_save volume_save pente_save unite_save fin_save) (setq ouvrir (getfiled "Selectionnez un fichier " "C:\\Users\\clement.arnoux\\Desktop\\Infosave" "txt" 2)) (setq lecture_sauvegarde (open ouvrir "r")) (while (setq debut_save (read-line lecture_sauvegarde)) (setq nom_save (read-line lecture_sauvegarde)) (setq langue_save (read-line lecture_sauvegarde)) (setq fluide_save (read-line lecture_sauvegarde)) (setq hauteur_save (read-line lecture_sauvegarde)) (setq diametre_save (read-line lecture_sauvegarde)) (setq volume_save (read-line lecture_sauvegarde)) (setq pente_save (read-line lecture_sauvegarde)) (setq unite_save (read-line lecture_sauvegarde)) (setq fin_save (read-line lecture_sauvegarde)) ) (close lecture_sauvegarde) (ecriture nom_save langue_save fluide_save hauteur_save diametre_save volume_save pente_save unite_save ) ) (defun enregister (/ nom langue fluide hauteur diametre volume pente unite sauvegarde ecriture_sauvegarde nomsav languesav fluidsav hauteursav diametresav volumesav pentesav unitesav) (setq nom (get_tile "nom_rv")) (setq langue (get_tile "choixlangue")) (setq fluide (get_tile "fluide")) (setq hauteur (get_tile "hauteur")) (setq diametre (get_tile "diametre")) (setq volume (get_tile "volume")) (setq pente (get_tile "pente")) (setq unite (get_tile "choixunite")) (setq sauvegarde (getfiled "Selectionnez un Répertoir" "C:\\Users\\clement.arnoux\\Desktop\\Infosave" "txt" 1)) (setq ecriture_sauvegarde (open sauvegarde "w")) (setq nomsav (strcat "nom_reservoir : " nom)) (setq languesav (strcat"choixlangue : " langue)) (setq fluidesav (strcat "fluide : " fluide)) (setq hauteursav (strcat "hauteur : " hauteur)) (setq diametresav (strcat "diametre : " diametre)) (setq volumesav (strcat "volume : " volume)) (setq pentesav (strcat "pente : " pente)) (setq unitesav (strcat "choixunite : " unite)) (foreach txt_sauvegarde (append'( "Sauvegarde ") (list nomsav) (list languesav) (list fluidesav) (list hauteursav) (list diametresav) (list volumesav) (list pentesav) (list unitesav) '("fin sauvegarde")) (write-line txt_sauvegarde ecriture_sauvegarde) ) (close ecriture_sauvegarde) ) (defun ecriture (nom langue fluide hauteur diametre volume pente unite / n_nom long_nom debut_nom nom_ecrit n_langue long_langue debut_langue langue_ecrit n_fluide long_fluide debut_fluide fluide_ecrit n_hauteur long_hauteur debut_hauteur hauteur_ecrit n_diametre long_diametre debut_diametre diametre_ecrit n_volume long_volume debut_volume volume_ecrit n_pente long_pente debut_pente pente_ecrit n_unite long_unite debut_unite unite_ecrit ) ;;;(alert (strcat nom " " langue " " fluide " " hauteur " " diametre " " volume " " pente " " unite)) (setq n_nom (strlen nom)) (setq long_nom (- n_nom 16)) (setq debut_nom (1+ (- n_nom long_nom))) (setq nom_ecrit (substr nom debut_nom long_nom)) ; (setq n_langue (strlen langue)) (setq long_langue (- n_langue 14)) (setq debut_langue (1+(- n_langue long_langue))) (setq langue_ecrit (substr langue debut_langue long_langue)) ; (setq n_fluide (strlen fluide)) (setq long_fluide (- n_fluide 9)) (setq debut_fluide (1+(- n_fluide long_fluide))) (setq fluide_ecrit (substr fluide debut_fluide long_fluide)) ; (setq n_hauteur (strlen hauteur)) (setq long_hauteur (- n_hauteur 10)) (setq debut_hauteur (1+(- n_hauteur long_hauteur))) (setq hauteur_ecrit (substr hauteur debut_hauteur long_hauteur)) ; (setq n_diametre (strlen diametre)) (setq long_diametre (- n_diametre 11)) (setq debut_diametre (1+(- n_diametre long_diametre))) (setq diametre_ecrit (substr diametre debut_diametre long_diametre)) ; (setq n_volume (strlen volume)) (setq long_volume (- n_volume 9)) (setq debut_volume (1+(- n_volume long_volume))) (setq volume_ecrit (substr volume debut_volume long_volume)) ; (setq n_pente (strlen pente)) (setq long_pente (- n_pente 8)) (setq debut_pente (1+(- n_pente long_pente))) (setq pente_ecrit (substr pente debut_pente long_pente)) ; (setq n_unite (strlen unite)) (setq long_unite (- n_unite 13)) (setq debut_unite (1+(- n_unite long_unite))) (setq unite_ecrit (substr unite debut_unite long_unite)) (cond ((= langue_ecrit "français") (set_tile "choixlangue" "français" )) ((= langue_ecrit "anglais") (set_tile "choixlangue" "anglais")) ) (set_tile "nom_rv" nom_ecrit) (set_tile "fluide" fluide_ecrit) (set_tile "diametre" diametre_ecrit) (set_tile "hauteur" hauteur_ecrit) (set_tile "volume" volume_ecrit) (set_tile "pente" pente_ecrit) (cond ((= unite_ecrit "mm") (set_tile "choixunite" "mm" )) ((= unite_ecrit "cm") (set_tile "choixunite" "cm")) ((= unite_ecrit "m") (set_tile "choixunite" "m")) ) ) infoRV: dialog { label = "Information générale du Réservoir "; : row{ : column { : radio_row{ key = "choixlangue"; label = "Choix de la langue"; : row{:spacer{width = 2;}} : radio_button { key = "français"; label = "Français"; } : radio_button { key = "anglais"; label = "Anglais"; } } : spacer{height=1.5; } : boxed_column { label = "Information énérale"; : edit_box { key = "nom_rv"; label = "Nom du réservoir: "; edit_width = 9; } : edit_box { key = "fluide"; label = "Fluide contenu : "; edit_width = 9; }} : spacer{height=1.5; } : boxed_column { label = "Dimensions"; : edit_box { key = "diametre"; label = "Diamètre du réservoir ( en mètre ): "; edit_width = 9; } : edit_box { key = "hauteur"; label = "Hauteur du réservoir ( en mètre ) : "; edit_width = 9; } : edit_box { key = "volume"; label = "Volume du réservoir ( en mètre cube ) : "; edit_width = 9; } : edit_box { key = "pente"; label = "Pente du réservoir ( en %) : "; edit_width = 9; } } : spacer{height=1.5; } : radio_row{ key = "choixunite"; label = "Choix de l'untité"; : radio_button { key = "mm"; label = "Millimètre"; } : radio_button { key = "cm"; label = "Centimètre"; } : radio_button { key = "m"; label = "mètre"; } } } : column { : image { key = "SLDRVexpl"; height =1; width = 60; color = 0; is_enabled = false; is_tab_stop = false; } } }: spacer{height=2; } :row { : button { key = "ouvrir"; label = "Ouvrir"; } : button { key = "enregister"; label = "Enregistrer"; } : button { key = "accept"; label = " OK "; is_default = true; } : button { key = "cancel"; label = " Annuler "; is_default = false; is_cancel = true ; } } }
  17. C'est bon j'arive à enregistrer les donner de ma boite de dialogue et les rouvrir. En revanche y a encore des petits trucs à améliorer et je ne sais pas comment mis prendre : Après avoir charger ma routine je peut utilisé qu'une fois le bouton ouvrir après y m'affiche ça : "; erreur: fonction incorrecte: "C:\\Users\\clement.arnoux\\Desktop\\Infosave.txt"" Comme si y gardait se fichier par défaut, sauf que ce fichier existe donc y devrait l'ouvrir (même si c pas ce que je veux). Y doit y avoir une variable à remetre à 0 ou quelque chose comme ça, non? De plus quand je quitte sur annuler de la boite de dialogue de "getfiled" il ferme même ma boite de dialogue qui est en dessous, comment faire pour qu'il ne faire que la boite de dialogue de navigation? Voici mon code : (defun c:lala () (setq info ( load_dialog "infoRV.dcl")) (if (not (new_dialog "infoRV" info)) (progn (alert"La boite de dialogue infoRV n'a pas été trouvée !") (exit) ) ) (Setq SlideRVexpl "K:\\AUTOCAD\\Standards-ATECAS\\GEN-CIVIL\\Piquages\\Cliche\\RVexpl.sld") (updateimage1 SlideRVexpl "SLDRVexpl") (action_tile "cancel" "(exit)(done_dialog)") (action_tile "ouvrir" "(ouvrir)") (action_tile "enregister" "(SaveVars)(enregister)") (action_tile "accept" "(SaveVars)(exit) (done_dialog)") (action_tile "diametre" "(verif_saisie \"diametre\" $value)") (action_tile "hauteur" "(verif_saisie \"hauteur\" $value)") (action_tile "volume" "(verif_saisie \"volume\" $value)") (action_tile "pente" "(verif_saisie \"pente\" $value)") (start_dialog) (unload_dialog info) ) (defun verif_saisie(key nb) (cond ((not(= nb "")) (or(or(eq (type (read nb)) 'REAL) (eq (type (read nb)) 'INT)) (progn (alert (strcat "La " key " n'est pas un réel")) (set_tile key "") (mode_tile key 2))) ) ) ) (defun ouvrir () (setq ouvrir (getfiled "Selectionnez un fichier " "C:\\Users\\clement.arnoux\\Desktop\\Infosave" "txt" 2)) (setq lecture_sauvegarde (open ouvrir "r")) (while (setq debut_save (read-line lecture_sauvegarde)) (setq nom_save (read-line lecture_sauvegarde)) (setq langue_save (read-line lecture_sauvegarde)) (setq fluide_save (read-line lecture_sauvegarde)) (setq hauteur_save (read-line lecture_sauvegarde)) (setq diametre_save (read-line lecture_sauvegarde)) (setq volume_save (read-line lecture_sauvegarde)) (setq pente_save (read-line lecture_sauvegarde)) (setq unite_save (read-line lecture_sauvegarde)) (setq fin_save (read-line lecture_sauvegarde)) ) (close lecture_sauvegarde) (ecriture nom_save langue_save fluide_save hauteur_save diametre_save volume_save pente_save unite_save ) ) (defun enregister () (setq sauvegarde (getfiled "Selectionnez un Répertoir" "C:\\Users\\clement.arnoux\\Desktop\\Infosave" "txt" 1)) (setq ecriture_sauvegarde (open sauvegarde "w")) (setq nomsav (strcat "nom_reservoir : " nom)) (setq languesav (strcat"choixlangue : " langue)) (setq fluidesav (strcat "fluide : " fluide)) (setq hauteursav (strcat "hauteur : " hauteur)) (setq diametresav (strcat "diametre : " diametre)) (setq volumesav (strcat "volume : " volume)) (setq pentesav (strcat "pente : " pente)) (setq unitesav (strcat "choixunite : " unite)) (foreach txt_sauvegarde (append'( "Sauvegarde ") (list nomsav) (list languesav) (list fluidesav) (list hauteursav) (list diametresav) (list volumesav) (list pentesav) (list unitesav) '("fin sauvegarde")) (write-line txt_sauvegarde ecriture_sauvegarde) ) (close ecriture_sauvegarde) ) (defun Savevars () (setq nom (get_tile "nom_rv")) (setq langue (get_tile "choixlangue")) (setq fluide (get_tile "fluide")) (setq hauteur (get_tile "hauteur")) (setq diametre (get_tile "diametre")) (setq volume (get_tile "volume")) (setq pente (get_tile "pente")) (setq unite (get_tile "choixunite")) ) (defun ecriture (nom langue fluide hauteur diametre volume pente unite) ;;;(alert (strcat nom " " langue " " fluide " " hauteur " " diametre " " volume " " pente " " unite)) (setq n_nom (strlen nom)) (setq long_nom (- n_nom 16)) (setq debut_nom (1+ (- n_nom long_nom))) (setq nom_ecrit (substr nom debut_nom long_nom)) ; (setq n_langue (strlen langue)) (setq long_langue (- n_langue 14)) (setq debut_langue (1+(- n_langue long_langue))) (setq langue_ecrit (substr langue debut_langue long_langue)) ; (setq n_fluide (strlen fluide)) (setq long_fluide (- n_fluide 9)) (setq debut_fluide (1+(- n_fluide long_fluide))) (setq fluide_ecrit (substr fluide debut_fluide long_fluide)) ; (setq n_hauteur (strlen hauteur)) (setq long_hauteur (- n_hauteur 10)) (setq debut_hauteur (1+(- n_hauteur long_hauteur))) (setq hauteur_ecrit (substr hauteur debut_hauteur long_hauteur)) ; (setq n_diametre (strlen diametre)) (setq long_diametre (- n_diametre 11)) (setq debut_diametre (1+(- n_diametre long_diametre))) (setq diametre_ecrit (substr diametre debut_diametre long_diametre)) ; (setq n_volume (strlen volume)) (setq long_volume (- n_volume 9)) (setq debut_volume (1+(- n_volume long_volume))) (setq volume_ecrit (substr volume debut_volume long_volume)) ; (setq n_pente (strlen pente)) (setq long_pente (- n_pente 8)) (setq debut_pente (1+(- n_pente long_pente))) (setq pente_ecrit (substr pente debut_pente long_pente)) ; (setq n_unite (strlen unite)) (setq long_unite (- n_unite 13)) (setq debut_unite (1+(- n_unite long_unite))) (setq unite_ecrit (substr unite debut_unite long_unite)) (cond ((= langue_ecrit "français") (mode_tile "choixlangue" "français" )) ((= langue_ecrit "anglais") (set_tile "choixlangue" "anglais")) ) (set_tile "nom_rv" nom_ecrit) (set_tile "fluide" fluide_ecrit) (set_tile "diametre" diametre_ecrit) (set_tile "hauteur" hauteur_ecrit) (set_tile "volume" volume_ecrit) (set_tile "pente" pente_ecrit) (cond ((= unite_ecrit "mm") (set_tile "choixunite" "mm" )) ((= unite_ecrit "cm") (set_tile "choixunite" "cm")) ((= unite_ecrit "m") (set_tile "choixunite" "m")) ) ) et mon *.DCL infoRV: dialog { label = "Information générale du Réservoir "; : row{ : column { : radio_row{ key = "choixlangue"; label = "Choix de la langue"; : row{:spacer{width = 2;}} : radio_button { key = "français"; label = "Français"; } : radio_button { key = "anglais"; label = "Anglais"; } } : spacer{height=1.5; } : boxed_column { label = "Information énérale"; : edit_box { key = "nom_rv"; label = "Nom du réservoir: "; edit_width = 9; } : edit_box { key = "fluide"; label = "Fluide contenu : "; edit_width = 9; }} : spacer{height=1.5; } : boxed_column { label = "Dimensions"; : edit_box { key = "diametre"; label = "Diamètre du réservoir ( en mètre ): "; edit_width = 9; } : edit_box { key = "hauteur"; label = "Hauteur du réservoir ( en mètre ) : "; edit_width = 9; } : edit_box { key = "volume"; label = "Volume du réservoir ( en mètre cube ) : "; edit_width = 9; } : edit_box { key = "pente"; label = "Pente du réservoir ( en %) : "; edit_width = 9; } } : spacer{height=1.5; } : radio_row{ key = "choixunite"; label = "Choix de l'untité"; : radio_button { key = "mm"; label = "Millimètre"; } : radio_button { key = "cm"; label = "Centimètre"; } : radio_button { key = "m"; label = "mètre"; } } } : column { : image { key = "SLDRVexpl"; height =1; width = 60; color = 0; is_enabled = false; is_tab_stop = false; } } }: spacer{height=2; } :row { : button { key = "ouvrir"; label = "Ouvrir"; } : button { key = "enregister"; label = "Enregistrer"; } : button { key = "accept"; label = " OK "; is_default = true; } : button { key = "cancel"; label = " Annuler "; is_default = false; is_cancel = true ; } } } Merci
  18. J'ai trouvé avec "strlen" désolé;
  19. Bonjour, Y à t'il une fonction pour compter le nombre de caractère d'une de caractère ou suis-je obligé depassé par une boucle pour les compter ? Merci
  20. Voila j'aimerai executé une fonction à chaque fois que j'exerce une action (n'importe l'aquel) dans une boite de dialogue. J'ai essayé avec (action_tile key "(fonction)") avec la clé de la boite de dialogue mais sans succes de même avec la clé d'une "boxed" qui englobait tout mais rien... Y a t'il un moyen? Merci
  21. Niquel, oui c'est structuré je devrai m'en sortir merci beaucoup.
  22. Bon me revoila! quand je li mon fichier .txt de cette manière : (defun ouvrir () (setq ouvrir (getfiled "Selectionnez un fichier " "C:\\Users\\cx\\Desktop\\Infosave" "txt" 2)) (setq lecture_sauvegarde (open ouvrir "r")) (setq h (read-line lecture_sauvegarde)) ) h me retourne seulement la première ligne; De quelle manière puis-je faire pour acceder à tout le fichier et retrouver les éléments qui m'interessent ? existe t'il un moyen de dire affecte à "h" la ligne qui contient ce mot?
  23. Merci à tous j'ai réussi, y me reste plus cas rouvrir le fichier texte et placé les infos dans la boite de dialogue. Merci @+
  24. Bien vu, je cherchais trop compliqué! Merci
  25. J'ai encore une petit question. J'ai plusieur edit box exemple : (action_tile "diametre" "(verif_saisie $value)") (action_tile "hauteur" "(verif_saisie $value)") (action_tile "volume" "(verif_saisie $value)") (action_tile "pente" "(verif_saisie $value)") qui renvoie donc tous à : (defun verif_saisie(nb) (or (eq (type (read nb)) 'REAL) (alert "Ce n'est pas un réel")) ) à partir de la y à un moyen de savoir dans qu'elle edit_box on était, donc de connaitre sa clé?
×
×
  • 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é