Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Comportement - proposition

Bonjour à tous,

 

Oui, en effet, il y a "révélation"

 

Mais cette révélation n'est pas le variant en lui même, ni les fonctions OpenG.

 

La révélation est la sortie "type string" de la fonction "variant to flattened sting" ... qui donne accès à la totalité du contenu du "descripteur de type" .

 

Alors là ... je dis oui ...  variant + descripteur = téléportation ! Smiley heureux

 

Parce que je peux facilement, en sortie de variant, retrouver le type complet de la donnée (ou des) qu'il contient (cela a toujours été ma grande interrogation)

 

Et l'utilisation de ce descripteur est la base de toutes les fonctions "variant-OpenG".

 

Pour ma défense :

 

J'ai fait une recherche sur ce forum (francophone) avec le mot "descripteur" ... Ce sujet (celui-ci) est le seul ou ce terme "descripteur" est évoqué.

 

Depuis le temps que l'on discute du variant, je suis étonné que personne (à part Eric) ne soit venu "me mettre à la masse" en me parlant de ce descripteur de type.

 

Je suis bien content d'avoir trouvé le maillon manquant !

 

Effectivement, cela change complètement mon regard sur le variant.

 

Bonne journée à tous,

 

 

0 Compliments
Message 31 sur 63
2 212 Visites

ouadji a écrit :

 

Depuis le temps que l'on discute du variant, je suis étonné que personne (à part Eric) ne soit venu "me mettre à la masse" en me parlant de ce descripteur de type.

 


Et pourtant ce descripteur est utilisé dans l'une de nos librairies internes à laquelle la plupart de mes projets font recours. Argghh...

0 Compliments
Message 32 sur 63
2 194 Visites


ouadji a écrit :

 

Depuis le temps que l'on discute du variant, je suis étonné que personne (à part Eric) ne soit venu "me mettre à la masse" en me parlant de ce descripteur de type.

 



Pourtant il est dans le dans le post suivant Excel et les variants

et je t'avais noté >> je réponds à ton post sur l'utilité des variants

Je ne parle pas du mot "descripteur" mais entre le texte et l'image...

non?

A+

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 33 sur 63
2 189 Visites

Je ne parle pas du mot "descripteur" mais entre le texte et l'image...non?

 

bein ... heu ... maintenant que le franc est "tombé", oui ...

 

mais sur le coup, non.

 

La compréhension tient parfois à peu de chose ... un mot, une phrase.

 

Le franc est tombé quand j'ai ouvert cette fonction OpenG cablée sur le sélecteur de ta structure case,

 

et là, j'ai vu cette fonction "variant to flattened string" .... et surtout  sa sortie "type string".

 

c'est la que j'ai vu que cette sortie donne ce fameux "descripteur de type" ... clic sur l'aide ... et bingo .... détails complets sur les données qui composent un descripteur de type.

 

En fait, cela fait un an que je me demande à quoi peut bien servir un variant, puisqu'il faut connaître le type contenu pour en extraire la donnée.

 

La réponse était "là", juste sous mes yeux, dans la palette Variant.

 

La clef de toute cette histoire est la sortie "type string" de la fonction "variant  to flattened string".

 

La fonction OpenG que tu utilises "Get TDEnum from Data", te donnes uniquement le type de niveau 1 ... array, cluster ...

 

Mais en décodant le descripteur tu peux connaître la totalité du type ... pas uniquement "array" ... mais "array 2D de booléen". (ou tout ce que tu veux, même les types complexes)

 

Maintenant que j'ai compris, je veux bien utiliser les variants (si j'en ai besoin)

 

En effet, les variants sont là pour répondre à un besoin précis ... faire du traitement sur des types différents, multiples.

 

Et c'est bien pour ça que je n'ai (quasi) jamais utilisé de variant ... je n'ai jamais eu besoin de traiter des données de types différents par un même VI.

 

De plus, a chaque fois que je tombais sur du code avec des variants, je voyais ces fonctions OpenG.

 

Mais jamais  je n'ai vu un code qui faisait ça "en manuel", en manipulant directement le descripteur de type.

 

Oui ... j'aurais du ouvrir et analyser toutes les fonction OpenG ... je serais "tombé dessus" moi-même ... ok.

 

 

 

 

 

 

0 Compliments
Message 34 sur 63
2 184 Visites

Je ne voudrais pas démarrer un nouveau débat mais les variants sont très pratiques même sans recourir au descripteur de type.

Par exemple pour transmettre des données de types différents par une même queue comme cela est décrit ici ou encore ici.

 

Format donnée à transmettre = cluster contenant :

  • un enum servant à spécifier le type de la donnée
  • variant contenant la donnée

Avec un (strict) typed def pour chaque type de données, cela est très simple et utile. Un incontournable pour mes projets.

Message 35 sur 63
2 173 Visites

ouadji a écrit :

 décodant le descripteur tu peux connaître la totalité du type ... pas uniquement "array" ... mais "array 2D de booléen". (ou tout ce que tu veux, même les types complexes)

  


 il existe une note d'application de NI qui décrit cela. J'ai cherché en quelques minutes mais je n'ai pas retrouvé. Il faut dire que j'ai lu cette note (pour la dernière fois) il y a très longtemps (2005)... est-elle toujours là?

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 36 sur 63
2 165 Visites

En vrai connaître le type du variant ne sert pas si souvent que ça... Et le descripteur n'est pas utile puisque 2 fonctions (une dans vi.lib et une dans OpenG) s'occupent de tout en extraire 🙂 La vraie force des variants ce sont leurs attributs 😄

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

Message 37 sur 63
2 161 Visites

Eric.M a écrit :

En vrai connaître le type du variant ne sert pas si souvent que ça... Et le descripteur n'est pas utile puisque 2 fonctions (une dans vi.lib et une dans OpenG) s'occupent de tout en extraire 🙂 La vraie force des variants ce sont leurs attributs 😄


Salut

Très bonne remarque, même si personnellement je suis plus nuancé. (Pas forcement 50 nuances de Variant).

Je nuance donc la phrase une des forces des variants est également les attributs.

Car personnellement j'utilise les attributs des variants pour ajouter des données (possibilité de filtrage rapide d'information mais que je n'utilise pas) mais par contre dans beaucoup de fonction et de toolkit j'ai besoin de coder "N'importe quoi vers" et le type est indispensable. (par exemple j'ai une fonction VData vers base de données, VData vers chaîne de caractères,...).

Je me permets donc de nuancer via mon utilisation personnelle.

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

Message 38 sur 63
2 152 Visites

Eric.M a écrit :

le descripteur n'est pas utile puisque 2 fonctions (une dans vi.lib et une dans OpenG) s'occupent de tout en extraire


Re, tu penses à quoi ? tout en extraire? A+

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 39 sur 63
2 151 Visites

Moi difficile parlé francé.

 

Les VIs extraient toutes les infos nécessaires du descripteur.

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

0 Compliments
Message 40 sur 63
2 146 Visites