VB2005 : ecrire à un endroit precis d'un txt ou ini - VB/VBA/VBS - Programmation
Marsh Posté le 21-09-2008 à 12:40:25
Salut voir par exemple http://www.vbfrance.com/codes/LECT [...] _5665.aspx ou sinon via gog http://www.google.fr/search?hl=fr& [...] =&aq=f&oq= ou http://www.google.com/custom?q=ini [...] helper.com
Marsh Posté le 21-09-2008 à 13:48:16
kiki29 a écrit : Salut voir par exemple http://www.vbfrance.com/codes/LECT [...] _5665.aspx ou sinon via gog http://www.google.fr/search?hl=fr& [...] =&aq=f&oq= ou http://www.google.com/custom?q=ini [...] helper.com |
ok merci mais comme je le disais google j'ai deja essayé
plutot que des pages de liens à parcourir et que je ne comprend pas forcement,
je prefererai un exemple concret stp
lire un fichier txt ou autre je sais faire.
ce qui me bloque c'est ecrire à un endroit precis de ce fichier.
j'ai bien vu des liens pour decouper le fichier par ligne avec split
mais pas la methode à utiliser pour dire, par exemple, que c'est à la ligne 23 precisement que je veux rajouter du texte
merci
Marsh Posté le 21-09-2008 à 14:56:22
ReplyMarsh Posté le 21-09-2008 à 16:27:05
kiki29 a écrit : Salut, si tu ne comprends déjà pas les exemples proposés par les liens ... |
1er exemple proposé : lecture d'un fichier ini alors que j'ai dis que je savais faire depuis le debut
autres exemples : des pages et des pages de liens google
si tu sais pas repondre plus precisement...
Marsh Posté le 21-09-2008 à 16:56:21
pour le cas d'un ajout/ modification dans un fichier ini j'ai trouvé avec "WritePrivateProfileString"
mais pour le cas d'un txt je ne sais pas faire mieux que de le spliter pour avoir un tableau de ligne
donc si vous pouvez m'aider à coder l'insertion de texte sur le n° de ligne voulu merci d'avance
Marsh Posté le 21-09-2008 à 22:22:50
Salut.
Voici un exemple en C#. Tu n'as plus qu'à le traduire en VB.NET, puisque ce sont les mêmes objets/méthodes.
C'est pas forcément la méthode la plus courte ni la plus simple, mais la plus claire parmi celles qui permettent de manipuler de gros fichiers.
Les ReadToEnd(), non merci, quand tu modifies un fichier qui fait 800 Mo moi ça me gêne un peu
Ici on traîte donc ligne par ligne, et on en profite pour faire un backup.
Code :
|
Et on split pas pour lire un fichier texte, on n'est pas en train de faire du PHP là...
Marsh Posté le 21-09-2008 à 22:29:14
Une méthode plus performante pourrait passer non pas par des TextReader/TextWriter, mais des accès binaires bufferés avec genre un buffer de la taille d'un cluster disque à chaque lecture/écriture, et isoler les valeurs 13 pour retrouver les sauts de lignes dans le buffer. Ca éviterait de se taper des conversions en string inutile, mais c'est clairement plus chiant à écrire et débugger.
Ceci dit, les TexReader/TextWriter ne font pas un accès disque à chaque ReadLine/WriteLine, ils gèrent déjà ça pour nous, donc c'est se prendre la tête pour un gain certainement non significatif.
Marsh Posté le 24-09-2008 à 13:55:39
MagicBuzz a écrit : Salut. |
(avec un peu de retard..) merci pour le code
Marsh Posté le 21-09-2008 à 11:19:14
bonjour,
j'utilise visual 2005
je sais lire un fichier texte ou ini,
je sais ecrire dans ce meme fichier, mais uniquement en fin de fichier.
pouvez me dire comment faire pour remplacer ou ajouter une ligne de texte MAIS à un endroit precis du fichier svp ?
c'est pas faute d'avoir posé la question à mon amis google mais j'arrive pas à trouver exactement ça (ou je comprend pas les sources cause niveau debutant)
merci d'avance