Kes ki va pas ds ce code HELPPP!!!

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 25 janv. 2003 à 12:23
cs_swic Messages postés 22 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 12 mai 2003 - 26 janv. 2003 à 00:15
Dim titre, typ
Open "liste.txt" for input as #1
do while not eof (1)
input #1, titre, typ
Loop
close #1

qd je le lance vb5 me dit "l'entree depasse la fin du fichier"

le contenu de mon txt :
plusieur ligne genre
"titre","type","resumer",etc...

En plus ca marche la veille?? comprend pas

1 réponse

cs_swic Messages postés 22 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 12 mai 2003
26 janv. 2003 à 00:15
Ben...
Dans le code que tu as écrit, chaque enregistrement (terminé par CrLf) ne doit comporter que deux données : Titre et type.
Dans ton exemple, tu vas te retrouver avec le champ "résumé" dans ta variable Titre, à la prochaine itération, et donc, décaler la lecture, jusqu'à ce que , d'une façon aléatoire, tu lises le dernier champ du fichier avec la variable "Titre", et que tu sois en fin de fichier au moment de lire le fichier avec la variable "Typ"...
(Pas évident à expliquer...)

En bref, si tu ne veux lire que les deux premiers champs d'un enregistrement qui en comporte une quantité variable, essaie le code suivant :

Dim strBuffer as string
Dim aChamps() as string
Dim iCanal as integer

iCanal=freefile
open "Liste.txt" for input as iCanal
Do while not eof(iCanal)
line input #iCanal,strBuffer
aChamps=split(strBuffer,",")
' aChamps(0) correspond à ta variable "Titre"
' aChamps(1) correspond à ta variable "Typ"
' (s'il y a un risque de l'enregistrement soit vide, tester strBuffer)
loop
Close #iCanal

(faudra virer les " de début et de fin de champs, par ailleurs)

A+
Chris
0
Rejoignez-nous