Aide vb sur les chaines de characteres

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 562 fois - Téléchargée 42 fois

Contenu du snippet

Voila je desire extraire des chaines de characteres via le separateur / et copier se ki se trouve entre les / et le coller dans des fichiers *.000 jusk au nombre de seprataion /
en fait le fichier sur lekel j extrait ressembla a sa
/la ya du texte c est cool//et la encore un autre 001//la 002//.../
Donc je doit separer cette chaine en 4 partie
1-la ya du texte c est cool
2-et la encore un autre 001
3-la 002
4-...
c est 4 partie vont etre stocker ds des fichier .000 .001 .002 .003
Voila je suis debutant si vous avez des sources qui peuvent m aider merci d avance.

A voir également

Ajouter un commentaire Commentaires
Messages postés
93
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
22 juillet 2006

Effectivement c'est plus simple, mais sous VB5 (Ben oui, c'est dans les vieux pots que l'on fait les meilleures soupes !) Split n'existe que pour les DBGrid. Mais je pense que je vais reprendre l'idée et me programmer une fonction de ce type.

@+
Messages postés
43
Date d'inscription
mardi 22 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2003

Y'a plus simple:
dim texte()
texte=split(laPhrase,"/") ' texte() est rempli par les phrases qui étaient séparées par "/" - les "/" ont étés enlevés
for a=0 to ubound(texte)-1
open "c:fichier." & right("000" & a,3) for output as #1
print #1,texte(a)
close #1
next

Et voilà !
Messages postés
93
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
22 juillet 2006

Tout d'abord ne confond pas Forum et sources... ceci dit tu crées un nouveau projet avec un bouton de commande dans lequel tu tapes le code suivant :

' //---- Début du code
'----- Déclaration des variables locales
Dim Msg As String '----> Chaine avec le texte à traiter
Dim Ind As Integer '----> Entier qui contiendra la position des slashs dans la chaine
Dim Cpteur As Integer '----> Compteur pour les fichiers
Dim Numfic As Long '----> Numéro d'enregistrement du fichier

'----- Initialisation de la chaine (pour le test uniquement"
Msg = "/la ya du texte c est cool//et la encore un autre 001//la 002//.../"

'----- On initialise cpteur à -1 parce qu tu veux commencer à 0
Cpteur = -1

'----- On enlève le(s) slash(s) initial(aux) s'il y en a
If Left$(Msg, 1) = "/" Then
Do
Msg = Mid$(Msg, 2)
Loop Until Left$(Msg, 1) <> "/"
End If

'----- Recherche du premier slash (il déterminera également la fin de la première série de caractères
Ind = InStr(Msg, "/")
Do While Ind <> 0 '----> boucle do loop (on ne sait pas de combien d'élément est constitué la chaîne
Cpteur = Cpteur + 1 '----> incrément de compteur, le premier fichier sera .000
Numfic = FreeFile '----> numéro de canal pour le fichier
Open "c: emp estmonfic." + Format(Cpteur, "000") For Output As Numfic '----> ouverture du fichier en écriture
Print #Numfic, Left$(Msg, Ind - 1) '----> envoie de la chaîne lue dans le fichier
Close Numfic '----> fermeture du fichier, on n'en a plus besoin
Msg = Mid$(Msg, Ind + 2) '----> on enlève de la chaîne de caractère l'élément enregistré
Ind = InStr(Msg, "/") '----> on détermine où se trouve le prochain slash
Loop '----> on reprend la boucle si un slash a été trouvé

' //---- Fin du code

J'ai commenté le code pour que tu t'y retrouves un peu.

@+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.