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

WinDev Discussion :

[WD10] Utiliser une indirection comme propriété


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut [WD10] Utiliser une indirection comme propriété
    Bonjour,

    Je souhaite utiliser une indirection ou autre s'il existe une autre solution pour accéder à une propiété. Par exemple :

    prop est une chaîne = "Libellé"
    BTSEL..{prop}="Rechercher"

    Evidemment cette exemple ne fonctionne pas mais je pense que c'est la meilleure façon d'expliquer ce que je veux faire.

    Quelle que soit la solution je suis preneur.

    Merci d'avance.

  2. #2
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Je ne pense pas que ce soit faisable.

  3. #3
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    La bonne syntaxe est:
    {"BTSEL.."+prop}="Rechercher"

  4. #4
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Eh ben... epaté !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Merci pour vos réponses, malheureusement cela ne fonctionne pas. Windev me dit que BTSEL..Libellé est inconnu. Or si j'utilise la méthode "classique":
    BTSEL..Libellé="rechercher"
    ça marche.

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Citation Envoyé par L'aide en ligne de Windev
    Limitations
    L'opérateur d'indirection permet de retrouver un élément par son nom.
    Les opérations suivantes ne sont donc pas autorisées dans une indirection :

    • accès à un membre d'une instance de classe ou de structure autre que l'instance de classe courante (opérateurs : et :: )
    • accès à un sous-élément de champ ou de tableau (opérateur [ ] )
    • accès à une sous-partie de chaine (opérateur [[ ]] )
    • accès à une propriété (opérateur ..)
    • indirection (opérateur { } )
    • appel de procédure ou de méthode d'objet Automation
    • déclaration de variable
    C'est clair je pense

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    C'est assez clair merci

  8. #8
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Ma syntaxe était bonne mais j'aurais fini par me faire avoir avec cette histoire. Mais par curiosité, dans quel contexte tu dois accéder dynamiquement à une propriété?

  9. #9
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    C'est vrai qu'en général, il y a toujours d'autres méthodes (peut être moins direct) que celle citée.
    Donc la question est "Qu'est ce que tu veux faire ?"

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    En fait dans mon application les champs sont traduits (en fonction de la langue choisie) à l'aide d'une table et non à l'aide de Nation(...). Ainsi, l'utilisateur pourra lui même définir ses traductions. Le problème est que la traduction peut se faire sur le libellé ou la bulle d'aide d'un champ, ou sur la barre de message.
    Dans ma table j'ai une colonne qui indique le type de l'élément à traduire (libellé, bulle...) et je me disais que ça aurait été bien d'utiliser directement cette colonne sans passer par un "SI...ALORS..." ou "SELON...CAS...". Cependant je vois maintenant que je n'ai pas le choix.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Avec l'aide d'un autre forum j'ai réussi à trouver la solution. Je peux utiliser la fonction Compile() qui compile dynamiquement une procédure globale.
    Ca donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Compile("traduction", "BTSEL.."+prop+"=""Rechercher""")
    ExécuteTraitement("traduction", trtProcédure)
    Et ça fonctionne !!!
    Mais merci quand même pour votre aide.

  12. #12
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    merci pour ce retour.

  13. #13
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    C'est vrai qu'on ne pense pas assez souvent à la compilation dynamique dans Windev ! C'est un outils fantastique, hélas je n'y pense que très rarement !

    Merci pour cette info, en tout cas !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/12/2008, 13h01
  2. comment utiliser une icone comme bouton
    Par othmane126 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/10/2006, 19h14
  3. Utiliser une variable comme nom de fichier
    Par lo00_ dans le forum MATLAB
    Réponses: 1
    Dernier message: 28/06/2006, 13h57
  4. Utiliser une Etiquette comme bouton
    Par pschmidtke dans le forum IHM
    Réponses: 6
    Dernier message: 07/06/2006, 14h48
  5. [curseurs] utiliser une variable comme nom de champ
    Par Christian31 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2005, 14h12

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