Newsgroup: it.comp.lang.visual-basic
Titolo: copy a.txt+b.txt c.txt

C'è un sistema veloce, da codice vb, per effettuare il comando di cui 
all'oggetto ?
oppure sono costretto a dei cicli di lettura riga per riga e di scrittura 
sul file di output ?
Il problema è che devo fondere dei file di testo molto grossi, nell'ordine 
dei 30-40 Mb, e con i cicli di lettura l'applicazione sarebbe molto lenta.
Grazie in anticipo per le risposte,
Checco. 

"Checco" <CheccoTog...@Box.it> ha scritto nel messaggio
news:30dsfsF...@uni-berlin.de...

Leggi i file in modalità binaria tutti in un blocco solo:
Dim a() As Byte
Dim b() As Byte
Dim f As Long
Dim Size As Long
    f = FreeFile
    Open "a.txt" For Binary As f
    Size = LOF(f)
    ReDim a(Size - 1)
    Get #f, , a
    Close f
    f = FreeFile
    Open "b.txt" For Binary As f
    Size = LOF(f)
    ReDim b(Size - 1)
    Get #f, , b
    Close f
    f = FreeFile
    Open "c.txt" For Binary As f
    Put #f, , a
    Put #f, , b
    Close f
Bye
Raf

 Leggi i file in modalità binaria tutti in un blocco solo:
W i venditori di RAM!!!
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!


Esatto! Finché ce n'è... meglio usarla, o no? Poi quando finisce swapperà su
disco. In fondo non ha parlato di GB ma di 30-40 MB...
Bye
Raf

Checco wrote:

esegui una Shell con il seguente comando:
copy nome1+nome2+nome3+...+nome4 nomedest


Ringrazio molto per il consiglio costruttivo e funzionante (già provato è 
tutto ok !) di Rafunk.
Tu hai qualche altra idea su come si potrebbe fare ?
Checco. 

 copy nome1+nome2+nome3+...+nome4 nomedestů
Se intendi il comando:
 shell("copy nome1+nome2+nome3+...+nome4 nomedestů")
non funziona...
(WinXp + Vb6) 

 
Ti ha gia' risposto (:- Dan :-)
ciao


 (WinXp + Vb6)
Questo perche' devi fare una shell dell'interprete dei comandi al quale poi 
passare il resto della stringa ("copy" e' un comando interno, non un 
eseguibile a se stante che puoi avviare)
Dim cmd As String
cmd = Environ$("COMSPEC")
Shell cmd & " /K copy nome1+nome2 nomedest", vbHide
dal prompt dei comandi puoi provare "cmd /?" per ulteriori ragguagli sui 
parametri
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown 


Ecco la risposta al mio quesito... Grazie Luca.

 swapperà su disco. In fondo non ha parlato di GB ma di 30-40 MB...
a bhe certo... solo 30-40 miliardi di bit che vuoi che siano ? ^_^
in vb il metodo + veloce e' usare la shell per lanciare il comando copy a +
b c in un bat ^_^
-- 
[Gigio2k]
http://www.g2kweb.it
[ it-alt.comp.hardware.modding ] - 
http://www.g2kweb.it/ichm

 Tu hai qualche altra idea su come si potrebbe fare ?
se ne era gia' parlato, mi pare per unire pezzi di video grossi prova a
cercare nei post vecchi, non ricordo se se ne fosse venuto a capo o si usava
la lettura binaria a blocchi !


 si usava la lettura binaria a blocchi !
HJSPLIT è fatto apposta ;-). In caso di _doverlo_ fare da VB, io avevo
postato anche una traccia per farlo a blocchi.
Mi è risultato anche altrettanto veloce, se ricordo bene.
Bye, G.

 interno, non un eseguibile a se stante che puoi avviare)
Vero. Un sistema magari un tantino piů flessibile č scrivere un
batch ed eseguirlo, in maniera asincrona (Shell) o sincrona (ShellAndWait);
in entrambi i casi perň si rischia anche di sbattere contro il problema
del limite dei caratteri per una riga di comando. Per questo, come
dicevo a Gigio, io uso HJSplit, o un programmillo che legge e scrive
a blocchi.
Bye, G.