Trouver une chaine dans une chaine

Bonjour, (Labwindows CVI 8.0)
Je cherche une fonction du type strcmp en plus évoluée. Je veux faire une barre de recherche dans mon programme. Par exemple je cherche l'objet 1185 je fais cherché et à l'aide de la fonction strcmp il trouve mon objet jusqu'ici tout va bien.
En revanche si je cherche les objets qui comporte les numéro 118 par exemple 1180, 1185, 6118, 21187,... là il ne trouve rien du tout. ALors que je voudrais qu'il me les trouve tous.
Au final c'est une simple barre de recherche commande windows lorsque l'on fait Rechercher , mais là je suis bien bloqué.
Merci d'avance,
Cordialement Kévin.

Bonjour,
Il n'y a pas de fonction toute faite permettant de réaliser cela, cependant vous pouvez utiliser les expressions régulières via la fonction  http://zone.ni.com/reference/en-XX/help/370051K-01/toolslib/cviregexpr_findpatternintext/
Avec cette fonction et en bricolant un peu vous devriez pouvoir trouver toutes les occurences que vous recherchez.
Cordialement,
Da Helmut

Similar Messages

  • Ajouter une chaine dans une chaine déroulante

    Bonjour,
    Je suis nouveau en labview, et j'aimerai savoir comment on ajoute une chaine dans une chaine déroulante.
    Merci
    Cordialement
    Solved!
    Go to Solution.

    Bonjour Rémi,
    Rien de plus simple, tu fais un clic-droit sur ta chaine déroulante >> Editer les éléments...
    Tant que j'y suis je te conseille d'utiliser une commande de type énum plutôt qu'une chaine déroulante. Les deux commandes ont la même fonctionnalité sur la face-avant. L'avantage est qu'une commande énum est gérée sous forme de numérique sur ton diagramme, c'est donc plus facile à utiliser est moins source d'erreur que d'utiliser des chaines. C'est notamment très pratique avec une structure condition.
    Bonne journée,
    M-Junior

  • Lire le contenu d'une cellule dans une feuille Excel

    Bonjour,
    Dans un fichier Excel, j'ai plusieurs feuilles, dans une des feuille (par exemple feuille: Dispersion) j'ai une cellule qui se situe à la colonne 3 et la ligne 5, cette cellule contient une valeur (par exemple 500). Donc depuis un VI, comment je peux lire le contenu de cette cellule pour sortir la valeur 500 ?
    Si je n'ai qu'une feuille je peux utiliser la fonction "Read From Spreadsheet File.vi" pour lire dans un fichier de format txt, mais ici j'ai une fichier Excel avec plusieurs feuilles dedans, comment je peux lire une cellule dans une feuille précise? Merci pour votre éclairage . Bon week end à vous tous.
    Solved!
    Go to Solution.

    Bonjour, Jetez un oeil sur ce lien.
    http://zone.ni.com/devzone/cda/epd/p/id/3409
    CLA 2014
    CCVID 2014

  • Mettre une photo dans une forme illustrator

    Bonsoir,
    J'ai un problème!
    J'ai fait une forme sur Illustrator: des anneaux olympiques en gros , avec un peu d'extrusion en 3D pour que ça fasse joli! jusque là pas de pbs
    Mon but est de mettre des photos dans les anneaux et d'écrire dessus.. pour cela j'ai mis ma forme sur photoshop mais à partir de là impossible .. je ne sais pas comment faire!
    J'ai essayé de tout faire sur photoshop mais la forme rend vraiment pas terrible par rapport à ce que j'ai fait sur Illustrator
    Quelqu'un pourrait-il me guider? je ne sais même pas s'il faut que je l'insère en tant que smart object, pixels, path ou shape layer au début..
    Merci beaucoup!!!
    je mets mon fichier ai en pièce jointe si vous voulez vous faire une idée
    Bonne soirée
    doud05

    Bonjour!
    Si vous voulez insérer des photos dans les parties intérieures blanches,
    vous devez utiliser les masques (d'écrêtage dans Illustrator, de fusion dans Pshop).
    Pour cela vous devez dupliquer les formes blanches seulement; ces formes seront utilisées comme masques.
    Comme elles «n'existent pas» vectoriellement parlant, il faut que vous sélectionnez le tout puis,
    menu Objet » Décomposer l'aspect.
    Par la suite, vous pourrez sûrement obtenir les formes indépendantes en utilisant les pathfinders.
    Mais c'est un travail assez long, et je ne garantis pas la réussite, surtout si vous n'êtes pas habiles avec les Pathfinders.
    Par contre dans Pshop c'est simple (le seul hic c'est que les dégradés sont moins visibles).
    Il s'agit de copier-coller votre image illustratror ou de la sauvegarder en .eps et de l'ouvrir dans Pshop en CMJN et non en RVB comme j'ai fait.
    Vos photos devront être en CMJN aussi.
    Ensuite, vous remplissez de noir 100% toute l'illustration dans Illustrator et vous sélectionnez le tout, puis copiez-collez dans une nouvelles couche de pshop.
    Attention, si elle se copie dans un calque, il s'agit de repartir du calque pour copier-coller dans la couche et jeter le calque inutile.
    Par la suite vous faites des copies de la couche, pour isoler sur chaque, les parties blanches que vous voulez utiliser comme masques, en remplissant de noir le reste. Puis inverser pour obtenir un élément noir sur fond blanc.
    Chacune de ces couches serviront de masque.
    J'ai fait un exemple avec le premier masque de votre illustration; je vous indexe deux photos écrans, la première montrant les couches, la deuxième montrant un calque avec masque.
    Il se peut qu'il y ait un léger décalage avec les anneaux en couleur mais en agrandissant beaucoup vous pouvez déplacer légèrement l'image et son masque.
    Bon travail!  ;o-)

  • Insérer une variable dans une boite de dialogue

    Bonjour,
    Je souhaite insérer une variable (valeur extraite d'un tableau Excel) dans une boite de dialogue. J'ai vu qu'on pouvait modifier le VI Express de la boite de dialogue mais je ne vois pas comment insérer cette variable dans le message d'entrée.
    D'avance merci

    Hello,
    First, I think that you can get more help if you write in english. Because i didn't understand completly your question.
    What you're trying to do it's simply what's in the attached picture? it's not all the code. Simply the read cell and the dialog.
    Software developer
    www.mcm-electronics.com
    PS: Don't forget to rate a good anwser ; )
    Currently using Labview 2011
    PORTUGAL
    Attachments:
    excel_dialolog.JPG ‏5 KB

  • Position d'une cellule dans une table ou liste multicolonne...

    Bonjour,
    Comment récupérer la position de la cellule choisie dans une table ou une liste multicolonne lors d'un évènement (par exemple) ?
    merci.

    Hello... (ATTENTION you're writting in a english forum)
    I can only give you some tips. It would some time (that I don't have) to do you an example.
    In my knowledge, there not direct event associated to that. What you have to do it's:
    create table event. when this event triggers, you can determine the cell position, using the table origin and the mouse coordinates. With these 2 things you can do a simple math and determine what cell was clicked.
    i hoppe that this helps you
    Software developer
    www.mcm-electronics.com
    PS: Don't forget to rate a good anwser ; )
    Currently using Labview 2011
    PORTUGAL

  • Comment faire une pause dans une boite de dialogue en C sous labview7?

    Bonjour,
    je débute sous Labview, mon travail est de réguler la puissance d'un micro onde avec Labview.
    J'utilise donc une boite de dialogue dans laquelle je fais des comparaisons entre la température de mon échantillon et la température de consigne.
    Se que je voudrais, c'est arriver à stopper mon programme un certain temps, de manière à ce que mon signal de sortie ,reste constant un certain temps, se qui me permetterais de réaliser des paliers de température.
    merçi à l'avance

    Bonjour,
    Est-ce à une Boite de dialogue ou une Boite de calcul que vous faites référence?
    En ce qui concerne la boite de calcul, il semble que la fonction wait(ms) ne peut être utilisée.
    Omar S. NI 

  • Priorité dans une file d'attente

    bonjour
    je cherche un moyen afin de définir une priorité dans une file d'attente.
    j'ai une boucle qui envoie des éléments dans une file d'attente et deux autres qui les traitent en parallèle, mon soucis est de pouvoir décider dans quel boucle de traitement est envoyé mon élément.
    je joint un exemple pour se faire une meilleur idée !
    merci de votre aide
    Il a LabVIEW, il a tout compris !
    Pièces jointes :
    Sans titre 1.vi ‏15 KB

    Salut,
    Une idée, au lieu de transmettre juste une information, est de transmettre en plus un destinataire sous la forme d'un énuméré.
    La file d'attente tranporte donc des clusters (association d'éléments) contenant un énuméré de destination et une chaîne de caractère correspondant aux données.
    Dans tes boucles consommatrices, lis l'élément dans la file d'attente (sans le supprimer), et si la boucle doit le traiter, lit le en le supprimant.
    Ca donne un code dans le genre.
    A+
    Edit: VI en PJ, car il semble qu'il y ai un bug (au moins d'affichage dans le png au dessus au niveau du type d'éléments à câbler lors de la création de la file d'attente)
    Mathieu Steiner, Test System Engineer, Safran Engineering
    CLD, ISTQB
    Pièces jointes :
    Sans titre 1.vi ‏20 KB

  • Recherche dans une chaine (un petit défi ?)

    Recherche dans une chaine du nombre d'occurences d'un caractère unique ou d'une sous-chaine (plusieurs caractères)
    en pièce jointe, un Benchmark reprenant différentes méthodes. (chaine de départ : 50e6 caractères)
    y est repris ma méthode avec un code en assembleur et l'appel du dit code dans une dll.
    Mon code (ASM_DLL) supporte la recherche d'un caractère unique ou d'une sous-chaine.
    sous-chaine : "abc"
    SpreadSheat - 504ms
    Replace - 428ms
    Count (search 1D array) : ne fonctionne pas si plus de un caractère.
    ASM_DLL - 71ms
    caractère unique : "a"
    SpreadSheet - 639ms
    Repalce - 435ms
    Count (search 1D array) - 102ms
    ASM_DLL - 78ms
    L'outil de mesure est fourni, soit le code benchmark ci-joint.
    Vous pouvez donc prendre les temps "suivant" votre machine, et établir les rapports de comparaison.
    Mis à part la méthode pour générer la chaine de 50e6 caractères, le reste du code est "from altenbach"
    En ce qui me concerne:
    ASM_DLL / Replace = 71ms/428ms = 0,16
    objectif : trouver le nb d'occurences de la sous-chaine "abc" dans une chaine de 50e6 caractères
    (la chaine de départ est générée aléatoirement avant le start du Bench)
    Qui peut trouver un code plus rapide que la méthode "Replace" avec un coefficient inférieur à 0,16 ?
    Quelqu'un pour relever le défi ? .. un petit 0,15 ?

    bon ... et bien j'ai joué tout seul
    aucun passionné d'optimisation et/ou d'assembleur su le forum ?
    Je suis descendu à 0,14 (par rapport à la méthode "replace")
    La métode "replace" (code LV) est la plus rapide pour une sous-chaine comportant plusieurs caractères.
    Pour un caractère unique, la métode la plus rapide est "Count" (et "Count_parallel")
    ("Count" fonctionne uniquement pour la recherche d'un caractère unique)
    Ma dll prend les deux, un caractère unique ou une sous-chaine quelconque. (comme "replace" ou "spreadsheet")
    J'ai peaufiné l'algorithme et le code au maximum, un 0,12 ou même un 0,13 me semble impossible. (sans parallelisme)
    Si vous avez de très longues chaines à scanner, servez-vous de cette dll, ça va vite

  • Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW

    Salut à tous,
    Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW.
    Thx
    Nizar
    Résolu !
    Accéder à la solution.

    Si ton fichier est un fichier tableur ce qu'a dit yohann me parait le mieux. Par contre si c'est un fichier texte qui contient une chaine au format tableur (sepération avec des tabulations) il faut utiliser "lire un fichier texte" + "Convertir un chaine au format tableur en tableau" et ensuite indexer la case qui t'intéresse.
    Maintenant si tu as un simple fichier texte  et que tu veux lire un couple ligne/colonne qui désigne un caractère précis il faut utiliser "définir la position dans le fichier" en connaissant la largeur de ton fichier texte. et la tu n'as plus qu'à rentrer dans offset: indice_ligne*largeur+indice_colonne comme une vieille réminiscence du c.
    Sebastien DEVISSCHER - Nerys

  • Imposer un format à une commande de type chaine

    Bonjour,
    je souhaite réaliser une commande de type chaine qui ait un format bien particulier. La chaine doit être un nombre compris entre 101 et 120 (c'est bien une chaine que je souhaite et pas un nombre).
    Est il possible de fixer un format spécifique à une commande de type chaine (ici 3 caractères représentant des chiffres de 101 à 120)?
    Je souhaite que la vérification se fasse tant que l'on est pas en run. (il n'est par exemple pas possible de mettre un "t" dans un champ nombre, ainsi je souhaite que dans mon champ chaine il ne soit pas possible d'écrire "156" ou "rgf" par exemple)
    Merci

    Rebonjour ceci est possible mais uniquement en mode RUN pour l'instant. Le plus simple est de mettre trois controles différents pour indiquer lequel n'est pas rempli de manière correcte et de les concatenner (rabouter).
    It would be nice if you take the time to rate this answer
    http://www.machinevision.ch

  • Comparer deux chaine contenant une valeure numerique variable

    Bonjour à tous,
    je cherche une maniere simple de comparer deux chaines contenant une valeure numerique variable au milieux mais sans tenir compte de cette valeure. Par exemple les chaine suivante :
    Debut_chaine_00_Fin_de_chaine
    Debut_chaine_01_Fin_de_chaine
    Debut_chaine_02_Fin_de_chaine
    comparées avec une chaine de reference me renverrai "true" si le format de la chaine est reconu soit "Debut_chaine_" une valeure numérique sur 2 digit et " _Fin_de_chaine" ou False dans le cas contraire.
    Aurriez vous une idée pour ce genre de fonction ?
    Merci
    Sébastien
    Résolu !
    Accéder à la solution.

    au lieu de "supérieur à -1", tu peux utiliser directement "supérieur ou égal à 0"
    (c'est juste pour faire le malin  )
    [0-9][0-9] == [0-9]{2}

  • Trouver le nombre de test exécutés dans une séquence

    Bonjour,
    je cherche comment trouver le nombre de test qui ont été exécutés dans une séquence (je sais trouver le nombre de test d'une séquence par "GetNumElements(RunState.Sequence.Main )", mais pas l'index du test en cours.
    Merci pour toute aide
    JMC
    JMCe

    Hello JM Cereuil,
    The number of tests(steps) executed in a sequence is allways given by the value of RunState.PreviousStepIndex (zero-indexed). If this value is -1, than no steps where executed in the currently executing sequence.
    Hope this answers your question,
    Silvius
    Silvius Iancu

  • Nombre d'occurrence dans une chaîne de caractère

    Bonjour,
    Voila j'aimerais construire un VI permettant de me donner le nombre de fois ou je trouve le caractère que je specifie, dans une chaîne de caractère.
    En vous remerciant.
    Cordialement.
    Luc
    Résolu !
    Accéder à la solution.

    "on" a discuté de "tout ça" avec altenbach sur le forum anglophone.
    J'ai voulu "tester" avec une petite routine en assembleur et un appel DLL.
    (recherche du nombre d'occurrences d'un caractères dans une chaine)
    à ma grande surprise, je n'arrive pas à faire "mieux" en assembleur !
    Je suis très étonné ! Peut-être LV prend-t-il un "temps fou" dans sa procédure d'appel à une DLL.
    Je ne vois que ça.
    clic ici
    (mon dernier post)

  • Lancer un executable dans une fenêtre de mon VI

    Bonjour,
    Je souhaite lancer un executable dans mon VI, comme s'il faisait parti de mon code (pas à l'exterieur)
    Pour simplifier les choses, mon programme fera la liste de tous les executables disponibles dans un repertoire défini puis les proposera dans une boite à onglet
    Ces executables sont des SFP de ressource
    Ainsi je me retrouve avec un applicatif qui contient tous les SFP que j'ai de disponible (je ne pense pas en avoir plus de 10 sur un banc de test)
    Pour la gestion de la boite à onglet j'ai trouvé et ca marche bien
    Il ne me reste plus qu'a lancer les executables dans les différentes pages et là, je ne vois pas comment faire
    je sais que l'on peux lancer des executables à côté, mais cela ne m'interesse pas, je les veux dedans
    est-ce faisable ?
    D'avance merci
    Cordialement
    Résolu !
    Accéder à la solution.

    Hello,
    Attention, cette méthode était valable avant, et sur Windows XP (ou antérieur) : 
    - http://digital.ni.com/public.nsf/allkb/8545726A00272EB0862571DA005B896C?OpenDocument
    Pour les raisons citées, désormais on utilise plutôt les bibliothèques empaquetées. Elles sont compilées, donc pas de risque d'avoir de fuite de code :-)
    Un très bon début avec cette architecture :
    - https://decibel.ni.com/content/docs/DOC-19176
    Alternative moins crédible : appeler les exe par la fonction "System Exec", et jouer avec les fonctions Windows (au fond de user32.dll) pour que la fenêtre des exe soit une fenêtre enfant du VI appelant...
    A+
    --Eric
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

Maybe you are looking for

  • Time Machine no longer backing up from Macbook Pro

    I've been successfully using Time Machine to backup my Macbook Pro via my wireless network for a couple of years.  I was also using it to backup my wife's Macbook Pro until she had to be away for a while.  While she was away she used a Passport backu

  • Tax code filed not appearing in F-43 Transaction.

    Hello All, Need your assistance on this issue how to get the tax code while entering F-43 transaction. it was not displaying in any of the screens in F-43 please help me  to get the tax code filed in F-43transaction. one more query is how to make req

  • Stored procedure and LOV

    How to use inputListOfValues component to show multiple options for parameter of stored procedure?

  • Oracle 9ias 1.0.2.2 problems

    Hi friends, I've just installed a 9ias (1.0.2.2) on Linux (Mandrake 8). The installation seemed OK but when I try the Jserv demo link (on the Apache initial page) it gives me an error saying that ".. /servlet/IsItWorking not found". The Installation

  • Using "Save as PDF" changes fonts

    I have some documents in czech in FrameMaker 12. When I print to pdf the documents converts all right, but when using "save as pdf" all arial fonts are replaced with Times New Roman and the entire process seems to use a lot of time and computer memor