[VB6] écrire a la fin d'un fichier .txt

écrire a la fin d'un fichier .txt [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 10-12-2005 à 14:14:58    

j'ai un fichier text qui contien des noms d'extention :
 
.jpg
.gif
.txt
.mkv
 
et je doit rajouter une extention a cette liste (.avi par exemple) :
 
.jpg
.gif
.txt
.mkv
.avi
 
comme fait on ?  
à priori c'est plustot basique mais comme je débute...  [:hotcat]  
 
merci d'avance :)

Reply

Marsh Posté le 10-12-2005 à 14:14:58   

Reply

Marsh Posté le 10-12-2005 à 22:56:16    

En VBA et VB on ouvre un fichier en mode Ajout ; crée le fichier s'il n'existe pas et on écrit une ligne en fin de fichier
Sub Ajout()
Dim Filenumber As Integer
Dim Extension As String
Dim Fichiertxt As String
Filenumber = FreeFile         ' Lit le numéro de fichier inutilisé
Fichiertxt = "c:\titi.txt"
Extension = ".avi"
        Open Fichiertxt For Append As #Filenumber       'ouvre le fichier
            Write #Filenumber, Extension     'ecrit
        Close #Filenumber       'ferme le fichier
End Sub

Reply

Marsh Posté le 11-12-2005 à 00:59:34    

merci !
 
en fait j'ouvrai le fichier avec Output au lieu de Append...  :sarcastic:

Reply

Marsh Posté le 17-01-2006 à 11:32:33    

J'ai également un problème en ce qui concerne les fichiers...  
je ne sais pas dans quel mode l'ouvrir, et comment lire une ligne une par une...
J'ai pensé a Input, mais je dois aussi remplacer un morceau du contenu par un autre... donc là le Input n'est pas possible me semble t'il...
 
Open (App.Path & "\fichier.txt" ) For Input As #1
    Line Input #1, tmp 'on lis la ligne et on la stock dans la variable
 
 
Donc en fait il faudrai que je puisse l'ouvrir  en lecture/ecriture, et que je puisse recherché la ligne qu'il me faut puis remplacer...
 
:( Merci d'avance


Message édité par Crawdge le 17-01-2006 à 11:32:53
Reply

Marsh Posté le 17-01-2006 à 15:22:00    

Personne s'il vous plait?

Reply

Marsh Posté le 17-01-2006 à 20:14:48    

Pour écrire dans un fichier, il faut l'ouvrir en For Output.
 
Cela marche si le morceau à remplacer à exactement la même taille que le nouveau morceau.
 
Mais si l'ancien et le nouveau morceau n'ont pas la même taille (comme je le devine), alors il y aura un problème, et il faudra adopter une autre solution :
 
1. ouvrir le fichier en input, et ouvrir un nouveau fichier en append
2. lire et recopier tous les caractères jusqu'au point d'insertion
3. lire sans recopier les caractères de l'ancien morceau
4. écrire les caractères du nouveau morceau
5. lire et recopier tous les caractères suivants
6. fermer les deux fichiers

Reply

Marsh Posté le 17-01-2006 à 21:20:26    

Pour plus de renseignement sur les fichiers à accès séquentiel, voir  
 
http://www.cathyastuce.com/vba/codefichierseq.php
 
Epéna

Reply

Marsh Posté le 18-01-2006 à 08:56:30    

Donc si je comprend bien la meilleur méthode sera de faire ca avec deux fichiers?  
Un ancien ou je récupere toute les informations a ne pas changer, et un autre temporaire qui recupere les informations du 1er jusqu'au truc a changer, ajout les modificications, retourne cherché le reste dans le 1er fichier et resauvegarde sur le 1er fichier ?
 
j'ai bien compris? :)

Reply

Marsh Posté le 18-01-2006 à 08:58:49    

Le plus simple est je pense de créer le 2ème fichier avec les modifs, puis virer le premier et renommer le nouveau avec le nom de feu le premier...


---------------
Le savoir est une des rares choses qui augmente quand on le partage, n'hésitons pas !
Reply

Marsh Posté le 18-01-2006 à 09:01:02    

Ok merci bien je vais réfléchir a la question afin de faire comme ca alors :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed