Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1823 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1263596
hotcat
Posté le 10-12-2005 à 14:14:58  profilanswer
 

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 :)

mood
Publicité
Posté le 10-12-2005 à 14:14:58  profilanswer
 

n°1263806
Epena
Posté le 10-12-2005 à 22:56:16  profilanswer
 

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

n°1263823
hotcat
Posté le 11-12-2005 à 00:59:34  profilanswer
 

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

n°1285325
Crawdge
Posté le 17-01-2006 à 11:32:33  profilanswer
 

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
n°1285591
Crawdge
Posté le 17-01-2006 à 15:22:00  profilanswer
 

Personne s'il vous plait?

n°1285935
olivthill
Posté le 17-01-2006 à 20:14:48  profilanswer
 

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

n°1285991
Epena
Posté le 17-01-2006 à 21:20:26  profilanswer
 

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

n°1286266
Crawdge
Posté le 18-01-2006 à 08:56:30  profilanswer
 

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? :)

n°1286268
ziold
L'original...
Posté le 18-01-2006 à 08:58:49  profilanswer
 

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 !
n°1286270
Crawdge
Posté le 18-01-2006 à 09:01:02  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
faire un spool vers un fichier dont le nom est horodaté (toto09122005)Enchainement de fichier d'instruction dans un batch
[VB6] Utilisation de fichiers batch...[VB6] traitement sur tableau excel très lent [résolu]
Ouverture de fichier.frx et de fichier.frmCréer un fichier vide en C. [Résolu]
Pb Socket et fichierPython/unicode: écrire de gauche à droite/de droite à gauche [résolu]
Gestion des données d'un fichier TXTsupprimer un fichier sous unix
Plus de sujets relatifs à : [VB6] écrire a la fin d'un fichier .txt


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR