La comparaison ds le fichier ne se fait pas

cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010 - 11 mai 2006 à 10:30
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010 - 11 mai 2006 à 14:24
Miss1
salut j'ai fais un code en vb6 le pb c'est qui bugg et que je ne vois pas comment remédier a cette solution.
1) le code doit ouvrir un fichier "toto.txt"
2) il doit lire la premiere ligne
3) retirer les infos que je souhaite (split)
4) merttre ses infos ds des varibles et les conserver
5) fermer le fichier
6) ouvrir a nouveau "toto.txt"
7) comparer si les variable sont identique a chaque ligne.(lie ligne par ligne et comparer sur chaque ligne)
8) si c'est identique modifier copier la ligne et la modifier sinon passer ligne suivante.
9)fermer fichier

voici le code le pb c'est qui ne reconnait pas les valeurs ds le split et le teste ne fonctionne pas:
' variable
ligne = ("C:\toto.txt")
fichier = FreeFile
Open ligne For Output As #fichier
Line Input #fichier, ligne

a = Split(st, ";")(0)
d = Split(st1, ";")(0) ' demande 1er mot

b = Split(st, ";")(3)
e = Split(st1, ";")(3)

c = Split(st, ";")(4)
f = Split(st1, ";")(4)

i = Split(st, ";")(5)
j = Split(st1, ";")(5)


Close #fichier

ligne1 = ("C:\toto.txt")
fichier1 = FreeFile
Open ligne1 For Output As #fichier1
Line Input #fichier1, ligne1
If InStr(a, d) Then
a = d
MsgBox "c identique"
If InStr(b, e) Then
b = e
MsgBox "c identique"
If InStr(c, f) Then
c = f
MsgBox "c identique"
If InStr(i, j) Then
i = j
MsgBox "c identique"
Else: MsgBox "on modifie"
End If
End If
Else: 'ligne suivante
End If

End If
Close #fichier1
End Function
merci de bien vouloire m'aider

6 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
11 mai 2006 à 13:18
Salut,
C'est normal que cela ne marche pas tu récupères la première ligne dans la variable ligne et toi tu split st et st1 dont je ne sais pas d'ou il sortent.
C'est pas très clair ton affaire...

dim MaLigne as string
dim a() as string
dim d as string
dim e as string
dim f as string
dim j as string
Open ligne For Output As #fichier
Line Input #fichier, MaLigne

a = Split( MaLigne , ";")
d = a(0) ' demande 1er mot

<STRIKE> b = Split(st, ";")(3)</STRIKE>
<STRIKE> e = Split(st1, ";")(3)
</STRIKE> e = a(3)

<STRIKE> c = Split(st, ";")(4)
f = Split(st1, ";")(4)</STRIKE>
f = a(4)

<STRIKE> i = Split(st, ";")(5)
j = Split(st1, ";")(5)
</STRIKE> j = a(3)

Close #fichier
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
11 mai 2006 à 13:19
arf j = a(5) plutot
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
11 mai 2006 à 13:23
Vous êtes bien sûr ?????



Open ligne For Output As #fichier
Line Input #fichier, MaLigne

Daniel
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
11 mai 2006 à 13:30
J'ai zappé la l'instruction Open, bien vu Daniel !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
11 mai 2006 à 13:53
Miss1
je suis pas tres douer mais il me dit un tableau et attendu,jecomprend pas pkoi
e = a(3)?
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
11 mai 2006 à 14:24
maintenant j'arrive a ouvrir mon fichier et a lui demander de retirer les valeur snum 0,2,4,5 de la ligne et de les mettre ds une variables. maintenant je cherche a faire je cherche comment comparer les variable a,b,c,i ds les ligne suivante et si c variable (cad se qui a dedans )st identique il faut modifier sinon continuer
fic = "C:\tti.txt "
Dim uiop As Integer
uiop = FreeFile
Open fic For Input As #uiop
Line Input #uiop, st

a = Split(st, ";")(0)
b = Split(st, ";")(2)
c = Split(st, ";")(4)
i = Split(st, ";")(5)

close #uiop
0
Rejoignez-nous