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 lettura byte
Forum - Visual Basic 6 - Velocizzare lettura byte

Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:58
Giovedì, 06/11/2008
Ciao a tutti, ho un problema che non saprei come risolvere. Necessito di leggere files ed uso:
dim dati(1 to 9999) as string, i as integer
Open "blabla.exe" For Binary As #1
Do
i = i + 1
Get #1, , dati(i)
DoEvents
Loop Until EOF(1) = True
Close #1

Diciamo che il codice che uso è simile solo che non c'è la limitazione di grandezza file...cmq per un file di pochi kb lo carica subito nell'array, ma già basta ke sia da 4 mg e ci mette un eternità, a questo punto mi domando come far leggere tutto insieme, o cmq trovare un metodo + veloce. Grazie.

P.s. Ho trovato quest'API ma non ho capito come utilizzarla: http://forum.masterdrive.it/visual-basic-6-17/leggere-file ...

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 21:51
Giovedì, 06/11/2008
adesso dico una cazzata ma la lentezza non e` dovuta dal fatto che stocchi tutto in byte?
cioe io uso principalmente le string (lo so che non e` consigliabile) ma carica anche delle centinaia di mega in pochi secondi..

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 13:50
Venerdì, 07/11/2008
Il problema è che sto facendo un editor esadecimale e se uso le string in realtà non mi prende tutti i caratteri presenti nel file, quindi quando salvo l'exe risulta "danneggiato"...

capito?

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 19:11
Sabato, 08/11/2008
e salvarlo in un'array di integer oppure long?
non dovrebbe essere troppo difficile. l'unico problema è la segmentazione/ conversione che potrebbe ciucciare un fracasso di tempo.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:16
Sabato, 08/11/2008
Ho imparte risolto usando al posto della get #1:
dati = Input(LOF(1), #1)

l'unico probl è che x i file un pò più grossi di 20 o 10 mega ci mette un pò...cmq diciamo che a me va bene così perchè gli exe non sono poi tanto grandi :D

PM Quote