GETMEM jak zapisac dane do pamięci?

0

var
buf:pointer;
begin
getmem(buf,1000);

end;
i chciał bym do bufora odczytać i zapisać dane bajt po bajcie jak mogę to zrobić bo tam jest tylko pointer?

1

move

0

Może ktoś napisać jak zapisać bajt po bajcie pamięć którą sobie zarezerwowałem. Prosił bym o przykład.

2

Zgaduję, że powinieneś najpierw doczytać podstawy odnośnie wskaźników (btw, od takich tematów jest dział newbie).
A odnośnie pytania - zapewne coś w rodzaju:
PByte(wskaznik)^ := wartosc;
Chyba, że chcesz te dane masowo np.kopiować z jednego miejsca na inne; wtedy oczywiście wydajniej i rozsądniej byłoby użyć rzeczonego wcześniej move.

0

Faktycznie działa. Ostatnie pytanko jak odczytać kolejny bajt?. Bo kiedy użyje x:=pbyte(buf)^; To odczytuje pierwszy element jak mu wskazać, żeby odczytywał następne. Wiem, że dla nie których to proste ale ja sobie nie radzę z tymi wskaźnikami

0
piter2004 napisał(a)

Wiem, że dla nie których to proste ale ja sobie nie radzę z tymi wskaźnikami

Bo wskaźniki z natury trudno zrozumieć, dlatego polecam poczytać choćby ten artykuł;

0

jak mu wskazać, żeby odczytywał następne

Zapewne PByte(wskaznik+1)^?

0

Próbowałem tak, ale się nie da pisze wtedy błąd "Operator not applicable to this operand type"
var
x:byte;
buf:pointer;
begin
getmem(buf,1000);
x:=PByte(buf+1)^;

end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1