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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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
Rejoignez-nous