zczytuje dane z pliku używająć:
var P: pointer;
blockread(filehandle, p, datasize);
I teraz chciałbym mieć dostęp do wskażnika p jak do tablicy. Jak to zrobić?
zczytuje dane z pliku używająć:
var P: pointer;
blockread(filehandle, p, datasize);
I teraz chciałbym mieć dostęp do wskażnika p jak do tablicy. Jak to zrobić?
Wczytuj za pomocą blockread bezpośrednio do tablicy. Ewentualnie zrzutuj p na typ jakiejś tablicy
type TTablica = array of byte; //przykładowo
var
P:Pointer;
tab: TTablica;
blockread(fh, p, datasize);
tab:=TTablica(p); // powinno działać
A może lepiej dane zczytywać do tablicy dynamicznej, wielkość tablicy ustawia się instrukcją setlength
No, ale jak robie:
setlength(tablica, datalength);
blockread(filehandle, tablica, datalength); to mi wywala błąd ;/
ok, zrobiłem to tak jak Bula powiedział z rzutowaniem wskaźnika na ttablica;
type ttablica = array of byte;
arraydata:= ttablica(pointerdata);
i działa! Dzięki!