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 :

[WD11] Recherche d'une fonction qui me donne la nature d'un composant


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut [WD11] Recherche d'une fonction qui me donne la nature d'un composant
    salut
    est ce que il y'a une fonction qui peut me donner le type d'un champs énumérer, c'est à dire que je veux savoir si il est: bouton,combo,champs saisie,table...
    car je suis entrain d'énumérer le champs/composants des fenêtres de mon projets et je souhaite savoir avec programmation le type de champs/composant
    merci

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 467
    Points : 806
    Points
    806
    Par défaut
    La propriété ..Type ne permet pas cela ?

    En espérant qu'il soit déja présent dans windev 11...

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Une fois de plus

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    salut
    j'ai bien regarder dans avant de poster sa, même j'ai vu "..type", mais type ne me donne pas se que je veux
    dans help:
    La propriété Type permet de connaître :

    le type d'un objet dynamique (description de rubrique ou de fichier) ou non (fichier ou rubrique défini sous l'éditeur d'analyses, vue ou requête).

    le type d'un objet.

    le type de la valeur stockée dans un variant.
    j'ai un code d'énumération et il y'a une variable reschamp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ResChamp=EnumèreSousElément(sResfenetre)
    reschamp prend à chaque fois dans le boucle le nom du champs/composant de la fenêtre, pour moi je veux aussi avoir à chaque fois le type champs/composant qui est dans reschamp, c'est à dire bouton,table,champs de saisie...
    merci

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Index Champ, Identifier le type de champ


  6. #6
    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
    Je trouves la discussion intéressante mais pour une fois je crois que Guardian n'a pas la solution. Dans l'aide cette rubrique renvoie à la fonction TypeVar qui permet de savoir quel type peut être enregistré dans un champs ou une variable mais il ne permet pas de savoir si un champ est une table ou une combo?
    dj_techno: Si tes champs sont préfixés tu peux te fier la dessus: "LBL_", "SAI_", "TBL_", ...
    «Un problème bien défini est un problème à moitié résolu.»

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Si, relis la définiton de la fonction
    Par contre, les champs renvoient un entier dont on ne sait trop à quoi il correspond (mais je n'ai pas cherché)

  8. #8
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    bonjours
    klbsjpolp, la majorité des champs son préfixés, mais il y'a des champs que j'ai changé totalement leurs noms
    moi aussi je suis contre Guardian dans cette idée, car dans la rubrique "identifie type de champs", ne fonctionne que sur des variables, c'est à dire donner le type d'un variable entier,chaine,booléen...:
    Identifie le type d'une expression, d'une variable (lors d'un appel de procédure par exemple) ou d'un champ

  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
    Comme Guardian se fait attaquer lachement, je vais le soutenir !
    Je n'ai fais que lire l'aide et au miracle ai reussi à faire comme ce que disais Guardian :
    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
    SELON LIB_DATE_HEURE_LONG..Type
    	CAS typActiveX:
    		Info("typActiveX")
    	CAS typAsc:
    		Info("typAsc")
    	CAS typBarreOutils :
    		Info("typBarreOutils")
    	[...]	
    	CAS typWebCam:
    		Info("typWebCam")
    	CAS typXaml :
    		Info("typXaml")
    	CAS typZoneRépétée:
    		Info("typZoneRépétée")
    FIN
    Et là, j'ai une info qui s'affiche avec typLibellé dedans !

  10. #10
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    salut
    on avoues tous que jamais on peux trouver une référence comme Guardian et que ici notre attaque à pour but d'apprendre et avoir un peu de son savoir.
    bon, je vais essayer votre code mais ici tous les éléments d'une fenêtre sont dans une variable reschamp, que je ne peux pas faire reschamp..type il va me rendre une erreur de syntaxe
    merci

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par dj_techno Voir le message
    avoir un peu de son savoir.
    Mon savoir se résume le plus souvent à la lecture de l'aide

    Comme je le répète souvent, WinDev nécessite un apprentissage.
    Le Guide d'autoformation + l'aide F1 + la soucoupe, sans oublier la lecture de la liste des fonctions du W-Langage, et on a la réponse à 99% des questions concernant WinDev

  12. #12
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 467
    Points : 806
    Points
    806
    Par défaut
    Citation Envoyé par dj_techno Voir le message
    salut
    on avoues tous que jamais on peux trouver une référence comme Guardian et que ici notre attaque à pour but d'apprendre et avoir un peu de son savoir.
    bon, je vais essayer votre code mais ici tous les éléments d'une fenêtre sont dans une variable reschamp, que je ne peux pas faire reschamp..type il va me rendre une erreur de syntaxe
    merci
    Et en utilisant les indirections ?

    Du genre {reschamp,indchamp}..Type ?

  13. #13
    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
    Sa fenêtre n'est pas instanciée il ne peut donc pas utiliser l'indirection et les propriétés. TypeVar permet de savoir qu'elle type de variable est attendu par un objet mais ne permet pas de savoir le type de cet objet. Je n'ai aucune idée de la solution mais celles-là ne fonctionnent pas!
    «Un problème bien défini est un problème à moitié résolu.»

  14. #14
    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
    La solution a été donné il y a 8 posts...
    cherchez pas plus dans le vide !

  15. #15
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    bonjour
    vraiment je n'ai trouvé aucune solution, même j'ai revérifié encore l'aide et toujours non, pour la solution de tober, le nom de champs et dans une variable de type chaine,car je fais une énumération, donc le syntaxe "mavariable..type" n'est pas autorisé, même j'ai essayé typevar, elle me rend toujours le nombre 19 quelque soit le champs

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Là ce n'est plus d'une fonction WinDev dont tu as besoin, c'est d'un peu de réflexion pour adapter le code de tober à ton probème.
    Pense aux indirections...

  17. #17
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    voila se que j'ai fait dans la boucle d'énumération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	Trace({ResChamp}..type)
    trace ici ne me donne que la valeur 4 pour tout les champs, à la fin d'énumération ainsi que l'erreur qu'il ne connait pas certains champs.

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Quel rapport avec le code de Tober ?

  19. #19
    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
    Je pense qu'il a pas trop compris...
    La variable ..Type renverra forcément un entier...
    Dans mon code, j'utilise l'entier en testant sa valeur avec les constantes de WinDev pour définir le type de la variable.
    Je vois vraiment pas ce qu'il te faut de plus !
    Un dessin ?

  20. #20
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    bonjour
    je comprends votre code
    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
     
    SELON LIB_DATE_HEURE_LONG..Type
    	CAS typActiveX:
    		Info("typActiveX")
    	CAS typAsc:
    		Info("typAsc")
    	CAS typBarreOutils :
    		Info("typBarreOutils")
    	[...]	
    	CAS typWebCam:
    		Info("typWebCam")
    	CAS typXaml :
    		Info("typXaml")
    	CAS typZoneRépétée:
    		Info("typZoneRépétée")
    FIN
    mais dans mon cas j'ai essayé de faire tout d'abord d'insérer un trace dans la boucle d'énumération pour voir se qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Trace({ResChamp}..type)
    mais la j'ai des messages d'erreur
    une erreur est survenue dans la fenêtre
    l'élement "BTN_OK" est inconnu
    BTN_OK est le 1ere élément de la fenêtre, le message d'erreur est le même pour chaque sélection d'une fenêtre, il s'arrête toujours dans le 1er élément et si j'enlève la trace j'ai bien tout les élément dans la table d'affichage sans aucun problème.

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/04/2008, 20h50
  2. Réponses: 3
    Dernier message: 19/12/2007, 14h50
  3. Réponses: 1
    Dernier message: 06/03/2007, 10h55
  4. Réponses: 4
    Dernier message: 28/10/2005, 16h30
  5. cherche une fonction qui permet de faire une recherche
    Par vbcasimir dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2005, 17h24

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