Generare un unico file da più files

Tempo addietro mi capitò di dover suddividere una serie di files particolarmente grandi su una serie di dischetti avendo un cliente un PC “leggermente” obsoleto (Microsoft Windows 95). Il problema era successivamente dover ricongiungere questi files in un unico grande file.

Rimarcando la mia fama tra gli amici per non riutilizzare mai software impacchettato e freeware, ma sempre propenso a sviluppare internamente quella specifica funzione ad-hoc, decisi di svilupparmi una procedura per lo splitting del file in una serie di n files di una determinata dimensione ed ovviamente sviluppai anche la funzione per la ricongiunzione dei files in un unico grande file.

Il frammento di codice che trovate di seguito, è estratto da un progetto leggermente più grosso ed ho preferito riportare semplicemente l’essenziale per comprendere come funziona il tutto:

Dest = FreeFile
 MergedFile = "C:\Merged.txt"
 Offset = 1
 Open MergedFile for Binary Access Write Lock Read As FDest
 For I=Lbound(filesArray) to UBound(filesArray)
 FSorg = FreeFile
 Open filesArray(I) for binary Access Read Lock Write as FSorg
 S=String(Lof(FSorg),chr(0))
 Get FSorg,1,S
 Close FSorg
 Put FDest,Offset, S
 Offset = Offset + len(S)
 next
 Close FDest

Questa procedura preleva da un array filesArray i nomi dei files da concatenare e li salva in un unico file indicato nella variabile MergedFile