écrire dans un fichier texte a un endroit précis - VB/VBA/VBS - Programmation
Marsh Posté le 08-01-2003 à 16:05:29
Si c'est pour remplacer un caractère par ; c'est faisable mais si c'est pour l'ajouter, faut lire le fichier ligne par ligne et en réécrire un nouveau contenant les nouvelles lignes quitte à le renommer à la fin après effacement de l'original.
Marsh Posté le 08-01-2003 à 16:13:32
ok, bon c sa, moi jveux rajouter le ;
reste tout de meme qui doit avoir un moyen de le mettre dans la ligne sans faire un fichier temporaire ?!
yavait pas un moyen de positionner le curseur dans un fichier texte ?
Marsh Posté le 08-01-2003 à 16:45:43
Pour insérer, faut décaler tout ce qui suit.
Pour remplacer, facile, direct, on ne touche que caractère visé (pour chaque ligne).
si y en a qui ont des idées.
Marsh Posté le 10-01-2003 à 21:40:30
si, à condition d'ouvrir le fichier en mode "random".
tu peux après te déplacer où tu veux avec l'instruction "seek" mais ça t'oblige à définir par avance une structure à stocker pour chaque enregistrement.
(moui... pas très clair mon histoire)
Marsh Posté le 11-01-2003 à 11:08:30
Ca, ça permet de REMPLACER, pas INSERER.
Random en Binary, Get# Put# Seek, ..
Pour insérer des caractères, je pense pas qu'il y ait de miracle, écriture ds nouveau, effacer ancien, renome nouveau.
Sinon, sioux, comme le mode "enregistrement rapide" de Word : on ne change rien mais ajoute à la fin du fichier la liste des modifs faites dans le texte (adresses d'insertion). Au prochain chargement, il lit le ficheir ancien, et applique toutes les modifs. Les modifs suivantes sont ajoutées après les premières => le fichier gonfle. Le pb : ça oblige à avoir un prog qui le met en forme finale à la fin, sinon inutilisable.
Si on efface tout, y a encore le fichier puis la commande "effacer tout".
Marsh Posté le 08-01-2003 à 16:02:34
Salut,
je cherche comment faire pour écrire a un endroit précis dans chaque ligne d'un fichier texte.
exemple : jveux écrire un ; a la 5ieme position de chaque ligne de mon fichier ...
comment jmy prend pour écrire a la position 5 ?
Merci