le 08-09-2016 02:56 AM
Bonjour,
J'essaye de mettre en forme un fichier de résultats.
J'arrive presque à faire ce que je veux c'est à dire:
- Prendre les 511 premiers caractères
- Faire des blocs de 8 caractères et les mettre à la ligne
- Prendre le reste du fichier
- Faire des blocs de 12 caractères et les mettre à la ligne
- Séparer chaque ligne en bloc de 4.
Je donne un exemple, cela sera plus clair.
1ere partie:
12120000
6c3e0001
6c000000
0c040000
0bb00000
...
2eme partie
01f1 986d 4e25
...
C'est au niveau de cette dernière étape que je bloque. En effet lorsque je découpe les blocs de 12 en 4 caractères, labview compte aussi le retour chariot...
Je vous joins mon vi et le fichier à traiter.
Merci beaucoup
le 08-09-2016 04:35 AM
Salut salut,
Je n'ai pas LabVIEW sous la main, mais je vais essayer de te répondre au mieux sans avoir vu ton VI.
Tes blocs de 8 fonctionnent, je m'intéresse à partir de la partie 2:
Actuellement tu fais des blocs de 12 que tu souhaites rédécouper. Tu découpes quelque chose déjà découpé en somme. Il me semblerait plus efficient de découper dès le début en 3 bloc de 4.
Simplement, encapsuler une boucle for dans une boucle while. La boucle while permet d'épuiser tous les caractères restant à ton fichier de .txt. La boucle for prend en entrée un tableau de 3 caractères: [espace][espace][retour chariot]. Elle tourne donc 3x à chaque itération de la boucle while car tu auras régler l'entrée de ce tableau de cst en "indexing" en entrée de la boucle for.
Ta boucle for a pour mission de prendre 4 caractères, puis d'y adjoindre un caractère de ce tableau de constante. Ainsi tu construiras directement une chaîne de 12 caractères séparés comme tu le souhaites. XXX[espace]XXX[espace]XXX[chariot]XXX[espace]XXX[espace]...etc
Je profite de mon tableau pour te faire un petit schéma récapitulatif 🙂
En espérant que ma solution résolve ton problème!
le 08-09-2016 08:00 AM
Merci beaucoup pour ton idée et ton tableau ![]()
Je vais tenter de mettre ca en oeuvre car la j'ai fiat une usine à gaz...
le 08-09-2016 09:35 AM
Question bete mais je n'arrive pas à créer le tableau de 3 caractères: [espace][espace][retour chariot].
J'ai tenté de mettre une constante tableau avec une chaine vide dedans puis d'y ajouter la cst espace et retour chariot mais cela ne fonctionne pas.
Si quelqu'un peut m'aider?
Merci
			le 
    
	
		
		
		08-10-2016
	
		
		01:47 AM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 - dernière modification le 
    
	
		
		
		07-14-2025
	
		
		12:07 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 par 
				
		
		
			Content Cleaner
		
		
		
		
		
		
		
		
	
			
		
Salut,
Je pense que tu as essayé de mettre directement les constante que LabVIEW propose en icône. Je n'ai jamais essayé mais je ne pense pas que cela marche!
Ces constantes que LabVIEW propose sont équivalentes à des constantes en code (\) dont voici les principales:
https://www.ni.com/docs/fr-FR/bundle/labview/page/backslash-codes-display.html
Dans ton cas tu auras donc à faire un tableau constitué des 3 éléments suivants: \s, \s, \r.
En espérant que cela te permette de mettre en pratique l'architecture que je t'ai conseillé hier 🙂 N'hésite pas si tu as un problème!
le 08-10-2016 02:30 AM
Cela fonctionne avec la constante "espace" mais pas "retour chariot"...
J'ai tenté avec \CR etc mais sans succés.
Merci pour le lien, je devrais pouvoir m'en sortir.
le 08-10-2016 03:03 AM
Salut,
Peut être que le retour chariot n'est pas le caractère pour ton application. As tu essayer avec un \n? Je ne manipule pas souvent des strings et je me plante systématiquement avec ces deux là... Fais des tests, et tu verras bien, je suis sur que tu vas y arriver 🙂
Bon courage 🙂