barley
Messages postés107Date d'inscriptionjeudi 28 janvier 2010StatutMembreDernière intervention28 janvier 2010 17 déc. 2004 à 02:08
labout, je suis d'accord concernant le fait que cette technique te permette de sortir une fois arrivé a la ligne que tu souhaite, mais tu es quand même obligé de scruter les lignes précédentes avec cette technique...
autrement dit, si ton fichier contient 100 lignes et que tu souhaite lire le contenu de la ligne 98, tu gagne 2 lignes de scrutation, pas très efficace...
je me trompe peut etre...
la technique que tu décris permet effectivement de gagner du temps, mais elle ne permet pas d'aller directement a la ligne désirée comme cela était demandé.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 17 déc. 2004 à 08:49
D'ou mon idée de constituer un fichier index des lignes dans le fichier !!
Cela oblige à lire une première fois le fichier pour repérer tous les retour-chariot et noter leur offset. Ensuite, si tu veux aller à la ligne 98, tu lit le 98ieme enregistrement du ficheir index, tu obtient l'offset dans le fichier d'origine, et tu n'as plus qu'à lire dasn ce ficheir à partir de cet offset, jusqu'au prochain retour-chariot pour avoir la 98ieme ligne.
La création de l'index est pénalisante, mais ensuite elle permet un accès très rapide à n'importe quelle ligne du fichier !
Christophe R.
Vous n’avez pas trouvé la réponse que vous recherchez ?
barley
Messages postés107Date d'inscriptionjeudi 28 janvier 2010StatutMembreDernière intervention28 janvier 2010 17 déc. 2004 à 16:34
Ca c'est bien joué, mais bon, ce n'est valable que si tu as a retourner encore dans le fichier.
ca m'interesse quand meme ton idee, tu peux montrer un petit exemple de cette appli, si tu en as un sous la main biensur, sinon, te prends pas la tete...
Merci crenaud pour tes indications precieuses
a plus
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 17 déc. 2004 à 23:17
Ben j'ai pas de code tout fait, en fait, cette idée m'est venu en lisant cette question !
Mais ce n'est vraiment pas bien compliqué ! A vue d'oeil, je dirais que sans compter tout ce quiet gestion des cas particulier ou des erreur possible, c'est une source de 50 lignes de code au grand maximum.Si vraiment cela vous intéresse ....