AIDE VB SUR LES CHAINES DE CHARACTERES

DragonDo Messages postés 93 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 22 juillet 2006 - 30 avril 2002 à 13:44
DragonDo Messages postés 93 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 22 juillet 2006 - 1 mai 2002 à 09:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/3146-aide-vb-sur-les-chaines-de-characteres

DragonDo Messages postés 93 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 22 juillet 2006
1 mai 2002 à 09:45
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.

@+
cs_KevinK Messages postés 43 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 9 janvier 2003
30 avril 2002 à 16:22
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à !
DragonDo Messages postés 93 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 22 juillet 2006
30 avril 2002 à 13:44
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.

@+