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 :

Déclaration de structure via compilation dynamique [WD14]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Par défaut Déclaration de structure via compilation dynamique
    Bonjour,

    je cherche à faire de la déclaration de variables à la volée, comme ce n'est pas possible directement avec les indirections j'ai pensé à la compilation dynamique, mais je ne maitrise pas franchement son utilisation.
    Voici mon code (local derrière un bouton pour tester), j'ai le retour "Le type STStruct_Descriptive est inconnu" pouvez-vous m'aider SVP?
    Merci

    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
     
    STStruct_Descriptive est une structure
    	N est un entier
    FIN
     
     
    sMonCode est une chaîne = "m1t0p0 est une STStruct_Descriptive"
    sRes est une chaîne = Compile("Declaration_struct_descriptive",sMonCode)
    SI sRes = "" ALORS 
     
    	ExécuteTraitement("Declaration_struct_descriptive",trtProcédure)
    	{"m1t0p0.N",indVariable}=50
    	Info({"m1t0p0.N",indVariable})
    SINON
    	Info(sRes)
     
    FIN

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 485
    Par défaut
    Bonjour,
    Est-ce que tu as essayé en mettant la description de ta structure dans le code global du projet ?

    Tatayo.

  3. #3
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    732
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 732
    Par défaut
    Ça serait pas plus simple de déclarer un tableau associatif de STStruct_Descriptive ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Je serais curieux de connaître le pourquoi d'un tel code.

  5. #5
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    732
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 732
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    gtaMesStructures est un tableau associatif de STStruct_Descriptive
     
    stTemp est un STStruct_Descriptive
    gtaMesStructures["m1t0p0"] = stTemp
    gtaMesStructures["m1t0p0"].N = 50
    Info(gtaMesStructures["m1t0p0"].N)
    Votre code ne marche pas parce que la variable déclarée est locale à la fonction exécutée. Donc après le ExécuteTraitement elle n'existe plus.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Par défaut
    Citation Envoyé par Hibernatus34 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    gtaMesStructures est un tableau associatif de STStruct_Descriptive
     
    stTemp est un STStruct_Descriptive
    gtaMesStructures["m1t0p0"] = stTemp
    gtaMesStructures["m1t0p0"].N = 50
    Info(gtaMesStructures["m1t0p0"].N)
    Pourquoi faire de la compilation dynamique si c'est juste pour créer des objets ?
    En fait je cherchais un moyen de déclarer des variables dynamiquement (fluctuantes tant en terme de nom que de nombre), je n'avais pas pensé au tableau associatif

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Par défaut
    Citation Envoyé par vmolines Voir le message
    Je serais curieux de connaître le pourquoi d'un tel code.
    Je m'y prends peut-être mal, mais en gros, je vais avoir des variables dont le nom sera complètement fluctuant, ces noms sont fournis via un parcours d'un fichier .xls), chaque variable sera une structure avec plusieurs attributs (je n'en ai mis qu'un ici pour simplifier le code) et cet objet devra être accessible pour faire du reporting dans un fichier .doc.

  8. #8
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 485
    Par défaut
    Dans ce cas j'aurai soit utilisé un tableau associatif comme l'indique Hibernatus, soit un tableau dynamique de structure (Nom/Valeur).

    Tatayo.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Par défaut
    Citation Envoyé par Hibernatus34 Voir le message
    Ça serait pas plus simple de déclarer un tableau associatif de STStruct_Descriptive ?
    Le tableau associatif c'est comme le type dictionnaire en Python?
    En effet cette solution est excellente; merci!

    Toutefois, au moins par curiosité, j'aimerais comprendre pourquoi ça ne fonctionne pas

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Est-ce que tu as essayé en mettant la description de ta structure dans le code global du projet ?

    Tatayo.
    Oui et même résultat.

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

Discussions similaires

  1. requete à 2 dimensions / structure de table dynamique
    Par fourchette dans le forum Requêtes
    Réponses: 2
    Dernier message: 31/08/2006, 11h02
  2. Comment créer une structure de donnée dynamiquement ?
    Par Beaunico dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 10h34
  3. Structure de classe dynamique
    Par amel666 dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2006, 10h13
  4. [SQL] Structure de table dynamique
    Par litbos dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 02/09/2005, 16h49
  5. Compilation dynamique sous DELPHI
    Par sessime dans le forum Langage
    Réponses: 3
    Dernier message: 24/08/2005, 14h56

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