Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    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 : 0
    Points
    0

    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 expérimenté
    Inscrit en
    décembre 2007
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : décembre 2007
    Messages : 471
    Points : 564
    Points
    564

    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 Hervé
    Inscrit en
    janvier 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Nom : Homme Hervé
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 387
    Points : 3 866
    Points
    3 866

    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 :
    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 :
    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é.

  4. #4
    Invité de passage
    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 : 0
    Points
    0

    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 :
    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
    Invité de passage
    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 : 0
    Points
    0

    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 émérite Avatar de DAUDET78
    Homme Profil pro Alphonse Daudet
    retraité
    Inscrit en
    janvier 2008
    Messages
    487
    Détails du profil
    Informations personnelles :
    Nom : Homme Alphonse Daudet
    Âge : 71
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2008
    Messages : 487
    Points : 816
    Points
    816

    Par défaut

    Tu peux utiliser un truc de ce genre
    Code :
    1
    2
    3
    4
    5
    6
     
    fich1$="fich1.txt"
    fich2$="fich2.txt"
    fich3$="fich3.txt"
     
    Schell "Copy " & fich1$ & "+" & fich2$ &  "+" & fich3$ & " somme.txt"

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •