Ciao a tutti,
ho un collega da salvare che lavora in Delphi, deve leggere un file binario con record a lunghezza variabile.
Per esempio deve prima leggere 20 byte, poi 1000, poi 4...
Il programma lo ha finito e funziona, ma è decisamente lento.
Secondo me è lento perchè scarica quello che legge in un array di byte di 100.000 elementi di tipo char (sovrascrivendo nell'array il record letto in precedenza) e mi viene il dubbio che ogni volta che legge un record i 100.000 elementi vengono automaticamente puliti (perforza deve essere così).
Non conosco Delphi, ma in C++ ho la possibilità di creare al momento del bisogno un buffer di dimensioni variabile a seconda del numero di byte che devo leggere. Lui dice che in Delphi non si può... strano, si può anche in VB6!
Quello che a logica dovrebbe fare è
1) Capire quanti byte deve leggere (e questo lo fa)
2) Creare un buffer grande come il numero di byte da leggere
3) Utilizza i dati letti come più gli piace...
4) Elimina il buffer
I punti da risolvere sono il 2 ed il 4?
Si può?
Qual'e' la sintassi?