Doublons

[Résolu]
Signaler
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014
-
Messages postés
30
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
11 août 2009
-
Bonjours à tous,

J'ai une chaine de caratère numérique à traiter dans un fichier texte du style 0100100001000010

Je dois traiter 4 caractères à la fois et m'assurer qu'il n'y est qu'un seul 1. Dans le cas ou il y en aurait deux, je dois changer le deuxième en Zéro.
J'aimerais donc savoir si il existe une ou des fonctions en visual Basic 6 permettant de faire ce type de traitement.

Exemple :
Je traite : 0101
j'ai donc 2 x le chiffre 1 donc apres le traitement je voudrais qu'il donne : 0100

Merci de votre aide

Bonne journée !

5 réponses

Messages postés
30
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
11 août 2009

salut
tu peux peut-être utiliser la fonction Left
en fait elle te permet de lire un certain nombre de caractères d'un chaine en commençant par la gauche. exemple :

line input #1, chaine       'lire la premiere ligne de ton fichier
mot = Left(chaine, 4)      ' tu prends les 4 premiers caracteres à gauche et tu
                                          'les mets dans mot (variable string)

 
tu pourrais commencer comme ça

si tu veux il y a un tutoriel sur la manipulation de chaines de caracteres :

http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/
Messages postés
30
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
11 août 2009

c'est encore moi
je voulais dire que la fonction Mid suffit à elle seule à regler le probleme je pense
en effet en faisant

mot = Mid ("010100111000100110", 4, 4)

on ne recupere que les caracteres 4 à 8 soit ici : "0011"
voila
salut
Messages postés
30
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
11 août 2009

bon courage
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014

Merci beaucoup de la rapidité de ta réponse.

Je consulte ton lien, il est tres utiles

Merci encore

Bonne journée !!
Messages postés
30
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
11 août 2009

re

utilise la fonction Mid

elle te permet de prendre des caractères à l'intérieur d'une chaine

mot = Mid(chaine, 4)         'recupere tous les caracteres contenus 
                                         'dans chaine à partir du 4eme

du coup tu peux alterner left et mid jusqu'au bout de ta ligne

enfin voila j'espere que ça t'aidera
peut-être qu'il y a d'autres façons de faire je ne sais pas

mais regarde le tutoriel toutes les fonctions y sont (il faut cliquer sur Lien)

bon courage pour la suite