Recherche d'une ligne dans un fichier.

cs_aldoaldo Messages postés 7 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 23 mars 2004 - 18 mars 2004 à 11:09
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 - 18 mars 2004 à 22:55
Bonjour

Voilà, je débute en VB et je suis confronté à un petit problème:
Je ne sais pas comment utitliser le pointeur de mon fichier à accés séquentiel pour lire la ligne que je veux et notamment remonter vers le début du fichier.
Alors si une bonne âme peut me dépanner rapidement ce serait plutôt sympathique.
Merci d'avance et bonne continuation!!

AldoAldo.

9 réponses

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
18 mars 2004 à 13:20
Salut,

remonter au début, je ne vois pas comment faire sans fermer le fichier puis l'ouvrir de nouveau a ce moment la il va pointer sur le debut du fichier (mais si un jour tu trouves le moyen de le faire sans cette procédure et sans le fermer par l'instruction "Close" je suis preneur). Sinon va voir sur : http://www.vbfrance.com/code.aspx?ID=8325, pour le reste.
l'acces se trouve dans le form_load.
bonne prog
liquide
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
18 mars 2004 à 13:52
Tu ne peux pas "remonter" le cours du fichier, mais tu peux mettre toutes les données de ton fichier dans un tableau et remonter les lignes de ton tableau. C'est beaucoup plus rapide au niveau du traitement.

Manu
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
18 mars 2004 à 14:14
Bonjour

Open "D:\Chemin\Fichier.ext" For Input As #1
Line Input #1, Ligne 'Lit la 1ère ligne
Line Input #1, Ligne 'Lit la 2ème ligne
'.....
' Positionne le pointeur sur le 1er octet du fichier
Seek #1, 1
Line Input #1, Ligne 'Lit la 1ère ligne
0
cs_aldoaldo Messages postés 7 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 23 mars 2004
18 mars 2004 à 15:53
Salut rene 38
Que se passe-t-il si j'écrit seek #1,2?
Le deuxième octet est sur la même ligne ou sur la ligne d'après?
0

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

Posez votre question
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
18 mars 2004 à 16:39
Seek #1, 1 te permet de retourner au début du fichier.
Après, tu peux recommencer la lecture sans avoir à fermer puis ré-ouvrir le fichier.
Si la 1ère ligne du fichier contient "Salut",
Seek #1, 1 te positionne sur le S de Salut
Seek #1, 2 sur le a de Salut
et si tu fais (Line) Input #1, Ligne, tu obtiens "alut" !
0
cs_aldoaldo Messages postés 7 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 23 mars 2004
18 mars 2004 à 17:39
Merci bien, ça me parait très clair, je vais pouvoir me débrouiller.
Une dernière chose, est-il possible d'avoir deux pointeurs dans un fichier à acccès séquentiel pour par exemple écrire à la suite de la dernière ligne tout en lisant une autre ligne à un autre endroit du fichier, ou faut-il déplacer le même pointeur??
Encore merci...
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
18 mars 2004 à 17:54
Un fichier séquentiel peut être ouvert de 3 façons exclusives les unes des autres :
- Lecture (Input)
- Ecriture (Output)
- Ajout (Append)

Seul un fichier ouvert en mode aléatoire (Random) ou binaire (Binary) est ouvert à la fois en lecture et écriture.
0
cs_aldoaldo Messages postés 7 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 23 mars 2004
18 mars 2004 à 20:58
d'accord mais est-ce qu'on peut faire les deux actions en même temps avec 2 pointeurs??
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
18 mars 2004 à 22:55
NON

de 3 façons exclusives les unes des autres
0
Rejoignez-nous