Spliter des chaines: EOF KO ?

Résolu
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 23 août 2004 à 15:34
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 24 août 2004 à 09:47
LaComm
Salut à tous,

Je voudrais spliter des chaines de caractères dans un textbox, en prenant le point comme critère. Ca marche très bien si le textbox est en uniligne, mais je dois fonctionner en multiligne. Pour l'instant je fais ceci:

dim texte, textsplit () as string
(je mets le textbox dans un fichier #1)
Do until EOF (1)
Line Input #1, texte
' je splite
textsplit= Split(texte, Chr$(46))
' je copie ça dans un fichier
for i = 0 to 1
print #2, textsplit (i)
next i
loop

Ca marche très bien quand j'ai pas plus de deux phrases sur une ligne:

je suis. tu es.
il est.
nous sommes. etc

Par contre, si j'ai :

je suis. tu es. il est.
nous sommes. vous êtes.
ils sont.

le 'il est' est oublié. Et si je mets 'for i = 0 to 2', j'ai un 'run-time error 9, subscript out of range, avec le textsplit (i) surligné. J'ai l'impression que le fichier #1 arrive à la fin avant que le travail ne soit achevé et que EOF veut dire 'dernère ligne du fichier' plutôt que 'dernier caractère'.
Merci d'avance.

2 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
23 août 2004 à 15:46
Bonjour

For i = LBound(TextSplit) To UBound(TextSplit)
Print #2, TextSplit (i)
Next i
Loop
3
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
24 août 2004 à 09:47
LaComm
Et un grand merci à Rene38 et à bientôt pour de nombeuses autres questions !
0
Rejoignez-nous