Discussions au sujet de NI LabVIEW

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

Concevoir un explorateur de fichier

Bonjour tout le monde!

 

Je m'arrache les cheveux depuis un petit moment sur un truc qui me semble tout bête et qui pourtant me donne pas mal de fil à retordre... Je compte sur votre infini sagesse pour m'éclairer!

Voic la situation :

Mon VI est un générateur de phrases unique, je m'en sert pour générer des fichiers textes pouvant contenir jusqu'à 15,000 phrases et j'organise ces fichiers textes en fonction de leur utilité/sujet. Par exemple, je peux créer une série de 10 fichiers texte contenant chacun 15,000 phrases et chaque fichier porte sur un fruit : Un pour les pommes, un pour les bananes, un pour les poires, etc. Je pourrais tout simplement faire la gestion de ces fichiers à l'extérieur de LabVIEW, mais je désire obtenir une solution intégrée.

L'objectif est d'obtenir un mini-explorateur local pour visualiser ces fichiers dans LabVIEW. Par exemple, la structure générale de mon dossier pourrait ressembler à sa :

C:/MonSuperVI/generateur.vi
C:/MonSuperVI/sousvi.vi
C:/MonSuperVI/Listes/
C:/MonSuperVI/Listes/Fruits
C:/MonSuperVI/Listes/Fruits/fruitsgeneriques.txt
C:/MonSuperVI/Listes/Fruits/Poire
C:/MonSuperVI/Listes/Fruits/Poire/Poire-1.txt
C:/MonSuperVI/Listes/Fruits/Poire/Poire-2.txt
C:/MonSuperVI/Listes/Fruits/Poire/Poire-3.txt
C:/MonSuperVI/Listes/Fruits/Banane

C:/MonSuperVI/Listes/Fruits/Banane/Banane-1.txt
C:/MonSuperVI/Listes/Fruits/Pomme
C:/MonSuperVI/Listes/Animaux
C:/MonSuperVI/Listes/Animaux/Chien
C:/MonSuperVI/Listes/Animaux/Chat

C:/MonSuperVI/Listes/Metiers
...

 

 

Mon VI contient un onglet "Liste" et c'est dans cet onglet qu'on retrouverai toute la gestion des listes. Le fait est qu'avant de gérer quoi que ce soit il faut être capable de trouver les fichiers! J'ai essayer en utilisant les contrôle de type "Tree". Je suis capable d'obtenir les chemins de tout les dossiers et les fichiers mais sa ne marche pas vraiment comme je le souhaiterais... Voici deux scénario du fonctionnement désiré

Scénario A

 

Deux fenêtres sont utilisé, l'une pour les dossiers, l'autre pour les fichiers. Au lancement, la première fenêtre afficherait

-Fruits
-Animaux
-Métiers

La deuxième fenêtre serait vide (pas de fichier dans le dossier "Liste"). En cliquant sur "Fruits", la première fenêtre devient :

-Poire

-Banane

-Pomme

La deuxième fenêtre afficherait alors "Fruitsgeneriques.txt". Si on clique sur Poire, la première fenêtre n'affiche que "Poire" (pas de sous-dossier) et la deuxième "Poire-1.txt", "Poire-2.txt", etc.

Un bouton serait utilisé pour revenir au dossier précédent.

 

Scénario B

 

L'utilisation du contrôle de type Tree permettrait selon moi de tout combiner dans la même fenêtre. Le système d'indentation/child permet d'avoir l'architecture complete du dossier "Liste" dans la première colonne. En fonction du dossier selectionner dans la Col1, les fichiers et sous dossiers apparaitrait dans la Col2 et ainsi de suite. Je suis arrivé à la première étape mais je suis completement bloqué après (voir VI joint).

 

 

 

Voila j'espère que j'ai bien expliquer ce petit projet! Merci en avance pour votre temps et votre aide, c'est immensément apprécié!!

-Bastien

0 Compliments
Message 1 sur 6
3 746 Visites

Salut,

 

Je n'ai pas encore pris le temps de regarder ton code (je le ferai dimanche si il pleut Smiley clignant de l'œil), en attendant je te donne un exemple pour populer un tree. J'adore utiliser les trees, je trouve que c'est un super outils donc je te conseillerais de prendre cette option.

 

Le code ci-joint un un plugin pour le scripting sandbox, qui lui même est un plugin pour le RCF.

 

Voilà un lien pour montrer ce que fais le plugin.

 

Je me rends compte que je balance pas mal de liens vers des trucs pas forcéement évident donc n'hésite pas à poser des questions. ah, d'ailleurs il faut aussi avoir installé les librairies OpenG Smiley très heureux


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 2 sur 6
3 722 Visites

Bonjour TiTou!

Merci beaucoup de votre réponse. J'ai installé le Run-Time LV2011, le VI Package Manager, les librairies OpenG, le plugin de scripting sandbox et j'ai essayé un peu de comprendre comment me servir de tout ça mais je vais t'avouer que je suis un peu perdu.

J'ai bien quelques VI OpenG pour lister un repertoire mais je vais me retrouver avec le même problème qu'au départ. Quant au plugin de scripting sandbox je ne suis pas encore trop sur de savoir ni comment il fonctionne, ni à quoi il sert (j'ai été incapable de trouver le VI qui liste les sous-vi dans un Tree comme dans la vidéo).

 

Une petite lanterne me serait bien utile!

 

Cordialement,

Bastien

0 Compliments
Message 3 sur 6
3 685 Visites

@TBM wrote:


Merci beaucoup de votre réponse. J'ai installé le Run-Time LV2011, le VI Package Manager, les librairies OpenG, le plugin de scripting sandbox et j'ai essayé un peu de comprendre comment me servir de tout ça mais je vais t'avouer que je suis un peu perdu.



Je comprends, il faut un peu de temps pour que tout se mette en place Smiley très heureux

As tu installé le RCF (Right Clic Framework), il s'installe depuis le VIPM et est nécessaire pour faire tourner le scripting sandbox ; ce dernier utile que dans des cas assez particulier, à l'origine je voulais faire un plugin pour le RCF mais j'ai trouvé que c'était bcp plus simple de faire un plugin pour le scripting sandbox.

Enfin... ceci était une petite parenthèse, revenons à ton problème.

 

Je ne sais pas exactement ce que tu veux faire comme "explorateur de fichier", je voulais simplement de te montrer qu'un tree control me semble particulièrement bien adapté, parfois c'est un peu déroutant à utiliser au début mais une fois qu'on a bien compris le fonctionnement on avance vite.

Ne passe pas trop de temps sur les exemples ci-dessus, essaie d'utiliser un tree, de publier dedans ta structure de dossier/fichier.

A quel point es tu bloqué, qu'est ce que tu veux faire exactement?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 4 sur 6
3 665 Visites

Bonjour TiTou,

 

En fait, j'arrive à peupler mon Tree, cette partie est relativement simple. Là où je bloque, c'est quand je veux déclencher un événement lorsqu'on clique sur un des éléments du tree.

Par exemple, lorsque je clique sur l'élément "Fruits" dans ma 1ère colonne, j'aimerais que "Fruitsgeneriques.txt" apparaisse dans la colonne à coté (la 2ième colonne). L'étape suivante serait d'extraire la valeur de l'élément sous forme de string pour reconstruire le chemin d'accès au fichier (un petit bouton "Ouvrir" par exemple qui serait grisé sauf si l'élément du tree selectionné est un fichier).

 

Merci encore pour ton aide!

 

Cordialement,

Bastien

0 Compliments
Message 5 sur 6
3 634 Visites

Comme ça :

 

Example_VI_BD.png


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 6 sur 6
3 630 Visites