IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Rassembler 3 fichiers texte en un seul.


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Rassembler 3 fichiers texte en un seul.
    Bonjour,

    voila je suis étudiant et je débute la programmation en VB6. Je voudrais réaliser une petite application qui regroupe 3 fichiers txt dans un 4eme.
    Je ne sais pas trop par ou commencer.
    Mon idée est d'avoir un DriveListBox avec un DirListBox où l'on pourra sélectionner le dossier contenant mes 3 fichiers texte.
    Suite à l'appui sur un bouton "rassembler", un fichier 4eme fichier serait créé contenant le texte des 3 autres.
    Pb je ne sais pas du tout comment mis prendre niveau code..

    est ce que quelqu'un a une idée?

    Merci d'avance.

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    Déjà va voir dans la MSDN pour te renseigner

    Utilisation de l'accès séquentiel aux fichiers

    c'est une façon mais il y en a d'autres...

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Pour la lecture des fichiers, tu peux utiliser une fonction qui te renverra le contenu du fichier texte, et les concaténer.
    Vu que tu ne fais pas de traitement sur les fichiers tu peux les lire en bloc. (attention à la taille tout de même)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function LitFichier(sNomFic As String) As String
    Dim Contenu As String
    Dim FileNum As Integer
     
    Contenu = ""
    FileNum = FreeFile          'Numéro pour ouverture du fichier
    If Dir(sNomFic) <> "" Then             'Ne traite que si le fichier existe
        Contenu = Space(FileLen(sNomFic))  'dimmensionne la variable à la taille du fichier
        Open sNomFic For Binary As FileNum 'ouvre le fichier
        Get FileNum, , Contenu             'réccupère tout le contenu du fichier
        Close FileNum                      'ferme le fichier
    End If
    LitFichier = Contenu
    End Function
    utilisation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim NewFic As String
    NewFic = ""
     
    NewFic = NewFic & LitFichier("D:\Projets\vb\apprend\fichiers\fic1.txt")
    NewFic = NewFic & vbCrLf
    NewFic = NewFic & "---------------------" & vbCrLf
    NewFic = NewFic & LitFichier("D:\Projets\vb\apprend\fichiers\fic2.txt")
    NewFic = NewFic & vbCrLf
    NewFic = NewFic & "---------------------" & vbCrLf
    NewFic = NewFic & LitFichier("D:\Projets\vb\apprend\fichiers\fic3.txt")
     
    MsgBox NewFic
    Il suffit ensuite d'enregistrer le résultat (NewFic) dans un nouveau fichier.

    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci Hervé pour ta réponse mais enfaite je me suis dirigé sur une nouvelle approche du problème ^^
    j'ai créé une fenêtre avec une "DrivelistBox" associée à une "DirListBox" et une "Filelistbox".
    Suite à l'appuisur un bouton "lire" cela viendrait ajouter le texte de mes fichiers contenu dans la "FileListbox" dans une "Richtextbox" (beaucoup de box ^^ )

    J'utilise donc une boucle for pour lire un par un les fichiers. Mais je ne sais pas mémoriser le contenu de la "Richtextbox" afin d'afficher le texte du fichier suivant à la suite de l'ancien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Command1_click()
         Dim tableau(5000) As String
         Nb= File.ListCount
    For i=0 to nb-1
        Text = File1.Path & "\" & File1.List(i)
         RichTextBox1.LoadFile (Text)
         Data = RichTextBox.Text
         tableau(i)=data
        ' Comment faire pour ajouter DATA a mon nouveau texte ? est t'il possible de le faire ligne => RichTextBox1.loadFile (text)???
    du genre  RichTextBox1.Text = Data + RichTextBox1.LoadFile(Text)
     Next i
    Cette solution est-elle réalisable?

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    ahah petite avancée dans mon code [Je suis débutant]!!

    j'arrive à rassembler mes fichiers texte en un seul! Mais est-il possible de ranger mes fichier dans un ordre précis dans le FileListBox pour que lors de la reconstitution tous sois dans un ordre correct?

  6. #6
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Tu peux utiliser un truc de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    fich1$="fich1.txt"
    fich2$="fich2.txt"
    fich3$="fich3.txt"
     
    Schell "Copy " & fich1$ & "+" & fich2$ &  "+" & fich3$ & " somme.txt"

Discussions similaires

  1. rassembler plusieurs fichiers textes en un seul
    Par callofduty dans le forum MATLAB
    Réponses: 20
    Dernier message: 10/12/2013, 14h37
  2. Affichage de plusieurs fichiers text dans une seule JtextArea
    Par kinza-22 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 06/06/2010, 12h39
  3. copier plusieurs fichiers texte dans un seul fichier texte
    Par ERICKO dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/08/2008, 20h21
  4. Rassembler quatre fichiers xml dans un seul xml
    Par youba11 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 24/06/2008, 16h14
  5. ouvrir plusieurs fichier texte dans une seule feuille
    Par popoye dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2008, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo