le 10-18-2017 04:52 AM
Tous les passionnés de LV (j'en suis) sont par essence des défenseurs inconditionnels de l'outil, des Don Quichotte. Nous sommes tous prêts à nous couper un bras pour trouver une justification saine et logique au moindre comportement qui semble ne pas l'être. Et je dois bien admettre que dans 99% des cas, il est possible de replacer tout comportement dans le cadre d'une même pensée unique. Ceci dit, en l'occurrence, si on intègre l'ensemble de ce post, même en me coupant un bras je n'arrive pas à en sortir glorieux. Le comportement d'une Table est le bon, son premier indice, l'indice n°0, l'indice colonne, est en première position. Un Tableau, quel que soit le nombre de ses dimensions, devrait se comporter de la même façon ... et de même pour toutes les fonctions Tableau ... l'indice colonne devrait immuablement être le premier, ceci malgré l'extensibilité vers le bas de ces fonctions. L'aide contextuelle est conforme à cette logique, mais la réalité du code est différente. Le remaniement de LV à ce sujet est des plus improbable, la compatible descendante serait une catastrophe. Cela n'interdit pas de raisonner et de constater. Le minimum serait peut-être de rendre l'aide contextuelle conforme à la réalité. Une aide contextuelle complète, claire et précise à ce sujet, aurait le mérite de lever toutes les ambiguïtés pour les utilisateurs (débutants), et ce pour un impact bien moindre que de modifier l'ensemble du comportement de LV lui-même.
La remarque pourrait-elle être remontée ? NI pourrait-il se pencher sur cette idée ?
merci .imb pour cette différence entre Tableau et Table (je n'avais jamais remarqué), ainsi que ton lien associé (intéressant / surprenant)
le 10-18-2017 07:29 AM
Mais comment faire remonter la remarque justement?!
le 10-18-2017 08:19 AM
@AllanB54 wrote:
Mais comment faire remonter la remarque justement?!
Je vais faire remonter vos commentaires, je travaille chez NI.
Malheureusement, c'est vrai qu'il est très improbable que la modification soit faite (du moins dans la génération actuelle de LabVIEW, il faudra que je vérifie le comportement dans LabVIEW NXG).
le 10-18-2017 08:26 AM
Merci! si déjà l'aide peut être modifiée ce sera déjà bien...
le 10-18-2017 09:48 AM
@Allan: " mais comment faire remonter la remarque ? "
La voie royale pour "proposer" (quoi que ce soit) est le forum LabVIEW Idea Exchange. Sur ce forum tu peux y faire part de toute modification qui te semblerait intéressante pour "améliorer" LV. L'équipe de développement NI est particulièrement attentive à ce forum ... réellement, et cela fonctionne ... régulièrement, certaines propositions sont évaluées et au final, intégrées à LV. J'ai déjà eu moi-même le cas, et franchement, chapeau pour l'interactivité NI-utilisateurs. Encore faut-il posséder un niveau d'anglais suffisant pour pouvoir décrire de façon précise ce que tu proposes.
Merci beaucoup à .imb (de chez NI) de bien vouloir faire l'interface vers les couches supérieure.
le 10-19-2017 01:28 AM
oui pour l'instant je vais laisser .imb se charger de faire remonter l'information!
le 10-19-2017 07:24 AM
Bonjour,
bien au contraire, je trouve cette fonctionnalité bien plus logique. Grace à l'auto indexation des tableaux dans les boucles For, c'est le premier indice qui est indexé. Autrement dit, si je fais des pages de données 2D, je peux utiliser mon algorithme pour traiter mes données 2D. et assembler différents jeux de mesures en page facilement en auto indexant mon tableau 2D. Ce qui je pense est beaucoup plus courant au niveau de l'organisation des données.
D'ailleurs cette logique es la même dans Excel quand on fait des macros. On choisit la page de travail, puis la ligne puis la colonne si ma mémoire est bonne.
Enfin, j'utilise tellement rarement des tableaux 3D et jamais utilisé plus de dimensions que je me suis jamais vraiment posé la question.
Cordialement
Maxime R.
CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
CTA - Certified TestStand Architect / Architecte TestStand Certifié
le 10-19-2017 07:34 AM
Bonjour MaximeR,
le problème initial est que l'aide ne correspond pas à la réalité des indices de tableaux. Quand tu utilises l'auto-indexation, évidemment, la première dimension à être utilisée est la plus grande.
Ce qui n'est pas logique c'est que la commande d'indice de dimension 0 se déplace vers le bas (sur les afficheurs en face-avant et sur les fonctions de manipulation de tableau du diagramme) au fur et à mesure qu'une nouvelle dimension est rajoutée au tableau...
10-19-2017 04:48 PM - modifié 10-19-2017 04:51 PM
Le cas (particulier) de l'auto-indexation (qui "prélève" en premier lieu la dimension la plus grande) n'est pas incompatible, dans l'absolu, avec l'ensemble des remarques reprises dans ce post. Pour un Tableau à N dimensions, l'indice colonne peut parfaitement rester immuablement l'indice zéro. Pour le tunnel indexé, ce n'est qu'une question de comportement ... et donc simplement la façon dont ce tunnel à été programmé ... un tunnel indexé n'étant jamais que du code. En passant au code du tunnel la dimension N du Tableau, celui-ci pouvait très bien prélever cette dimension N en lieu et place de la dimension zéro actuelle. Et quelque part, il aurait été plus logique qu'un tunnel indexé prélève la dimension N (et non zéro). Le comportement actuel est "un choix" de la part des concepteur/développeur de LV (que je respecte) ... mais un comportement différent aurait été (à mon sens) parfaitement envisageable. Il est possible que le choix du comportement actuel ait permis un "code-tunnel" plus simple, plus compact et donc plus rapide (la rapidité étant un des atouts de l'indexation sous LV).
Tout cela pour dire quoi ?
Que je trouve la remarque de MaximeR parfaitement correcte, il est évident qu'une indexation doit prélever l'objet de dimension supérieure, je suis d'accord avec lui. Mais cela n'est pas incompatible avec une vue différente concernant l'attribution des numéro d'index ... bien entendu le tunnel indexé devrait, lui aussi, être adapté à cette vision différente des choses.
Ce post est-il de l'ergotage de puriste ?
oui, pour les utilisateurs qui envisagent en principal la finalité. Ce sont les plus nombreux, les professionnels de la programmation, dont le but est de répondre à des besoins, dont le but est trouver des solutions.
non, pour ceux qui peuvent se permettre de fantasmer sur des concepts de logique de fond.
(je programme juste pour le plaisir, donc je peux me permettre "ce luxe".)
le 10-20-2017 01:37 AM
ouadji a écrit :
Le cas (particulier) de l'auto-indexation (qui "prélève" en premier lieu la dimension la plus grande) n'est pas incompatible, dans l'absolu, avec l'ensemble des remarques reprises dans ce post. Pour un Tableau à N dimensions, l'indice colonne peut parfaitement rester immuablement l'indice zéro. Pour le tunnel indexé, ce n'est qu'une question de comportement ... et donc simplement la façon dont ce tunnel à été programmé ... un tunnel indexé n'étant jamais que du code. En passant au code du tunnel la dimension N du Tableau, celui-ci pouvait très bien prélever cette dimension N en lieu et place de la dimension zéro actuelle. Et quelque part, il aurait été plus logique qu'un tunnel indexé prélève la dimension N (et non zéro). Le comportement actuel est "un choix" de la part des concepteur/développeur de LV (que je respecte) ... mais un comportement différent aurait été (à mon sens) parfaitement envisageable. Il est possible que le choix du comportement actuel ait permis un "code-tunnel" plus simple, plus compact et donc plus rapide (la rapidité étant un des atouts de l'indexation sous LV).
J"avoue ne pas avoir tout compris dans ce paragraphe...! Quand on décompose un tableau à N dimension avec une boucle, on récupère d'abord la dimension N. Et inversement, quand on construit un tableau avec un boucle on crée d'abord la dimension 0. Mais c'est assez logique!
Bonne programmation de loisir à vous!