Cosa che quel programma aveva sempre fatto. E infatti, mi stavo scervellando su come non ti funzionasse ... a questo punto, tu non l'avevi mai provato ...Originariamente inviato da FM01967
Allora,
dopo questo scambio di email ho fatto delle prove ulteriori e sono riuscito a farlo funzionare in parte esattamente nel modo riportato nel listato. In parte in quanto mi funziona solo con la prima parte del file, ossia mi legge i caratteri dei primi due giga.
Ecco ... e' questo il problema vero ... ma se leggi la documentazione su MSDNIl problema nasce quando cerco di accedere ai restanti due giga, imposto ad 1 il parametro della parte alta, invece di 0,
Call SetFilePointer(hFile, kStartPos, 1, FILE_BEGIN) ' low, high
ma mi legge solo spazi bianchi.
Come devo valorizzare il parametro?
SetFilePointer
http://msdn.microsoft.com/en-us/library/aa365541(VS.85).aspx
vedi facilmente che il parametro
__inout_opt PLONG lpDistanceToMoveHigh,
e' un puntatore a long, quindi dovresti usare una variabile
Dim ha As Long
ha = 1
e usare la variabile che sarà passata per riferimento
Call SetFilePointer(hFile, kStartPos, ha, FILE_BEGIN) ' low, high