IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Convertir un string en code


Sujet :

C#

  1. #21
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Wildhorn Voir le message
    Tous des grands mots dont j'ignore la signification
    Dico

  2. #22
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Aaaaa... relit mon dernier post... jai editer pendant que ta poster


    EDIT: Minute... je crois savoir pkoi...

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
           private void W_Compiler2()
            {
                string W_MyCode = "if(true){txtRecruits1.Text = \"Fonctionne\";}";
                CodeDomProvider cc = new CSharpCodeProvider();
                CompilerParameters cp = new CompilerParameters();
                cp.ReferencedAssemblies.Add("System.dll");
                cp.ReferencedAssemblies.Add("System.Data.dll");
                cp.ReferencedAssemblies.Add("System.Windows.Forms.dll");
                cp.ReferencedAssemblies.Add(typeof(Form1).Assembly.Location);
     
                string toCompile = "using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Text;using System.Windows.Forms;using System.Collections;" +
                "namespace Arcomage{"+
                "public class ClassTmp:Form1{"+
                "public ClassTmp(){}"+
                "public void FunctionTmp(){" + W_MyCode + "}}}";
                CompilerResults cr = cc.CompileAssemblyFromSource(cp, toCompile);
                if (cr.Errors.HasErrors)
                {
                    String text = "Il y a eu des erreurs dans la compilation d'un script :\n";
                    foreach (CompilerError err in cr.Errors)
                        text += err + "\n";
                    Console.WriteLine(text);
                    return;
                }	
     
                Assembly a = cr.CompiledAssembly;
                Type classTmp = a.GetType("Arcomage.ClassTmp");
                object tmp = Activator.CreateInstance(classTmp);
                MethodInfo methodinf = classTmp.GetMethod("FunctionTmp");
                methodinf.Invoke(tmp, new object[0]);
            }

    Ca me donne pas de message d'erreur, mais rien n'affiche dans mon textbox.


    Je suis si pret/pres/prait du but... je suis tout febrile

    Je spam F5 en esperant avoir une reponse de tomlev

  4. #24
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben c'est logique en fait... L'objet tmp n'est pas la form affichée dans ton programme, c'est une nouvelle instance de ClassTmp, elle-même héritée de Form1. Ce sont deux objets différents, donc ton code accède en fait à une autre TextBox...

    Il faudrait que tu passes Form1 en paramètre de FunctionTmp

  5. #25
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Ok... Je supose que je vais changer une ligne pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "public void FunctionTmp(Form1 MyForm){" + W_MyCode + "}}}";
    mais ensuite, comme je lui envoit mon Form1?

    Et vais-je devoir changer une ligne pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string W_MyCode = "if(true){MyForm.txtRecruits1.Text = \"Fonctionne\";}";
    ?


    Et question hors contexte... comment je fais pour editer ma Signature? Je ne trouve pas l'option dans mon profile

  6. #26
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Wildhorn Voir le message
    mais ensuite, comme je lui envoit mon Form1?
    En paramètre de methodinf.Invoke

    Citation Envoyé par Wildhorn Voir le message
    Et vais-je devoir changer une ligne pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string W_MyCode = "if(true){MyForm.txtRecruits1.Text = \"Fonctionne\";}";
    Tout à fait

    Citation Envoyé par Wildhorn Voir le message
    Et question hors contexte... comment je fais pour editer ma Signature? Je ne trouve pas l'option dans mon profile
    Tu ne peux pas, parce que tu n'es pas encore membre du club
    Tu auras accès à cette option quand tu auras posté plus de 50 messages
    http://www.developpez.net/forums/d15...-membres-club/

  7. #27
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    methodinf.Invoke(tmp, this);
    Evidement ca marche pas... mais la jai ma journee dans le corps et le cerveau fonctionne vraiment pas...


    50 posts... ca invite pas au trolling?


    EDIT: Bon, je vais me coucher... j'arrive plus a tenir debout... assis.. whatever

  8. #28
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Wildhorn Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    methodinf.Invoke(tmp, this);
    Evidement ca marche pas... mais la jai ma journee dans le corps et le cerveau fonctionne vraiment pas...
    Normal : le 2e paramètre de Invoke est un tableau d'objets (la méthode pourrait avoir plus d'un paramètre...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    methodinf.Invoke(tmp, new object[] { this });
    Citation Envoyé par Wildhorn Voir le message
    50 posts... ca invite pas au trolling?
    Essaie un peu pour voir

  9. #29
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Je fais un reve homo erotique de la mort... jme reveille, je suis sure qu'il est genre 7 ou 8 heure du matin... ben non... 11 heure et demi du soir...

    Alors j'essaye le truc que tu me dit et ca me donne ca

    Il y a eu des erreurs dans la compilation d'un script :
    c:\Users\Wildhorn\AppData\Local\Temp\bswuhdxv.0.cs(1,283) : error CS1540: Cannot access protected member 'Arcomage.Form1.txtRecruits1' via a qualifier of type 'Arcomage.Form1'; the qualifier must be of type 'Arcomage.ClassTmp' (or derived from it)
    Comment un truc APRES la compilation peut-il donner une erreur lors de la compilation?


    Mais bon... jai changer mon txtbox pour Public et ca FONCTIONNE!

    Merci...

    Et la jme rend compte que ya pas de smiley ovation... alors voici une vague


  10. #30
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Avant de clicker sur resolu... yaurait til un moyen de guarder mon textbox en protected?

  11. #31
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Wildhorn Voir le message
    Avant de clicker sur resolu... yaurait til un moyen de guarder mon textbox en protected?
    Ben il faut bien que ClassTmp puisse y accéder... par contre ça me surprend que ça ne passe pas en protected, puisque ClassTmp hérite de Form1

  12. #32
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Ouais, je trouve ca bizzare aussi. Tant pis... c'est pas la fin du monde anyway.

  13. #33
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Par défaut
    Vraiment, pense sérieusement à utiliser un interpréteur de script, du genre LuaInterface! Ca s'interface très très facilement avec dotnet (VB ou C#), tu peux trouver des renseignements partour dans google, le télécharger aussi... et ta ligne de commande, qui n'est pas écrite en C# ni en VB mais en Lua, s'exécute en tout et pour tout avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lua.DoString("commande")
    C'est peut-être moins sportif que d'écrire 50 lignes pour compiler du C# à la volée, créer des instances par réflexion et les exécuter de même, mais au moins, ça a l'avantage de fonctionner et d'être simple!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Convertir un string en binaire
    Par TekP@f dans le forum ASP
    Réponses: 4
    Dernier message: 10/05/2005, 16h17
  2. [Firebird] Convertir une String en date
    Par laffreuxthomas dans le forum SQL
    Réponses: 1
    Dernier message: 04/05/2005, 19h42
  3. [Débutant(e)]convertir un string en entier
    Par harris_macken dans le forum Langage
    Réponses: 2
    Dernier message: 01/04/2005, 07h20
  4. Convertir un string en type property ou object
    Par bencot dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2004, 20h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo