Bonjour a Tous
J'aimerai avec BCB6 Merger (fusionner) 4 fichier xxx.txt qui ce trouve dans le répertoire de l'application pour n'en faire qu'un xxx.txt.
Quelqu'un aurai une petite idée, Merci
Merci et A++
Bonjour a Tous
J'aimerai avec BCB6 Merger (fusionner) 4 fichier xxx.txt qui ce trouve dans le répertoire de l'application pour n'en faire qu'un xxx.txt.
Quelqu'un aurai une petite idée, Merci
Merci et A++
Voilà une piste :
A noter que ce code peut être optimiser, mais c'était juste pour montrer l'idée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 TStringList *fichier1 = new TStringList() ; TStringList *fichier2 = new TStringList() ; TStringList *fichier3 = new TStringList() ; TStringList *fichier4 = new TStringList() ; TStringList *fichierFinal = new TStringList() ; fichier1->LoadFromFile( "C:\\Fichier1.txt" ); fichier2->LoadFromFile( "C:\\Fichier2.txt" ); fichier3->LoadFromFile( "C:\\Fichier3.txt" ); fichier4->LoadFromFile( "C:\\Fichier4.txt" ); fichierFinal->AddStrings( fichier1 ) ; fichierFinal->AddStrings( fichier2 ) ; fichierFinal->AddStrings( fichier3 ) ; fichierFinal->AddStrings( fichier4 ) ; fichierFinal->SaveToFile( "C:\\FichierFinal.txt" ) ; delete fichier1 ; delete fichier2 ; delete fichier3 ; delete fichier4 ; delete fichierFinal ;
Bonne prog!
voila le code, en tout ca il marche pour x fichiers
Merci pour ton aide sat83 et A++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 void __fastcall TOraeditfrm1::SpeedButton5Click(TObject *Sender) { HANDLE oraHfind; WIN32_FIND_DATA wfd; char *reps[20]; int cpt = 0; AnsiString orarepfich = ExtractFilePath(Application->ExeName); AnsiString orachemfile = "oraFile\\*.*"; Label1->Caption = orarepfich + orachemfile; oraHfind = FindFirstFile(Label1->Caption.c_str(), &wfd); if(oraHfind != INVALID_HANDLE_VALUE) { do { if(wfd.cFileName[0]!='.') { reps[cpt]=(char*)malloc((strlen(wfd.cFileName)+1)*sizeof(char)); strcpy(reps[cpt++], wfd.cFileName); } } while(FindNextFile(oraHfind, &wfd)); TStringList *oraff1 = new TStringList(); TStringList *oraff2 = new TStringList(); TStringList *oraff3 = new TStringList(); TStringList *oraff4 = new TStringList(); TStringList *orafifi = new TStringList(); oraff1->LoadFromFile(orarepfich + "oraFile\\" + reps[0]); oraff2->LoadFromFile(orarepfich + "oraFile\\" + reps[1]); oraff3->LoadFromFile(orarepfich + "oraFile\\" + reps[2]); oraff4->LoadFromFile(orarepfich + "oraFile\\" + reps[3]); orafifi->AddStrings(oraff1); orafifi->AddStrings(oraff2); orafifi->AddStrings(oraff3); orafifi->AddStrings(oraff4); AnsiString orarepfich2 = ExtractFilePath(Application->ExeName); AnsiString orachemfuse = "Fusion\\"; orafifi->SaveToFile(orarepfich2 + orachemfuse + Label2->Caption + ".txt"); delete oraff1; delete oraff2; delete oraff3; delete oraff4; delete orafifi; FindClose(oraHfind); } else { ShowMessage("Aucun fichiers trouvées"); } } //---------------------------------------------------------------------------![]()
Partager