hhhp2004
Messages postés173Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention13 octobre 2007
-
27 nov. 2004 à 20:17
hhhp2004
Messages postés173Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention13 octobre 2007
-
27 nov. 2004 à 23:20
hhhp2004
salut,
jai un gros gros gros fichier txt (250 mb) dans lequel il y a quelque dizaines de millions de lignes ......
comme je ne peux pas ouvrir un tel monstre avec notepad(ca donne une erreur) ni meme avec word (ca lui a pris a peu pres 1 heure pour le charger),alors jai moi meme bricolé un petit prog qui marche bien a qui je donne le numero de la ligne et il me renvoie le contenu
(jai utilisé line input, donc il doit lire chaque ligne avant de donner une reponse) mais je voudrais loptimiser encore..... ca lui prend environ 9 min pour lire toutes les lignes ........... MAIS le probleme avec line input (en tout cas, je crois) cest quil doit lire la premiere ligne pour se rendre a la ligne desiré. exemple, il y a 10 lignes, et je veux me rendre a la 9 ieme, avec line input tel que je le connais il doit commancer a la 1 ere ligne, ensuite la 2ieme,3ieme ........ 9 ieme.
comment je fais pour commencer a lire a partir de la 5 ieme ?
voici le code que jutilise :
Open quelDossier For Input As #1
Do While Not EOF(1) And txtNumeroligne.Text <> ligne
Line Input #1, contenuLigne
DoEvents
ligne = ligne + 1
If txtNumeroligne.Text = ligne Then
txtzonetext.Text = contenuLigne
End If
Loop
Close #1
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 nov. 2004 à 21:09
Salut hhhp2004
Non, ce n'est pas possible en accès séquentiel.
Est-ce que toutes tes lignes ont la même longueur ?
Si oui, alors tu peux passer en mode Binary et lire directement le n° d'enregistrement (en précisant la longueur standard d'un enregistrement à la fin du Open : voir aide).
Vala
Jack
NB : Je ne répondrai pas aux messages privés
hhhp2004
Messages postés173Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention13 octobre 2007 27 nov. 2004 à 23:20
hhhp2004
salut et merci davoir repondu !
non, les lignes nont pas toutes la meme longueur ...
est ce que ca serait possible de commancer a lire le fichier a partir de la fin ? par exemple, il y a 10 lignes, et je veux me rendre a la 8 ieme, mais je veux quil commence a regarder a partir de la 10ieme, ensuite 9, 8 ?