Fusionner 2 fichiers ensemble

Résolu/Fermé
nick_2428 Messages postés 31 Date d'inscription lundi 5 novembre 2012 Statut Membre Dernière intervention 5 juillet 2015 - Modifié par nick_2428 le 10/12/2012 à 09:13
nick_2428 Messages postés 31 Date d'inscription lundi 5 novembre 2012 Statut Membre Dernière intervention 5 juillet 2015 - 10 déc. 2012 à 15:26
Bonjour,

J'aimerais être en mesure de fusionner mes 2 fichiers ensembles. J'aimerais que le 1er fichier, qui est formé de tableaux de 20 lignes chacun apparaisse en 1er et que le 2e fichier, formé de tableaux de 25 lignes, apparaisse ensuite en gardant l'ordre des tableaux. Donc le 1er tableau du 1er fichier suivi du 1er tableau du 2e fichiers, suivi du 2e tableau du 1er fichier, suivi du 2e tableau du 2e fichier, etc... Tous ça pour en arriver à créer des tableaux de 45 lignes chacun dans un 3e fichier créer pour les résultats de tout ça. Au total, j'ai 3500 tableaux dans chacun des fichiers.

J,ai un code qui me donne un code d'erreur (L,entrée dépasse la fin du fichier) et je ne sais pas quoi faire.

Voici mon code en question et 2 liens pour télécharger les base de données, si ça peux aider.

strSourceFile1-->http://ge.tt/4e2QmZI/v/11
strSourceFile2-->http://ge.tt/4e2QmZI/v/21

Voici le code:

strSourceFile1 = "...\PLAYERS.EHM"
strSourceFile2 = "...\Statistics.ehm"
strResultat1 = "...\player+stats.ehm"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile1 = objFSO.openTextFile(strSourceFile1, 1,true)
Set objTextFile2 = objFSO.openTextFile(strSourceFile2, 1,true)
Set objResultat1 = objFSO.openTextFile(strResultat1, 8,true)

dim MyArray (20)
x=0
dim Array (25)
y=0

Do until objTextFile1.AtEndOfStream
Do until objTextFile2.AtEndOfStream

MyArray(x) = objTextFile1.ReadLine
Array (y) = objTextFile2.ReadLine

If x = 19 Then

objResultat1.writeline MyArray(0)
objResultat1.writeline MyArray(1)
objResultat1.writeline MyArray(2)
objResultat1.writeline MyArray(3)
objResultat1.writeline MyArray(4)
objResultat1.writeline MyArray(5)
objResultat1.writeline MyArray(6)
objResultat1.writeline MyArray(7)
objResultat1.writeline MyArray(8)
objResultat1.writeline MyArray(9)
objResultat1.writeline MyArray(10)
objResultat1.writeline MyArray(11)
objResultat1.writeline MyArray(12)
objResultat1.writeline MyArray(13)
objResultat1.writeline MyArray(14)
objResultat1.writeline MyArray(15)
objResultat1.writeline MyArray(16)
objResultat1.writeline MyArray(17)
objResultat1.writeline MyArray(18)
objResultat1.writeline MyArray(19)


x=0
Else
x=x+1
End If

If y = 24 then
objResultat1.writeline Array(0)
objResultat1.writeline Array(1)
objResultat1.writeline Array(2)
objResultat1.writeline Array(3)
objResultat1.writeline Array(4)
objResultat1.writeline Array(5)
objResultat1.writeline Array(6)
objResultat1.writeline Array(7)
objResultat1.writeline Array(8)
objResultat1.writeline Array(9)
objResultat1.writeline Array(10)
objResultat1.writeline Array(11)
objResultat1.writeline Array(12)
objResultat1.writeline Array(13)
objResultat1.writeline Array(14)
objResultat1.writeline Array(15)
objResultat1.writeline Array(16)
objResultat1.writeline Array(17)
objResultat1.writeline Array(18)
objResultat1.writeline Array(19)
objResultat1.writeline Array(20)
objResultat1.writeline Array(21)
objResultat1.writeline Array(22)
objResultat1.writeline Array(23)
objResultat1.writeline Array(24)
y=0
Else
y=y+1
End IF


Loop
Loop


objTextFile1.close
objTextFile2.close
objResultat1.close
wscript.quit


2 réponses

nick_2428 Messages postés 31 Date d'inscription lundi 5 novembre 2012 Statut Membre Dernière intervention 5 juillet 2015
10 déc. 2012 à 15:26
Merci énormément. Après une petite mise au point, tout marche à merveilles. Merci beaucoup. Très apprécié.
0
Bonjour,

J'ai un peu modifié ton script mais ça devrait marcher (j'ai pas testé).

strSourceFile1 = "...\PLAYERS.EHM" 
strSourceFile2 = "...\Statistics.ehm" 
strResultat1 = "...\player+stats.ehm" 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objTextFile1 = objFSO.openTextFile(strSourceFile1, 1,true) 
Set objTextFile2 = objFSO.openTextFile(strSourceFile2, 1,true) 
Set objResultat1 = objFSO.openTextFile(strResultat1, 8,true) 
dim Array1 (20) as String
dim Array2 (25) as String
dim x as Integer, y as Integer
dim StopInput as Boolean

StopInput = False

Do until StopInput

For x=0 to 19
  If not objTextFile1.AtEndOfStream Then
    Array1(x)= objTextFile1.ReadLine
  Else
    StopInput = True
    Array1(x)= ""
  End If
Next
 
For y=0 to 24
  If not objTextFile2.AtEndOfStream Then
    Array2(y)= objTextFile2.ReadLine
  Else
    StopInput = True
    Array2(y)= ""
  End If
Next

For x=0 to 19
   objResultat1.writeline Array1(x)
Next
For y=0 to 24
   objResultat1.writeline Array2(y)
Next
Loop

objTextFile1.close 
objTextFile2.close 
objResultat1.close 
wscript.quit


A+.
-1