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

Langage Delphi Discussion :

Recuperer le nom d'une variable dans une variable String


Sujet :

Langage Delphi

  1. #1
    Membre habitué Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Points : 157
    Points
    157
    Par défaut Recuperer le nom d'une variable dans une variable String


    j'ai une variable avec le nom MaVar de type Byte et une autre variable avec le nom NouvelleVar de type String comment je peux recuperer le nom de la 1ere variable comme string ca veut dire le resultat doit etre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NouvelleVar  := "MaVar";
    d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    j'ai une variable avec le nom MaVar de type Byte et une autre variable avec le nom NouvelleVar de type String comment je peux recuperer le nom de la 1ere variable comme string ca veut dire le resultat doit etre
    ... pas bien clair.

    Mais tu peux récupérer dans NouvelleVar de type String la valeur de MaVar de type Byte avec NouvelleVar:=intToStr(MaVar);

    A+.

  3. #3
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    Citation Envoyé par aliwassem Voir le message


    j'ai une variable avec le nom MaVar de type Byte et une autre variable avec le nom NouvelleVar de type String comment je peux recuperer le nom de la 1ere variable comme string ca veut dire le resultat doit etre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NouvelleVar  := "MaVar";
    d'avance

    pourquoi faire? tu peut exprimer ton besoin exactement?

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 451
    Points
    28 451
    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
     
    var
      MaVar: Byte;
      NouvelleVar: string;
     
    function GetVarName(var variable): string;
    begin
      if @variable = @MaVar then
       Result := 'MaVar'
      else
      Result := 'unknonw';
    end;
     
    begin
      NouvelleVar := GetVarName(MaVar);
    end.

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Bonjour,

    Si c'est vraiment le nom de maVar que Aliwassem veut recupérer dans NouvelleVar le code de Paul Thot marche effectivement mais je me demande vraiment à quoi ça va servir (???) puisque le nom de maVar est connu par avance : mystère et boule de gomme.

    A+.

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 451
    Points
    28 451
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    Bonjour,

    Si c'est vraiment le nom de maVar que Aliwassem veut recupérer dans NouvelleVar le code de Paul Thot marche effectivement mais je me demande vraiment à quoi ça va servir (???) puisque le nom de maVar est connu par avance : mystère et boule de gomme.

    A+.
    oui et non...mais cette fonction prend tout son intéret quand on a également la fonction inverse (un pointeur sur la variable d'après son nom)...c'est ce qu'on a avec le RTTI sur une classe persistante.

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Re-bonjour,

    Envoyé par Paul TOTH :
    ...mais cette fonction prend tout son intéret quand on a également la fonction inverse (un pointeur sur la variable d'après son nom
    ... oui mais pour faire quoi par exemple ???

    A+.

  8. #8
    Membre habitué Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Points : 157
    Points
    157
    Par défaut


    d'abord merci de vos reponses.

    si la fonction qui recupere le nom de la variable est comme le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function GetVarName(variable :Byte): string;
    begin
      Result := ??????;
    end;
    et si j'utilise cette fonction comme suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    NouvelleVar := GetVarName(MaVar); // le resultat doit etre = "MaVar"
    NouvelleVar := GetVarName(UneVar); // le resultat doit etre = "UneVar"
    NouvelleVar := GetVarName(Rep); // le resultat doit etre = "Rep"
    NouvelleVar := GetVarName(seul); // le resultat doit etre = "seul"
    d'avance

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 451
    Points
    28 451
    Par défaut
    ça ne fonctionne pas car tu ne fais pas référence à la variable, c'est juste une valeur et tu pourrais très bien écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    begin
      GetVarName(i + 1);
      GetVarName(1 + 2);
      GetVarName(123);
    end;

  10. #10
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 434
    Points : 5 846
    Points
    5 846
    Par défaut
    salut

    pour eviter le probleme de passer des constante, il suffit d'y ajouter le mot cle var dans le passage de paramettre mais cela ne resoud en rien sont probleme

    par contre ce qu'il veut c'est efffectivement pouvoir utiliser une variable
    plutot qu'une autre en ne donnant que sont non
    comme on peut le faire pour retrouver un champs dans une base de donnéepar la methode dans son cas il faut qu'il associe un nom a une variable
    si je me souvient bien il existe un objet de type JSon qui pourrait peut remplacer avantageusement les fameuse variables

    regarde chez progdigy

    @+ Phil

  11. #11
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    ça existe sur avec langage heureusement pas sur delphi c'est uniquement utile pour le debug
    dans son cas il faut qu'il associe un nom a une variable
    si je me souvient bien il existe un objet de type JSon qui pourrait peut remplacer avantageusement les fameuse variables
    le code json nécessite que le compilateur soit toujours présent

  12. #12
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 434
    Points : 5 846
    Points
    5 846
    Par défaut
    salut

    Citation Envoyé par Montor Voir le message
    ça existe sur avec langage heureusement pas sur delphi c'est uniquement utile pour le debug

    le code json nécessite que le compilateur soit toujours présent
    justement non, as tu bien regarder le lien que je fournis ?

    c'est bien du delphi le truc c'est qu'il "sérialise" les donnée
    afin de garder en mémoire les noms
    les variable de type scalaire (integer,byte,char,...) n'existe plus il faut penser purement objet

    @+ Phil

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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