Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - velocizzare uso file binari
Forum - Visual Basic 6 - velocizzare uso file binari

Avatar
Zhura (Ex-Member)
Newbie


Messaggi: 15
Iscritto: 03/10/2006

Segnala al moderatore
Postato alle 13:51
Domenica, 12/11/2006
Salve a tutti
in un programma visual basic 06 ho provato a copiare un file aprendo l'originale in modalità binary, leggendo ogni byte e depositandolo nella copia.
Il problema e che per file lunghi (.avi, immagini bitmap create con paint etc.) ci mette qualcosa come tre quarti d'ora a realizzarsi, o comunque tempi improponibili!!!!!!!!!!!!!!!!!!!!!
Ho provato a aprirlo in una modalità diversa ma in sequenziale non riesce a copiarlo (riesce a depositare nella copia solo una strana scritta) mentre con random i tempi sono gli stessi.
In Visual Basic .NET si potrebbero usame i comandi

My.Computer.FileSystem.ReadAllBytes
My.Computer.FileSystem.WriteAllBytes

ma in VB 06? Avete qualche idea di come velocizzare il processo?
Grazie mille

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 14:36
Domenica, 12/11/2006
Call FileCopy(percorso iniziale, percorsofinale).
ma non ho mai provato su file lunghi.

PM Quote
Avatar
Zhura (Ex-Member)
Newbie


Messaggi: 15
Iscritto: 03/10/2006

Segnala al moderatore
Postato alle 19:49
Domenica, 12/11/2006
Grazie mille
funziona tutto a meraviglia:asd::asd::asd::asd:

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 14:29
Lunedì, 13/11/2006
Di nulla.
piuttosto hai scoperto perchè andava così lento?

PM Quote
Avatar
Reese (Ex-Member)
Pro


Messaggi: 179
Iscritto: 09/08/2006

Segnala al moderatore
Postato alle 9:15
Martedì, 14/11/2006
Andava cosi' lento perche' leggeva ogni byte e lo scriveva in un altro. Assurdo.

PM Quote
Avatar
Zhura (Ex-Member)
Newbie


Messaggi: 15
Iscritto: 03/10/2006

Segnala al moderatore
Postato alle 21:25
Venerdì, 17/11/2006
E' vero leggeva un byte alla volta ma pensavo che fosse l'unico modo per farlo.
Comunque ho scoperto che in alternativa si possono leggere e depositare tutti i byte usando un array in questo modo:

Dim x() As Byte
Get #1, ,x
Put #1, ,x

così puoi anche velocizzare la modifica di file grandi!!!!!!!!!!!!

PM Quote