Executer du code libre dans un programme généré - interpreter du code

Résolu
cs_PeD
Messages postés
63
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2013
- 6 sept. 2011 à 22:15
cs_PeD
Messages postés
63
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2013
- 13 sept. 2011 à 22:32
Bonjour,

Une question assez complexe pour VB.NET ou ?? toute simple ; je verrai suivant le nombre de réponses

Voici une application VB.NET compilée quelconque mais depuis laquelle je veux « interpréter » et donc exécuter un texte libre entré par un utilisateur.
Par texte libre j'entends une ou plusieurs instructions VB.NET correcte ( synthaxe ) par exemple : IF UN_CHAMP_DE_PROGRAMME = « 04 » THEN MSGBOX(« HELLO WORLD »)

Comme exemple complet de la mécanique, pour ceux qui connaissent le REXX ( langage interprété d'origine comme SAS , mais qui peut aussi être compilé ) : ce langage a une function INTERPRET comme ceci


/* REXX program to show the power of INTERPRET */
A = "SAY 'Input REXX instructions or END'"
INTERPRET A
DO FOREVER
PULL Input
IF Input = "END" THEN EXIT 0
INTERPRET Input
END

Input REXX instructions or END
A = 15
B = 20
SAY A * B
300
END

La function INTERPRET va « executer » du texte entré via PULL Input qui est bien sûr conforme à REXX.


Possible en VB.NET ?
Peut-être faire appel à partir de mon programme compilé à un script ( java ?? ) externe avec passage de paramètre ??

Merci

Pierre

3 réponses

NHenry
Messages postés
14929
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
162
6 sept. 2011 à 23:29
Bonjour,

Il te faudra compiler le code avant de pouvoir l'executer.

Certes en C#, mais ça peut t'interesser :
http://users.skynet.be/fa242154/Articles/InMemoryCompilation.html

Sinon, il y a aussi la possibilité de faire du VBS avec un composant externe, mais je ne me rappel plus de son nom.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
cs_Megafan
Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
13 sept. 2011 à 18:00
Ou ici
http://www.csharpfr.com/code.aspx?ID=24886

Megafan

Développeur de http://www.o10c.eu (Lien)


La nouvelle référence en matière de jeu de stratégie spatiale.
3
cs_PeD
Messages postés
63
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2013

13 sept. 2011 à 22:32
Megafan,

Cette référence me paraît très, très intéressante.
A moi de piocher et d'expérimenter.

Grand merci...pour le travail à faire

Pierre
0