• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Changer les variables de VB6 vers Autolisp

  • Auteur du sujet Auteur du sujet tiziano69
  • Date de début Date de début

tiziano69

Guest
il est possible de passer des variables de vb6 à autolisp... Je l'ai fait de cette façon, mais puisque les variables sont nombreuses, je n'ai pas disponible autant de variables "users1" rendues disponibles par autocad. Il y a une méthode plus propre ou je peux créer une variable qui peut être utilisée dans autocad (lissure) directement à partir de vb6.

objdoc.setvariable "users1", texte2.text
autocad.acadapplication.activedocument.sendcommand (setq a (getvar ""users1")" & vbcr

Je vous remercie.
 
vous n'avez pas passé "users1" à lisp mais définissez la variable "a" à cette valeur.
"Test"
autocad.acadapplication.activedocument.sendcommand (setq a " & chr(34) & a$ & chr(34) & ") & vbcr
Donc vous pouvez passer autant que vous voulez.
il y a d'autres méthodes, mais c'est facile à gérer.
Au revoir.
 
Ok merci, J'ai fait différents tests et je pourrais vérifier que vous pouvez passer aussi directement les valeurs présentes dans les contrôles vb6 - c'est le code utilisé

sous-commande privée1_click()
set objacad = getobject(, "autocad.application") set objdoc = objacad.activedocument

a$ = "essai"
b = "essai"
c = 10
d = 45
autocad.acadapplication.activedocument.sendcommand (setq a " & chr(34) & a$ & chr(34) & ") & vbcr

autocad.acadapplication.activedocument.sendcommand"(setq b " & chr(34) & b & chr(34) & ") & vbcr

autocad.acadapplication.activedocument.sendcommand"(setq c " & chr(34) & c & chr(34) & ") & vbcr

autocad.acadapplication.activedocument.sendcommand"(setq d " & d")" & vbcr

autocad.acadapplication.activedocument.sendcommand"(setq d " & text1.text & ")" & vbcr

fin
 
une clarification: Ce faisant, créer des variables publiques, prendre en compte les raisons pour lesquelles elles pourraient être causées par l'écrasement de valeurs qui entraîneraient des anomalies indésirables.
 
est-il possible de faire le contraire, c'est-à-dire d'avoir en autocad une variable "pippo", pour pouvoir lire le contenu de vb6 ?
 
vous pouvez utiliser le journal de configuration:
dans le lisp
(défunc c:rwrite()
(setq strpippo "test de la valeur de la chaîne")
(vl-registry-write "hkey_current_user\\software\\vb et vba program settings\myapp\\\\lisp2vba" "pippo" strpippo)
)

où "pippo" sera affiché dans le journal de configuration du nom de la colonne
la valeur de la variable strpippo dans la colonne de données

dans vba
strpippo=getsetting("myapp", "lisp2vba", "pippo", "")

à la fin de la lecture de vba supprime les entrées dans le registre.

Au revoir.
 
J'ai résolu ça.

(défun c:del_chiave()
(vl-registry-delete "hkey_current_user\\software\\vb et vba program settings\myapp\\\\lisp2vba" "pippo")
)
 
vous me faites un exemple d'écriture / lecture d'une clé de registre dans vb6... Je n'ai réussi que partiellement.

rege.regwrite "hkey_current_user\software\vb et vba program settings\myapp\tavoletta", valeur, "reg_sz"


Je vous remercie.
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut