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

VB.NET Discussion :

equivalent de la procedure "eval" en VB.net


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut equivalent de la procedure "eval" en VB.net
    bonjour,
    je suis debutant en VB.net et je cherche l'equivalent de la procedure "eval"
    en vb.net.Car cette procedure en VBA marche bien et en VB.net ca ne marche pas.donc je voudrais savoir son equivalent en VB.net

    marci de votre aide

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    et que fait "eval" en vba ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    eval est une procedure qui realise la procedure entre parenthse mais j'aarive pas a faire ca en VB.net.en sachant que pour tes petites operations comme
    eval(2+2) ca marche mais pour des choses plus gros comme eval(left quleque chose) ca marche.je suis desole si je m'exprime mal.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    exusez moi je mexprime vraiment mal,
    je voulais dire que eval est une procedure qui realise la fonction entre parenthse ou proc.pour des petites operations ca marche mais pour des grosses ca marche pas comme Eval(rowAnomalie("CodeAnomalie")) ca ne marche pas.

  5. #5
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    il n'y a pas d'équivalent

  6. #6
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 181
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 181
    Par défaut
    Bonjour.

    Certes, l'équivalent n'existe pas, mais il y a un philanthrope qui a codé et mis à dispo un truc assez sympa :
    http://www.codeproject.com/useritems..._Evaluator.asp

    Cdt.

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    ca a lair d'une fonction assez sympa.merci pour votre aide.

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    voila ce que je veux faire:
    créer une fonction eval qui par exemple lorsqu'on tape:

    eval(left"toto tata") nous renvoie toto.donc une fonction qui traite la fonction entre parenthese.cette fonction existe en VBA et ca sapelle d'ailleurs eval mais elle ne marche pas en VB.net,elle ne marche que pour des oprations comme (1+1).aidez moi s'il vous plait.

  9. #9
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    microsoft.visualbasic.left("toto tata", 4) renverra "toto"
    pas besoin de réinventer la poudre
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    oui pour cett example on peut faire comme ca, mais moi j'ai besoin d'un truc plus general,de sorte que lorsque je fais eval( une fonction) ca puisse marcher,peut etre que je pose des questions bete mais c'est que mon deusimee jour de vb.net.

  11. #11
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    quel est le but final ?
    écrire ton code ou que l'utilisateur puisse créer des fonction

    si c'est pour écrire ton code, ne cherches pas une fonction générique et utilise que ce qu'il faut à chaque fois
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    le but en fait c que l'utilisateur va ecrire juste eval(la fonction) pour n'importe quel fonction,et que eval va traiter la fonction entre parentese.

  13. #13
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    la technique de passer par sqlserver est valable quand meme
    il faut reformater un peu avec du replace() mais au moins ca te fait peu de code à écrire
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    le but ce et eval(fonction) c'est l'utilisateur puisse parametrer cette fonction qui sera deja existante.peut etre que c'est plus clair mainetant.merci pour votre aide.

  15. #15
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    réponds moi que t'as pas de base de données sous la main et j'arrete de t'embeter avec ca
    mais ca marche, j'avais fait un truc utilisant ca à l'époque ou j'etais sur vb6
    une formule tapée par l'utilisateur que je remaniait ensuite pour qu'sql server la comprenne et lui il me l'executait, il sais faire toutes les opérations mathématiques ou opérations sur chaines (left, right, substring ...) et l'avantage c'est que c'est un langage compilé à la volée donc tu l'envoies en style interprété
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #16
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    juste pour voir si jai bien compri:tu reprends la fonction ka paramtre un utilisateur et que tu la remanie,je sais que je suis un peu chiant mais esque tu peux etre un peu plus clair ou m'envoyer un code ki fait ca,je suis encore debutant donc jai du mal a comprendre.ca fait qu'une semaine que je fais du .net.en tous cas je te remercei beaucoup pour ton aide.

  17. #17
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    tu dis à l'utilisateur ce qu'il a le droit de taper, tu définis donc un norme
    ensuite s'il a tapé gauche("blabla",3)
    tu stockes ce qu'il a tapé dans var_fct
    var_fct = replace (var_fct , """"" , "'") ' sql server utilise ' au lieu de "
    var_fct = replace (var_fct , "gauche" , "left")

    et à la fin de tes replaces tu fais sql_objet = "select " & var_fct & " from table"
    je crois que le from est obligatoire meme si le select ne porte pas dessus ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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