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

LabVIEW Discussion :

Traiter une chaîne de caractères complexes, séparer les éléments de la chaîne


Sujet :

LabVIEW

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut Traiter une chaîne de caractères complexes, séparer les éléments de la chaîne
    Bonjour,

    Je suis en stage (mesure de dimension de piece avec un palpeur) et je galère sur le traitement de chaines de caractères.
    En fait je dois lire un fichier texte(VI lire un fichier texte, ca c'est bon) (qui provient d'un logiciel de métrologie effectuant les mesures) et selon les valeurs des nombres du fichier texte voir si la piece à mesurer est correcte ou non. Je dois donc séparer la chaine de caractères pour récuper les différents nombres.
    Le fichier texte a cette structure:

    "D1" 9.5171 9.5000 0.1000 0.1000 0.0171
    "D2" 9.6357 9.5000 0.1000 0.1000 0.1357 0.0357
    "D3" 9.5838 9.5000 0.1000 0.1000 0.0838

    D1 D2 et D3 indique les différentes mesures effectuées (il peut y avoir 100mesures voir +).
    La "colonne " qui m'intéresse est la dernière. Si la colonne comporte une valeur la pièce est mauvaise sinon elle est bonne.
    Le problème c'est que je ne sais pas comment récupérer les valeurs de la dernière colonne, rapellant que c'est un fichier texte.
    J'ai vu qu'il existe des VI de traitement de chaine (coupé la chaine à l'endroit voulu par exemple, separer chaine..) mais mon probleme vient du fait que je dois pouvoir faire la meme opération un nombre non définit de fois (je pensais à une boucle while bien sur mais ca reste difficile à faire).

    Cijoint ce que j'ai reussi à faire mais pour un fichier texte simple à 1colonne et pas répétable 100fois..ou un nombre indefini (autrement dis je suis tres loin du resultat attendu).

    Je vous remercie pour votre aide si vous avez des idées à me suggérer.
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    En fait, il y a un moyen plus simple mais je n'ai pas le VI correct
    "read from spread sheet (string)" juste le VI"read from spread sheet" apparement. J'ai la version 8.0 pourtant. J'ai chercher à télécharger ce VI sur internet mais ça n'est pas évident à trouver. Pensez vous qu'il y ai une manière que je puisse obtenir ce VI?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Désolé j'ai oublié de joindre le VI.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti Avatar de VictorNet
    Profil pro
    Inscrit en
    Février 2008
    Messages
    275
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 275
    Points : 382
    Points
    382
    Par défaut
    hello, tu peux donner le fichier texte qui contient

    "D1" 9.5171 9.5000 0.1000 0.1000 0.0171
    "D2" 9.6357 9.5000 0.1000 0.1000 0.1357 0.0357
    "D3" 9.5838 9.5000 0.1000 0.1000 0.0838
    "L'imagination est plus importante que le savoir." -Albert Einstein-

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Voilà le fichier texte
    Fichiers attachés Fichiers attachés

  6. #6
    Membre averti Avatar de VictorNet
    Profil pro
    Inscrit en
    Février 2008
    Messages
    275
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 275
    Points : 382
    Points
    382
    Par défaut
    Voila de quoi le transformer en tableau de flottants
    "L'imagination est plus importante que le savoir." -Albert Einstein-

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse. Cependant quand je veux mettre le fichier texte que j'ai envoyer précédemment les nombres du tableau restent à 0. Le tableau ne me permet pas d'afficher les nombres voulus.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Voila, j'ai trouvé comment mettre tout les éléments sous forme de tableaux. Reste à extraire les éléments intéressants maintenant, voir si la dernière colonne est vide ou non.
    Fichiers attachés Fichiers attachés

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Ca y est j'ai reussis à indiquer si la pièce est bonne ou non en comparant les éléments de la dernière colonne à la valeur "chaine vide".
    Reste à améliorer la présentation du tableau et à adapter le VI pour n'importe quel type de fichier texte (avec un nombre de colonne différente).
    Fichiers attachés Fichiers attachés

  10. #10
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je viens de lire rapidement les messages sur ton forum et je pense que tu pourrais m'aider pour ce que je suis en train de faire.

    En gros, je suis un peu dans le mm cas que toi. Je dois récupérer un fichier texte (pas de souci, avec le vi lire un fichier texte) qui a cette forme:

    Date, Time, Temp Setpoint, Temp Product
    12/15/2005, 15:30:17, 25,000000, 24,437500
    12/15/2005, 15:30:27, 25,000000, 24,162500
    12/15/2005, 15:30:37, 25,000000, 24,950000

    Tout comme toi, chaque ligne correspond à une mesure.Là aussi, il y a pour chaque essai 600 mesures qui sont faites. Pour chaque mesure on récupère la date, le temps et des températures à différents points.
    Ce que je voudrais faire, c'est récupérer dans un premier temps toutes les valeurs de "date" et les mettre dans un premier tableau, ensuite toutes les valeurs de "Time" et les mettre dans un deuxieme tableau, etc... bref je voudrais comme toi séparer et récupérer les différents éléments des chaînes!

    Je n'est pas eu le temps de me plonger vraiment dans ce que tu as trouvé, ça sera certainement suffisant pour que je réussisse, mais si jamais tu as des conseils à me donner, n'hésite surtout pas!!

    Merci

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Salut!
    Oui en reprenant ce que j'ai fais tu pourra résoudre ton problème. En fait tu devra comme moi, utiliser le VI "diviser un tableau 1D" (placer à la fin sur mon diagramme). Tu devra en cabler plusieurs (3 puisque tu as 4 collennes il me semble). Ce VI te permet de couper les colonnes (dans mon exemple j'ai mis l'indice 6 pour isoler la colonne 7 qui m'interesse).
    J'espere que mon travail t'aidera.
    Fichiers attachés Fichiers attachés

  12. #12
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse!

    je suis dessus depuis ce matin mais je n'ai toujours pas réussi à faire ce que je voulais.

    En fait, je n'arrive pas à saisir comment tu as pu récupérer la dernière colonne dans ton tableau de départ!
    Voila ce que j'ai compris de ta démarche pour récupérer la colonne 7:
    - Tu indexes ton tableau de départ (dimension 2).
    - Tu récupères donc la ligne du tableau que tu as indexé
    - Dans cette ligne, tu utilises le vi "diviser un tableau" pour récupérer la dernière colonne.

    J'ai donc voulu faire la même chose dans mon cas, mais je me suis aperçu
    mon tableau de départ en sortie de mon fichier texte n'est que de dimension 1. Ce qui fait qu'après la première indexation je me retrouve avec une chaine et plus de tableau!

    Bon, je vais continuer à me creuser la tete en espérant trouvé quelque chose!

  13. #13
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    D'ailleurs je viens de réussir à lancer ton VI avec le fichier texte que tu avais donné plus haut et ça n'a pas l'air de marcher....

  14. #14
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Salut
    Oui moi aussi je n'avais qu'une dimension au début, mais une fois j'ai pu avoir 2 dimensions alors je n'y ai pas retouché. Copie et colle directement cette partie, peuetre que comme moi tu aura la chance d'avoir 2D. (enfin surement que on peux choisir entre 1d ou 2D mais je n'ai pas trouver comment).
    Je te joint le fichier texte de base si tu veux regarder mais mon VI marche.
    Fichiers attachés Fichiers attachés

  15. #15
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci de m'avoir fait passer le fichier IHM, ça m'a permis de constater que ça marchait bien et surtout de comprendre comment tu pouvais arriver au résultat attendu!

    En fait, à la sortie du VI "chaîne au format tableur en tableau" (après avoir lu le fichier texte) tu as un tableau de données qui a exactement la forme que je voulais! J'ai donc simplement recopié le début de ton VI et ça marche!

    Pour récupérer les données de chaque colonne, il suffira juste d'indexer le tableau comme tu as fait!

    Merci pour ton aide!

  16. #16
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Pour choisir la dimension d'un tableau:

    - face avant, clique droit sur le tableau
    - propriétés
    - dans l'onglet apparences, tu peux choisir la dimension de ton tableau

    Sinon pour changer la dimmension d'un tableau, tu as aussi le VI "redimmensionner un tableau"

  17. #17
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Merci pour l'info

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/06/2014, 18h14
  2. [Batch] Rechercher et renommer une chaine de caractère complexe dans un fichier texte
    Par mrcanardwc dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 24/06/2011, 14h02
  3. Réponses: 4
    Dernier message: 18/04/2011, 23h56
  4. traiter une chaine de caractères qui contient '/'
    Par haithem20080 dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 16/03/2010, 12h01
  5. [XSLT] Construction d'une chaîne de caractère complexe
    Par st0ne dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/08/2007, 10h57

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