12-07-2010 06:52 AM - modifié 12-07-2010 06:53 AM
"TOA5","CR1000","CR1000","2860","CR1000.Std.17","CPU: Projet météo.CR1","64584","Public"
"TIMESTAMP","RECORD","BattV","BP_kPa","AirTC","RH","WS_kph","WindDir"
"TS","RN","Volts","kPa","Deg C","%","kilometers/hour","Degrees"
"","","","","","","",""
"2010-11-27 10:27:14.44",257,12.14808,61.78909,22.408,36.154,0,0.02405149
le 12-07-2010 07:27 AM
Bonjour,
Je n'ai pas CVI installé ici, mais en gros, je vous conseille d'effectuer ce genre de chose :
Utiliser les expressions régulières est plus efficace que de découper la chaîne suivant les espaces, ou autre caractères, car on peut vraiment vérifier que l'on a les données correctes dans le fichier.
SI j'ai le temps je vous fait un exemple de soir.
Cordialement,
le 12-07-2010 12:53 PM
Merci pour ta réponse.
En revanche, j'attenderais ton exemple avant de me lancer dans quelque chose car je n'ai pas vraiment compris l'utilité et comment utiliser cette fonction.
Cordialement, Frédérick.
le 12-10-2010 02:04 AM
Bonjour,
Merci d'avoir posté sur les forums NI.
En vérité, votre problème est davantage du ressort du langage C pur. La solution de Maxime marchera sans aucun doute (attention, il faudra rajouter la librairie .fp pour trouver la fonction ReExpr_FindPatternInText), tout comme la fonction FindPattern.
Avec des fonctions plus bas niveau, on pourra retrouver l'architecture suivante :
/* Architecture pour recueillir les données dans un tableau dans CVI*/ char text[][]; char line[]; int i,j; Definir fichier; Open fichier; While(fin de fichier !=0){ Lire ligne; while(fin de ligne !=0){ Get caractere; while(caractere != ','){ text[][]=line[]; i++; } Passer caractere; } } Afficher(text[]); /* Puis traiter vos données... */
Encore une fois, cela dépendra de votre façon de penser en algorithmique !
Cordialement,
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.