le 02-22-2013 05:19 AM
Bonjour,
J'ai un soucis de virgule et de point entre deux versions de labview. J'ai un petit programme qui génère des nombres à virgule et que je stocke dans un fichier.
Pour la version 8.2 de labview, les nombres sont stockés dans fichier avec un point comme séparateur décimal.
Pour la version 10 de labview, le même programme enregistre les nombres avec une virgule comme séparateur décimal.
Les deux programmes tournent sur le même PC et celui a comme séparateur décimal la virgule dans les optins régionales.
Pour les deux versions de labiew, j'ai dans outils->options-> face avant -> cocher utiliser le séparateur décimal local.
Je n'arrive pas à comprendre pour l'un génère des points et l'autre des virgules.
Merci de votre aide.
Djamel
Résolu ! Accéder à la solution.
02-22-2013 05:56 AM - modifié 02-22-2013 05:59 AM
bonjour,
Faire le test dans le fichier ini (dans l'exemple l'exe porte le nom >>> MonAppli.exe)
dans MonAppli.ini
mettre
[MonAppli]
useLocaleDecimalPt=False
ou true...
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 02-22-2013 07:21 AM
Merci pour cette réponse mais je ne génère pas d'executable. Je ne peux donc pas faire cette opération de modification du fichier ini.
Cordialement.
Djamel
02-22-2013 08:41 AM - modifié 02-22-2013 08:41 AM
Bonjour,
Tout d'abord, sur chaque labview, lorsque tu écris un nombre à virgule, sont-ils tout les deux avec des virgules comme séparateurs décimal ?
Si oui, le problème peut venir de la fonction "Formater en chaîne" qu'utilise le vi "Écrire dans un fichier de mesures".
Cette fonction passe un nombre (double précision ici) en chaîne.
Dans la fonction, on peut choisir de spécifier le caractère du spérateur décimal :
Clic-droit > Éditer la chaine de format > Ajouter une nouvelle opération > Choisir dans la liste déroulante "Opération sélec..." la valeur "Spécifier le caractère du séparateur décimal".
Peut-être que sur Labview 8.2 cette valeur est forcée avec le point.
Essai la fonction toute seule pour voir si ça marche avec et sans l'option sur tes deux labview.
Ensuite, je sais pas si tu as fait expret, mais dans ton exemple tu retournes 10 fois les mêmes valeurs dans ton fichier.
Sinon pour enregistrer des données dans un fichier je préfère utiliser la deuxième méthode du vi en pièce jointe.
le 02-22-2013 09:11 AM
Djamel_LFC a écrit :
Pour les deux versions de labiew, j'ai dans outils->options-> face avant -> cocher utiliser le séparateur décimal local.
>>>> nous pouvons penser que tu veux utiliser le séparateur décimal de ton OS
Djamel_LFC a écrit :
Les deux programmes tournent sur le même PC et celui a comme séparateur décimal la virgule dans les optins régionales.
>> le séparateur est la virgule
Djamel_LFC a écrit :
Pour la version 8.2 de labview, les nombres sont stockés dans fichier avec un point comme séparateur décimal.
donc le vi que tu utilises en LV8.2 n'utilise pas le séparateur décimal local mais force le "."
Le code doit être différent en LV2010
Tu utilises les vi express. as-tu regarer le code dans le vi?
En LV2009 je vois un correctif
139239 - The Read lvm/tdm Express VIs Error on French OS
dans le code du vi express, il y a un vi "ex_GetSystemDecimalSeparator.vi" qui je pense corrige un bug du séparateur décimal forcé à "." avant LV2009 (doc LV8.2)
il est même noté "CAR:139239" de le code LV2010 du vi express.
Pour moi donc un bug dans la 8.2
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 02-22-2013 10:46 AM
Merci à Luc Desruelle et à Kaleck0, j'avais pensé à un bug de ma version labview 8.2 sans être sûr de moi.
Bonne fin de journée.
Djamel