-
[]equivalent de eval
bonjour,
comment passer une chaine de caractères sous forme de code
executable en vb6.
comment réaliser l'équivalent de eval en php.
Je précise que je ne peux pas utiliser la fonction de msscript.ocx
car elle ne possède pas les fonctionnalités que je cherche.
merci
-
Salut, et bienvenue sur ce forum,
La seule méthode (que je connaisse) est effectivement de passer par le Microsoft Script Control (cf. article FAQ), c'est justement à ça que ça sert ...
Merci de nous indiquer plus précisément ce que tu souhaites faire, que l'on cerne mieux ton problème ;)
-
eval
Merci Xo,
Voila, je texplique mon problème.
j'ai une application réalisée en vb6
qui utilise une fenètre textbox dans laquelle l'utilisateur entre du code
vbsript ce code s'exécute par l'interpréteur vbscript mais appelle aussi
certaines macros à l'intérieur du programme vb6 exécutable.
mon problème est que le vbscript ne contient pas les étiquettes label
et les appels goto. Et je n'arrive pas a emuler ces fonctions par des macros vb6 (compliqué car il faut parser tout le code vbscript)
j'ai besoin absolument de ces étiquettes.
une solution serait de pouvoir entrer carrément du vb6 dans la textbox
mais je ne trouve rien (le truc EBexecute)ne marche pas en mode compilé.
une autre solution serait d'entrer du vba mais est-ce possible?
je ne veut pas proposer du c ou du jscript dans la textbox
(trop compliqué) le programme a un but didactique.
Merci à tous pour votre aide.
-
-
AlainTech
AlainTech,
non ce n'est pas un double post.
cette dernière question porte sur la manière d'exécuter du code vb ou vba
et non sur vbscript.ocx qui exécute du code vbscript.
j'explique qu'avec le vbscript je ne peut faire d'étiquettes LABEL
Ma question est comment exécuter du code vb ou vba entré par
l'utilisateur dans une text box générée en mode compilé par un
programme .exe.
-
Ou je me trompe complètement, ou, dans les 2 cas, tu butes sur l'utilisation des étiquettes.
Je sais que c'est une façon de contourner le problème, mais pourquoi les étiquettes sont elles importantes à ce point?
Si je pose la question, c'est que leur usage est fortement déconseillé.
Quant à t'aider, je le ferais volontiers si je le pouvais mais ma spécialité est le VBA Excel (97). Je touche à peine au VBS.
Bonne chance!
-
Auteur Message
oui les étiquettes sont importantes.
Le programme n'est pas utilisé par des informaticiens.
j'explique: Le logiciel commande un petit robot.
l'utilisateur entre un programme en language simple (quelques fonctions)
dans la textbox. Ce petit programme est interprété puis passé au robot
qui se déplace.
Dans l'industrie, les machines outils utilisent encore des grafcets avec
des étiquettes et je suis donc obligé de proposer cette fonctionnalité.
Tu connait bien le vba?
Le vba convient très bien
Existe-il un moyen d'entrer du vba dans une textbox et de le faire
interprété par le programme?
-
Ok, j'avais bien compris ton besoin.
Je n'ai pas encore été confronté au problème de créer du code par le code.
Je cherche...
-
Une piste (c'est du .NET):
http://www.dotnet247.com/247reference/articles/2/11495.aspx
-
Une recherche dans Google sur VbCodeProvider nous amène à ceci (toujours du .NET):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfmicrosoftvisualbasicvbcodeproviderclasstopic.asp
J'espère que ça peut t'aider.
-
vb6
merci mais c'est sur vb6 que je cherche la solution.
-
Pour VB6, à part la piste VBS, je ne vois rien.
S'il n'y avait pas les étiquettes...
Bon, je sors :arrow:
-
on pourrait faire ca comme ca
au niveau commande dans la textebox
début étiquette
rep 3
nom étiquette exemple parcourt carré
commande 1 avancer 1 mètre
commande 2 tourner droit
fin rep
fin étiquette
on aurait deux niveaux de langage
les ordres élémentaires
les séquences d'ordre élémentaires
le programmeur gère le fichier des ordres élémentaires et leurs éxécutions
l'interface permet de décrire des séquences
on y trouverait des séquences élémentaire
comme parcourt carré
des séquences de séquence
début étiquette balayer ligne
rep 10
parcourt carré
avancer 2 mètres
fin rep
fin balayer ligne
et des programmes
qui serait une séquence
le jeu consiste à écrire les ordres dans un fichier avec l'interface
et à lire leur enchainement pour l'éxécution