begin process at 2010 02 10 14:43:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > CRÉATION D'UN FICHIER À PARTIR DE PLUSIEURS FICHIER (POUR ÉVITER LES COPIER-COLLER)

CRÉATION D'UN FICHIER À PARTIR DE PLUSIEURS FICHIER (POUR ÉVITER LES COPIER-COLLER)


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Texte Classé sous :manipulation, fichier, concaténation, données Niveau :Débutant Date de création :15/07/2007 Date de mise à jour :15/07/2007 19:45:58 Vu / téléchargé :6 654 / 534

Auteur : aloneinthedark

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note


 Description

le code colle plusieur fichier dans un seul en conservant les petits


 Conclusion

voici une appli qui permet de créer un fichier à partir de plusieurs
fichier (de structure identique de préférence)

pour cela :

*  mettre les petits fichiers dans un répertoire
*  classer les fichers dans l'ordre

   ATTENTION : dans cette version l'appli colle a partie du fichier
le plus bas pour aller jusqu'au plus haut, pour changer le sens
voyer plus bas et dans le fichier du début à la fin.


*  choisir ce répertoire avec les controles
*  cliquez sur "coller les ficher"
*  le fichier est crée dans le même répertoire


pour le sens, le code actuel de la boucle est :

For a = File1.ListCount - 2 To 0 Step -1

pour l'autre sens

for a=0 to File1.listCount -2

c'est tout.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

15 juillet 2007 19:45:58 :
15/07/2007 le fichier créé n'est plus dans le même rep (pb entre le création et la prise en compte dans le controle file1 1 sous rep est créé dans le rep cible ou est placé le fichier final. rajout de on error resume next si plusieur opération sur le même repertoire une erreur se produit quand il créé un répertoire déja créé.

 Sources du même auteur

Source avec Zip COMPTABILITÉ TABLEAU SYNTHÉTIQUE À PARTIR D'UN TÉLÉCHARGEMEN...
Source avec Zip Source avec une capture CUMUL DISTANCE SOURIS ENREGISTREMENT AUTOMATIQUE.
Source avec Zip CRÉATION ,MODIFICATION DES TAG ID3 V1 LECTURE DES TAGS ID3 V...

 Sources de la même categorie

Source avec Zip Source avec une capture AYOUBPAD2009 par ayoube2009
Source avec Zip Source avec une capture PILOTAGE D'AFFICHEURS LCD SUR PORT SÉRIE OU USB par mays
Source avec Zip Source avec une capture TRAITEMENT DE TEXTE RTF par zozo14
FORMATAGE D'UNE CELLULE EXCEL VIA UNE SYNTAXE HTML par 8Tnerolf8
Source avec Zip DÉFILEMENT TEXTE par mimiZanzan

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MANIPULATION FICHIER EXECUTABLE par mbodjsystem
Source avec Zip Source .NET (Dotnet) MANIPULATION DE FICHIERS (EXÉCUTION AUTOMATIQUE DE FICHIER, ... par Le newbie
Source avec Zip CALCUL TABLEAU SOURCE DES DATA DANS UN FICHIER TEXTE par Fwdavy
Source avec Zip Source avec une capture ANNUAIRE ( OU RÉPERTOIRE...) VRAIMENT SIMPLE MAIS EFFICACE..... par Alain Proviste
Source avec Zip OPERATION D'IO OPTIMISEES par gg00xiv

Commentaires et avis

Commentaire de hvb le 16/07/2007 09:35:37

File1.ListCount - 2..??
et ça sert à quoi de coller plusieurs fichiers en un pour "eviter le copier coller"?

Commentaire de aloneinthedark le 16/07/2007 09:45:10

salut,

j'ai récupérer les valeurs boursières sur internet et les périodes de téléchargement sont limités, il y a donc plusieurs (voire plus d'une dizaine de fichier ) pour la même valeur il faut donc copier coller bout a bout pour avoir un seul fichier.
le File1.listcount -2  
en fait c'est File1.listcount -1 , il compte le nombre de fichier présent dans un controle filelistbox, le -1 est pour pointer sur la valeur de file1.listindex qui commance a zéro et que le filecount commance a 1 y 'a donc une différence de 1
pourquoi -2 avant et -1 maintenant?
avant je mettais le fichier crée dans le même repértoire mais il n'était pas pris en compte lors du listcount je l'ai crée dans un autre rep.
voilà...
a+

Commentaire de clementpat le 16/07/2007 11:00:56

tres utile pour moi , je teste .

Commentaire de Patrice99 le 16/07/2007 13:52:21

On peut le faire via une simple commande dos : il suffit d'ajouter /b pour binaire et /Y pour mode automatique :
Copy /b /Y *.dat fusion.fus

Commentaire de Patrice99 le 16/07/2007 13:53:31

(Jai utilisé ce système une fois pour fusionner des fichiers html en un seul document)

Commentaire de clementpat le 16/07/2007 14:04:54

impeccable , mais le programme ajoute une ligne vide entre chaque fichier , comment faire pour ne pas avoir cette ligne vide ?

Commentaire de Renfield le 16/07/2007 14:13:33 administrateur CS

c'est l'instruction Print qui l'ajoute...

faire

Print 1,"jjj" ;

(point virgule) pour que Print n'ajoute pas de ligne

dommage de lire les fichiers ligne à ligne...
Open For Binary serait bien plus efficace, et tu n'aurais pas ce soucis de lignes vides

Commentaire de clementpat le 16/07/2007 14:37:13

le fichier me donne :

1
2
3
4

5
6
7
8

avec le point virgule cela me donne :

12345678

moi je veux que cela donne :

1
2
3
4
5
6
7
8

Commentaire de Renfield le 16/07/2007 14:47:51 administrateur CS

tu n'a lu qu'a moitié ce que j'ai écris.

le code de aloneinthedark lis les fichiers ligne a ligne.
quand il reecrit le contenu, il faut REMETTRE le saut de ligne, c'est bien ce que fait Print, dans son code. Cependant, c'est également fait pour la dernière ligne du fichier...

pas l'idéal de lire le fichier ligne a ligne ici, faudrait detecter la dernière ligne, pour savoir si l'on doit faire un saut ou pas... (y'a d'autres moyen simples)

pas l'ideal non plus comme code... pas de Close #1, les numéros de canaux en dur, etc

Commentaire de Renfield le 16/07/2007 14:58:47 administrateur CS

tout le code peut se résumer en :



Private Sub Drive1_Change()
    On Error Resume Next
    Dir1.Path = Drive1.Drive
    If Err Then
        MsgBox Err.Description, vbExclamation
        Drive1.Drive = Left$(Dir1.Path, 2)
    End If
End Sub

Private Sub Dir1_Change()
    File1.Path = Dir1.Path
End Sub

Private Sub Command1_Click()
Dim sDestPath As String
Dim hOutFile As Integer
Dim hInFile As Integer
Dim xbBuffer() As Byte
Dim i As Long
    If Right$(Dir1.Path, 1) = "\" Then
        sDestPath = Dir1.Path & "tmp"
    Else
        sDestPath = Dir1.Path & "\tmp"
    End If
    If Dir$(sDestPath, vbDirectory) = vbNullString Then
        MkDir sDestPath
    End If

    hOutFile = FreeFile
    Open sDestPath & "\Tmpfinal.txt" For Binary Access Write As #hOutFile
        For i = File1.ListCount - 1 To 0 Step -1
            hInFile = FreeFile
            Open Dir1.Path & "\" & File1.List(i) For Binary Access Read As #hInFile
                ReDim xbBuffer(LOF(hInFile))
                Get #hInFile, , xbBuffer
            Close hInFile
            
            Put hOutFile, , xbBuffer
            
            If i Then
                Put hOutFile, , vbCrLf
            End If
        Next i
    Close #hOutFile
    
    MsgBox "Terminé", vbInformation
End Sub

(je ne sais pas trop pourquoi les fichiers sont parcourus en sens inverse...)

Commentaire de aloneinthedark le 16/07/2007 21:19:43

salut,
merci pour les messages, c'est encourageant...
>CLEMENTPAT : je n'ai pas de ligne vide entre chaque fichier, et je ne sait pas pourquoi tu en as
>RENFIELD : le contrôle File1 est listé a l'envers parceque le contenu des fichier est classé par ordre chronologique et que les numéro d'index des fichiers s'ajoutent automatioquement au téléchargement (fich(1).xtx, fich(2).txt,etc...)
>RENFIELD : je trouve que l'open en binary est plus lent et plus long a programmer..
>pour la ligne il faut que le curseur soit à la fin de la dernière ligne sinon le fichier rajoute un retour chariot (13).

a+

Commentaire de clementpat le 16/07/2007 21:34:10

oui tu as raison , le curseur d'un des 2 fichiers etait mal placé.

ya plus de probleme .

Commentaire de flypig le 15/11/2007 15:17:41

Renfield, La fonction LOF renvoie une valeur de type long représentant
la taille. Si la taille du fichier est au dela, on aura sans doute problème.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Manipulation des données dans un texte !! [ par beber ] debutant 100% voir plus !Recherche comment ouvrir un fichier contenant des variables X et Y d'une fonction. Puis d'arriver sous VB à les recuperer pou Extraire données Notepad vers VB? [ par jia2812 ] Slt,En partant d'1 fichier NotePad ou WordPad, je souhaite extraire les données vers 1 des labesl ou textbox ds 1 form de VB, Comment s'y prendre corr Récupération des données d'un fichier [ par eltaris ] J'ai un fichier à accès direct.Quand je récupère les données dans des string et que j'affiche ce que j'ai récupéré à l'écran, les lettres telles que " VB:Copie de données binaire [ par falbala ] Je veux copier des données (binaires) dans un fichier. J'ai testé en copiant tout le fichier et à chaque fois il me rajoute des octets. Par exemple po appeler un pgme, par click sur un fichier de sauvegarde dans l'arboressance. [ par Marielle ] Mon pgme peux créer un fichier, où il y a écrit toute les données d'un travail en cours. Et je peux récupérer ces données en ouvrant ce fichier à part FORM en ASP à mettre en .txt URGENT !!! [ par Zenway ] J'aimerais récupérer les données d'un formulaire HTML, et les écrires dans un fichier TXT selon ce format :Nom = ...; Prenom = ...; etc...J'arrive bie FORM en ASP à récupérer en .TXT [ par Zenway ] J'aimerais récupérer les données d'un formulaire HTML, et les écrires dans un fichier TXT selon ce format :Nom = ...; Prenom = ...; etc...J'arrive bie recupération de fichier texte et traitment de ses données [ par Falbala ] J'arrive à récupérer des données de Word dans Excell mais je voudrais les récupérer dans un objet intermédiaire pour pouvoir les traiter avant de les Création d'une base de données Oracle dans un fichier vbs [ par Fatma ] Je recherche la dll qui me permettra de créer une base de données Oracle dasn un fichier vbs comme la dll SQLDMO suivante :WScript.createObject("SQLDM charger un fichier dans une table [ par maryem ] Bonjour, je suis entrain de travailler avec le vb5 et une base de données sous accessemon problème est que pour une table, j'ai les données sous un fi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,886 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales