Accueil > Forum > > > > lecture rapide dans un fichier txt
lecture rapide dans un fichier txt
jeudi 4 mai 2006 à 10:57:03 |
lecture rapide dans un fichier txt

depelek
|
Bonjour,
J'aurais une question bien spécifique.
J'enregistre un fichier *.txt avec la fonction :
Open Combmulti For Output As #2
Write #2, a, b, c, d
close #2
j'ai enregistré environ 3 millions de lignes avec donc sur chaque ligne la donnée a b c et d.
Le problème c'est que je voudrais lire la ligne 215542 et puis revenir à la ligne 1124 sans être obligé de lire le fichier complet à chaque fois et être obligé de le fermer et de le réouvrir.
Ma question est donc : est ce que l'enregistrement de départ est bon ou doit je le modifier???
Et qu'elle est la fonction pour lire dans un fichier plusieurs ligne à différents endroit sans être obligé d'ouvrir et de fermer le fichier à chaque fois
Merci pour vos infos
A+
|
|
jeudi 4 mai 2006 à 11:39:04 |
Re : lecture rapide dans un fichier txt

zeunz
|
slt, voici un bout de mon code. j'ouvre un fichier avec la fct readline (lecture de ligne par ligne) et puis le ferme a la fin. tu peux dc changer le code en mettant une boucle for avec un compteur par exemple. (en remplacant la boucle Do). alors comme tu as un bon paquet de ligne, ca risque certainement de ramer un peu....beaucoup... si qqun a d'autres proposition.... bye, zeunz.
'Déclaration des variables Dim Lecture As String Dim TxtFile As Object dim Fso as new filesystemobject
'Ouverture du fichier existant Set TxtFile = Fso.OpenTextFile(CheminFichier, ForReading, True)
'Chargement des données If Not TxtFile.AtEndOfLine Then 'Analyse des données Do 'Lecture des données Lecture = TxtFile.ReadLine Loop While Not TxtFile.AtEndOfLine End If
'Fermeture du fichier en écriture. TxtFile.Close
|
|
jeudi 4 mai 2006 à 11:52:14 |
Re : lecture rapide dans un fichier txt

depelek
|
Ben oui je sais que ça risque de ramer!!!
Le problème c'est que la fonction doit être rapide!!
Je me souviens quand je programmais en quikbasic j'avais une fonction du genre :
OPEN "r", #2, "c:\*.dat"
GET #2, numéro de ligne, variable$
close #2
Et ça, ça marchait nikel et c'était rapide
Alors en clair je recherche le même genre mais pour vb
Merci
A+
|
|
jeudi 4 mai 2006 à 11:58:35 |
Re : lecture rapide dans un fichier txt

zeunz
|
ouais je capte ce ke tu veux dire. regarde ds d'aurtres messages du forum sur get, il y en a justement. car je ne ss pas un specialiste de cette fct. good luck zeunz  
|
|
jeudi 4 mai 2006 à 12:51:12 |
Re : lecture rapide dans un fichier txt

NHenry
|
Bonjour VB est lent par sa nature. En quel VB tu code ? Il s'est écoulé bcp de temps depuis QB (le bon vieu temps sous DOS  ) Et je n'ai jamais utilisé ce type de commande. Et l'exemple donné par zeunz utilise FSO qui est lent aussi, donc le code en VB sera très lent. Si tu veux du rapide tourne toi vers C++ ou autres langages plus rapide que VB, sinon acommodes-toi-en. Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation) Une question se pose sur le forum, pas en privé NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
|
|
jeudi 4 mai 2006 à 12:58:01 |
Re : lecture rapide dans un fichier txt

daetips
|
Réponse acceptée !
get#2, debut,mastring
or debut, c pas le numéro de ligne, mais le numéro de caractère, donc si chaque ligne a une longueur constante, tu peux faire un petit calcul...
Daetips
|
|
jeudi 4 mai 2006 à 15:10:17 |
Re : lecture rapide dans un fichier txt

JIPERE
|
Il y a très longtemps, on créait un fichier index, qui permettait de faire cela.
Si le fichier ne change pas trop, on lit le fichier par enreg de 16Ko (par ex), et on compte toutes les lignes (CHR(13)=fin de ligne) et
toutes les 1000 lignes par EX, on écrit le nombre d'enregistrements de 16k qu'il a fallut, ainsi jusqu'à la fin du fichier, chaque index est écrit dans un fichier.
ce fichier sera chargé et utilisé pour accélérer le pointage sur le, gros fichier. il donnera accés à un début de 1000 lignes, mais il faudra débiter les blocs en enregistrements pour retrouver l'1 des 1000 enregistrements?
Je n'ai pas mieux, mais c'est ce qu'il y a de plus performant.
|
|
jeudi 4 mai 2006 à 16:33:19 |
Re : lecture rapide dans un fichier txt

depelek
|
Pour compléter la réponse de daetips,
j'ai fait le code suivant :
f$ = "C:\nouveau.txt"
l=1
Open f$ For Random As #2
'permet d'enregistrer mes 4 chiffres dans une même combinaison
comb$ = comb$ + a$ + b$ + c$ + d$
'enregistrement dans fichier
Put #2, l, comb$
l = l + 1
'lecture fichier à la 549ème ligne directement
Get #2, 549, combin$
Voilà!!! je peux lire dans n'importe quel ordre sans refermer mon fichier
Merci pour m'avoir aiguillé
A+
|
|
dimanche 15 avril 2007 à 12:00:23 |
Re : lecture rapide dans un fichier txt

kingson
|
slt,
dit moi j'ai vu ton code et j'aimerai faire la meme chose mais pour ouvrir une feuille worksheet uniquement en lecture. tu saurais comment le faire? en visual basic biensur. merci
|
|
dimanche 15 avril 2007 à 12:44:40 |
Re : lecture rapide dans un fichier txt

misislan84
|
salut je veux faire une simulation d'un moteur Diesel sous VB (obligatoire) et j'ai besoin de l'aide si jamais y a un programme (code) déja fais veuillez me le communiquer. misislan84@hotmail.com
|
|
Cette discussion est classée dans : fichier, ligne, lire, txt, obligé
Répondre à ce message
Sujets en rapport avec ce message
Lire un txt et atribuer des valeurs pour chaque ligne [ par Ramendust ]
Bonjour à tousJe suis débutant sur VB 5, et mes connaissances dans ce language s'arrêtent à peu près à des macros toutes gentilles sur Excel. Je n'ai
Vbscript: tri par ordre alphabétique dans un fichier txt [ par manolo66 ]
Salut tous le monde ! voila j'essaye de faire un script VBS qui doit lire un fichier texte et crée un autre fichier texte avec les lignes qui se trouv
Lire une ligne [ par Vincentsoft ]
SalutLorsque je quitte un programme, j'écrit des infos ds un fichier txt afin que d'autre programmes puisse aller lire dedans.Mais ce que je souhaite
Lire la n-ième ligne d'un fichier .txt ? [ par Mdeffontaines ]
Bonjour à tous,J'aimerais extraire des informations à partir d'un fichier texte pour les réutiliser dans mon programme.Voici ce que j'ai pour l'intsta
READLINE ?? lire une ligne d'un fichier txt [ par bouboussjunior ]
j'ai vu une fonction s'appelant readline qui me permeterai de lire juste une ligne de mon fichier text mais je ne sais pas comment l'utiliser ....sino
Lire Ligne Par Ligne un txt [ par AnAcOnDa ]
Bonjour toi,serais tu m'aider ? voila mon probleme :Je voudrais lire ligne par ligne un fichier.txtLe fichier.txt contient du texte sous forme de mot
Lire une ligne depuis un fichier txt sous access [ par serber38 ]
Bonjour,je souhaiterais savoir comment lire le contenu d'une ligne X d'un fichier texte sous access. Je souhaite créer un code événement pour un bouto
lire un fichier txt ligne par ligne [ par asasas ]
salutje lit un fichier texte ligne par ligne, mais je ne veux récupérer que les deux premiers caractères de chaque ligne.Comment faire?merci de votre
Comment lire la ligne n°3 d un fichier txt ??? [ par Moorpheeus ]
sltMon application a besoin de lire la ligne n°3 d un fichier .txt sans le modifier, c'est possible avecopen "text.txt" for input ???
HELP !!! QQN SAIT COMMENT ...? [ par dalma101 ]
Bonjour,quelqu'un connaît-il un code (simple SVP) pour lire ou copier depuis ou dans un fichier .txt à une ligne bien précise ?Par exemple : Ec
Livres en rapport
|
Derniers Blogs
DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|