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 :

gerer une variable a partir d'une chaine de caractere ?


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut gerer une variable a partir d'une chaine de caractere ?
    Bonjour,

    Je n'arrive pas a trouver ma reponse sur le net (pb de mot cle?)
    J'aimerai faire la chose suivante:

    Soit une variable speed declaree dans mon code, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public speed as Double
    Me.speed = 100
    Je voudrais lui attribuer une valeur a partir de la chaine de caractere "speed".

    C'est-a-dire que si je dispose de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public nomdevariable as String = "speed"
    Public valeur as Double = 100
    Comment faire pour attribuer la valeur 100 a ma variable speed sans pouvoir y acceder directement comme dans mon exemple ?

    Je ne suis pas sur d'etre clair... L'idee est de lire un fichier texte ou il y aurait marque le nom de la variable de sa valeur et de pouvoir mettre a jour le programme en consequence.

    Merci!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 176
    Points : 25 118
    Points
    25 118
    Par défaut
    en théorie le mieux est d'avoir un dictionnaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim valeurs as new system.collections.generic.dictionary(of string, double)
    valeurs.add("speed",100)
    puis valeurs("speed") te retourne la valeur

    le problème c'est qu'il faudrait alors que toutes tes valeurs soient des double, ou alors que tu fasses un dico(of string, object) et des cast à tout va


    sinon une autre possibilité qui n'est pas terrible si tu veux un fichier texte normal c'est de faire de la reflexion pour modifier les variables de manière générique, je ne m'etends pas sur le sujet, c'est pas le plus simple


    après il y a le fichier xml, si tu fais une classe avec toutes tes variables, tu peux alors sauvegarder le tout dans un fichier en 2 lignes de code et réciproquement


    après tu peux avoir une base de données ou encore utiliser les settings de visual studio


    la meilleure solution dépend de ton cas que tu ne détailles pas assez (nombre de variables, évolutivité de ce nombre, utilité (stockage seulement pendant que l'appli est arretée ? maj pendant que le programme tourne ?))

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci de ta reponse rapide.

    Je vais creer un dictionnaire, ca va marcher nickel.
    J'ai effectivement plusieurs type de variables (double, string, boolean, integer, etc...).
    Mais je vais faire un dico (of string, string) prealable et lire dans un fichier les modifications a faire sur les variables pour les caster ensuite suivant leur type.

    Ca devrait donner qch comme ca:

    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
    'declarations
    Dim speed As Double = 0
    Dim bool As Boolean = False
    Dim name As String = "test"
     
    'creation of the dictionary
    Dim dico As New System.Collections.Generic.Dictionary(Of String, String)
    dico.Add("speed", CStr(speed))
    dico.Add("bool", CStr(bool))
    dico.Add("name", CStr(name))
     
    'user inputs
    Dim getname As String = InputBox("Name of the variable")
    Dim value As String = InputBox("Value of " & getname)
    dico.Item(getname) = value
     
    'cast
    speed = CDbl(dico("speed"))
    bool = CBool(dico("bool"))
    name = dico("name")
    De cette maniere, l'utilisateur peut modifier n'importe quelle variable comme il veut.

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. construire une liste a partir d'une variable string
    Par Palsajicoco dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 12/07/2011, 10h05
  2. Réponses: 4
    Dernier message: 10/10/2010, 11h46
  3. Creer un nom de variable a partir d'une variable
    Par fuyo2004 dans le forum MATLAB
    Réponses: 1
    Dernier message: 12/06/2009, 16h14
  4. Instancier une class a partire d'une variable string
    Par Assimil dans le forum ASP.NET
    Réponses: 7
    Dernier message: 25/06/2008, 16h47
  5. [Smarty] Récuper une variable php à partir d'une variable Smarty
    Par SPKlls dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/04/2008, 17h40

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