Récupérer données d'une chaine de caractères (CVI)

Bonjour,
je travaille sur LabWindows CVI.
J'ai une trame CAN de 16 caractères que j'entre manuellement dans un champ en string.
Prenons pour exemple :
unsigned char Trame[17];
J'entre dans le champ 0123456789ABCDEF.
Je fais :
GetTableCellAttribute (panel, control, case en question, ATTR_CTRL_VAL, Trame);
Je lis bien :
Trame = "0123456789ABCDEF"
Seulement voilà quand je souhaite afficher dans un autre champ, la valeur de certains Bytes.
Donc certaines données de la chaine de caractère.
Je fais pas exemple :
SetCtrlAttribute (panel, control, ATTR_CTRL_VAL, &Trame[X]);
Si X = 0 alors j'obtiens : 0123456789ABCDEF alors que j'attend : 0
Si X = 1 alors j'obtiens : 123456789ABCDEF alors que j'attend : 1
Si X = 7 alors j'obtiens : 789ABCDEF alors que j'attend : 7
Si X = 11 alors j'obtiens: BCDEF alors que j'attend : B
Comment faire dans Labwindows pour afficher ce que je souhaite.
Merci de votre aide.

Bonjour,
En fait ce n'est pas strcpy qu'il faut utiliser mais strncpy (voir l'aide de CVI pour un exemple) :
strncpy
char *strncpy (char targetString[], const char sourceString[], size_t maxChars);
Purpose
Copies characters from a source string to a target string until it reaches the specified number of characters or an ASCII NUL byte. If an ASCII NUL byte is found in the source buffer within the specified number of bytes, NUL bytes are written to the target until the specified number of characters have been filled in. If no ASCII NUL byte is found within the specified number of bytes, the function returns after copying the specified number of bytes and does not append an ASCII NUL byte to the buffer. If you want to guarantee that an ASCII NUL byte is at the end of the copied bytes, you can use the following:
strncpy (target, source, n);
target[n]=0;
Cordialement,
Da Helmut

Similar Messages

  • 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

  • Convertir une chaine de caractère en horodatage

    Bonjour à tous,
    Est-ce possible de convertir une chaine de caractère de ce type: 24/09/2014 en horodatage ?
    Cordialement
    Nathan
    Résolu !
    Accéder à la solution.

  • Comment récupérer le n° d'une ligne sélectionnée dans une liste multicolonne

    Je cherche à récupérer le numéro de la ligne sélectionnée dans une liste multicolonne

    Normalement, c'est exactement ce que fait un control du type "liste multicolonne" : renvoyer le n° de la ligne sélectionnée ! Mais peut-être n'ai-je pas compris votre question ?
    Vous pouvez changer le mode de sélection (0 ou 1 item, 1 item uniquement, etc...).
    Bien entendu, le control doit être dans une boucle qui attend soit une modification de la valeur, soit que l'opérateur valide l'état d'une manière ou d'une autre.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • Enregistrer une chaine de caractère dans un fichier excel

    Bonjour, 
    Je réalise une programme qui:
    1) récupère les valeurs de courant grâce à un instrument de mesure, et enregistre ces valeurs chaque seconde dans un fichier excel;
    2) reçoit des logs à intervale irrégulier via le port série et les enregistre également dans un second fichier excel.
    La première partie fonctionne très bien mais je me retrouve face un problème pour la seconde: les logs étant des chaines de caractère, je ne trouve pas comment les enregistrer dans un fichier excel. Quelqu'un aurait il une idée? Il est très important que je puisse enregistrer l'heure à laquelle les logs ont été reçus afin de la comparer avec mes valeurs de courant. 
    Pour la premiere partie, j'ai utilisé l'élément "Ecrire dans un fichier de mesures" qui correspond parfaitement à mes besoins.
    Merci par avance pour votre aide ! 
    Résolu !
    Accéder à la solution.

    Bonjour,
    Vous pouvez utiliser le vi "écrire dans un fichier tableur" pour écrire dans un fichier .xls.
    Ou, vous pouvez écrire dans un tableau et exporter votre fichier à la fin de votre programme dans excel.
    En règle général, il est préferable d'écrire dans un tableau et d'exporter le fichier à la fin, que vous utilisez l'exemple 1 ou 2. En effet, cela vous évite d'ouvrir le fichier et de le refermer un grand nombre de fois.
    Cordialement,
    Jovan N. - Application Engineering
    Pièces jointes :
    exemple_ecrire_dans_fichier_exel.zip ‏14 KB

  • Ecrire des chaines de caractères sur l'abscisse d'un graphique

    Je cherche à écrire des caractéres ( date/heure) provenant d'un fichier excel sur l'abscisse d'un graphique.
    Merci pour la réponse

    biow,
    I can understand french, but I think I will be more clear by replying in English.
    You have to create a property node for your graph where you specify the Format&Precision for the X scale. you want to set Format=7 and Precision=0
    Then you have to specify the format string for the X scale. This is also a property node Xscale>>FormatString
    By following the instructions found on the LabVIEW online Help, to obtain this format DD/MM/YYYY HH:MMS AM, you can use the following format string
    <%d>/<%m>/<%Y> <%I>:<%M>:<%S> <%p>
    Then the only thing that is left to implement is to read the date/time values from your excel sheet (using activex Automation), select the X marker you want to write to (use Xscale>>Marker>>selection) and change its text value pas
    sing it the value retrieved from the excel sheet (using Xscale>>Marker>>text)
    Good luck,
    A. Deotto

  • Rechercher une chaine et la remplacer

    Bonjour à tous,
    Je souhaiterais faire une recherche de chaine commençant par le signe - et récupérer la suite de la chaine . Ensuite la remplacer par une autre chaine de mon choix
    Exemple de chaine à scanner : ( je pars d'un tableau de nombres que je tranforme en chaine pour faire la recherche )
    -45.23
    0
    -23.5
    -1
    -12
    6
    etc
    Par exemple, remplacer -12 par 0
    J'ai utlisé le vi "rechercher et remplacer"  mais il me remplace que le" - " par et laisse "12" . Résultat : 012 au lieu de 0. Normal.  Il ne prend pas la suite de la chaine. J'espère avoir été clair....
    Si vous avez des idée :-)
    Merci
    Cordialement.
    Résolu !
    Accéder à la solution.

    Je t'envoie la partie du code simplifié.
    Dans le tableau il y a 2 valeurs : -1 et -12
    je souhaiterais remplacer ces 2 valeurs( négatives ) par 0 et les remettre dans un tableau avec le restant des valeurs.
    Je n'arrive pas prendre en compte le restant de chaine apès le signe - ... j'ai essayé un tas de trucs mais j'ai du zapper le bon !
    Voilà mon souci  :-)
    Pièces jointes :
    ChangerValeurTableau01.vi ‏12 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

  • Effacé des vidéos par erreur,quoi faire pour les récupérer?

    Effacés des vidéos par erreur quoi faire pour les récupérer?

    si les vidéo fait par iPAD, il doit les récupérer par un logiciel comme récupérer données ipad, si non , seulement les transférer ou télécharger via iTunes. 
    bonne chance

  • En branchant mon Iphone à ITunes, il m'a restauré une version de 2011 ( sans rien me demander)en effaçant toutes les nouvelles données. Comment les récupérer?

    en branchant mon Iphone à ITunes, il m'a restauré une version de 2011 ( sans rien me demander)en effaçant toutes les nouvelles données. Comment les récupérer?

    Yes,
    unless you have a more recent back up then restore and use that.
    Do not back up the current installation as it is of course 2011

  • Comment récupérer des fichiers non sauvegardés après une restauration ?

    Bonjour,
    Je suis récemment parti en vacances, et j'ai pris des photos avec mon iPhone 3gs 16G qui me tiennent particulièrement à coeur( photos de ma petite soeur âgée de huit mois ), cependant j'ai effectué accidentellement une restauration ainsi qu'une mise à jour (4.3.3 --> 4.3.5).
    Le problème c'est que la dernière sauvegarde date d'avant mes vacances et que je me retrouve donc sans ces fameuses photos sur mon iPhone .
    Il n'y aurait pas un moyen de les récupérer ?
    Merci par avance

    Hi millene,
    Est-ce que vous avez récupérer votre données de iPhone?   Je pense vous etês très malchanceux, parce que votre problème est si compliqué.  Je vous conseil chercher la solution sur google.   Avant, j'ai reconu un aussi question pour supprimés des message de mon android. Et j'ai cherchée sur google et récupérer mes données à temps. Ok, je vous consiel quelque logiciel que google recommandé:
    http://www.ipubsoft.fr/idevice-tips/how-to-recover-deleted-sms-from-iphone.html
    www.apwersoft.fr/recuperation-de-donnees-iphone
    http://fr.copytran.net/support/comment-transferer-contacts-ancien-iphone-a-iphon e-5s/

  • Piloter un générateur et récupérer les données sur un oscillo

    Bonjour,
    J'aurai besoins d'aide pour créer un programme. Je suis débutante et je n'y arrive pas.
    J'aimerais envoyer une sinus d'une amplitude connue à un générateur Tektronix AFG 3102 et faire varier la fréquence afin d'observer le signal de sortie, ceci grâce à LabVIEW. Le signal est envoyé sur un ampli op. On récupère les données (tension de sortie, déphasage) sur un oscilloscope Tektronix TDS 3034 toujours grâce à LabVIEW. Je voudrais récupérer le gain et le déphasage pour chaque fréquence afin d'obtenir un diagramme de Bode (amplitude et argument).
    J'utilise une liaison USB pour le générateur et une liaison RS232 pour l'oscilloscope.
    Pourriez-vous me dire comme faire mon programme, me donner des indication svp ?
    Merci beaucoup,
    Cordialement

    Bonjour,
    Alors voici ce que j'ai fait. Ce n'est pas grand chose, mais comme je débute, j'ai beaucopu de mal.
    le premier document est un programme pour piloter le générateur : fréquence, amplitude ...
    le deuxième, c'est un tableu de fréquence que j'aimerais envoyer dans le premier document pour prendre les mesures à ces fréquences spécifiques
    le 3ème est un exemple que j'ai récupérer pour récupérer les données de l'oscillo.  Cependant, je devrai réupérer un sinus, ce qui n'est pas le cas.
    Merci de votre aide,
    Sophie
    Pièces jointes :
    Générateur.vi ‏11 KB
    générateur 3.vi ‏11 KB
    oscillo.vi ‏29 KB

  • J'ai voulu changer mon code verrouillage avant de dormir et malheureusement à mon réveil je ne me souvenais plus de mon nouveau code ! Comment faire pour le récupérer sans que mon téléphone perde des données svp ?

    J'ai voulu changer mon code verrouillage avant de dormir et malheureusement à mon réveil je ne me souvenais plus de mon nouveau code ! Comment faire pour le récupérer sans que mon téléphone perde des données svp ?

    Zazzz wrote:
    Is it possible to not lose its data during a restore??  If so, how??  Is ICloud does the work??
    Y a-t'il une façon de ne pas perdre ses données lors d'une restauration??  Si oui comment??  Est-ce que ICloud fait le travail??
    Connect via cable to the computer that you use for sync.  From iTunes, select the iPad/iPod and then select the Summary tab.  Follow directions for Restore and be sure to say "yes" to the backup.  You will be warned that all data (apps, music, movies, etc.) will be erased but, as the Restore finishes, you will be asked if you wish the contents of the backup to be copied to the iPad/iPod.  Again, say "yes."
    Connectez-vous via le câble à l'ordinateur que vous utilisez pour la synchronisation. A partir d'iTunes, sélectionnez l'iPad / iPod, puis sélectionnez l'onglet Résumé. Suivre les indications pour la restauration et assurez-vous de dire «oui» à la sauvegarde. Vous serez averti que toutes les données (applications, musique, films, etc) seront effacées, mais, comme les finitions de restauration, il vous sera demandé si vous souhaitez le contenu de la sauvegarde à copier à l'iPad / iPod. Encore une fois, dire «oui».
    Sorry for my French.  I'm an American!
    Désolé pour mon français. Je suis un Américain!

  • Comment récupérer de données mac sur clé usb formatée en FAT32

    Bonjour,
    mon soucis est que lorsque j'insère ma clé usb sur mon ordinateur portable mac, le voyant clignote mais un message apparaît disant que la clé est illisible et qu'il faut l'initialiser.
    Les données sont importantes, est-il possible de récupérer les données?
    Je travaille sur mon mac et j'enregistre les documents en format mac sur ma clé sony qui a été formatée, je crois, en FAT32.
    Merci d'avance pour votre aide.
    Cordialment,

    Bonjour,
    merci de votre réponse, mais je souhaite justement accéder à ma clé USB pour récupérer les documents. Si je reformate la clé comme vous le proposez, je les perds. Et c'est justement ce que je cherche à éviter.
    J'ai essayé de faire tourner des logiciels de récupération téléchargés gratuitement sur internet comme Testdisk, Wondershare ou applexsoft. Ils détectent la clé mais pas le contenu. Par ailleurs, il n'y a plus de partition sur la clé.
    Avez-vous une solution?
    Cordialement,

  • Comment récupérer une vidéo supprimée? Je n'ai pas de sauvegarde

    J'ai supprimé mon vidéo de mon ipad, je n'ai pas de sauvegarde dans iTune et les software disponible sur le web n'ont pas fonctionné.  Y a t-il une autre solution pour récupérer mon vidéo sur mon ipad?

    Google translate:
    Hello, my ipod is blocked but I do not have iCloud backup because no other apple product and I do not ais computer. How to unlock?
    If you don't have access to a computer
    If you are using Find My iPhone, you can use Remote Wipe to restore your device. If you have been using iCloud to back up, you may be able to restore the most recent backup to reset the passcode.
    You can do it with a computer and internet connection if the iPod also has an internet connection. You can also do it via the FindMyiPhonr app on another iPod, iPhone or iPad.. If you restore via a computer, the computer has to have iTunes and an interent connection.
    Si vous n’avez pas accès à un ordinateur
    Si vous utilisez la fonctionnalité Localiser mon iPhone, vous pouvez procéder à un effacement à distance pour restaurer votre appareil. Si vous avez précédemment utilisé iCloud pour procéder à une sauvegarde, il est possible que vous puissiez restaurer la dernière sauvegarde afin de réinitialiser le code.

Maybe you are looking for