Ptr

From Delphi & Pascal (česká wiki)
Jump to navigation Jump to search

Převede segmentovou bázovou a offsetovou adresu na hodnotu ukazatelového typu.

Deklarace
function Ptr(Seg, Ofs: Word): Pointer;
Režim
Windows, Reálný, Chráněný
Návratová hodnota
Ukazatel na adresu danou Seg a Ofs.
Poznámky
Seg a Ofs jsou výrazy typu Word. Výsledkem je ukazatel, který ukazuje na adresu, danou parametry Seg a Ofs. Stejně jako nil je výsledek Ptr pro přiřazování kompatibilní se všemi typy ukazatelů.
Výsledek lze upravit nepřímým odkazem (dereference) a přetypováním (typecast):
if Byte(Ptr(Seg0040, $49)^) = 7 then
   Writeln('Video mode = mono');
Viz také
Addr


Vzorový příklad

{Ptr.PAS}
{Vzorový příklad pro funkci Ptr.}
var P: ^Byte;
begin
  P := Ptr($40, $49);
  Writeln('Aktuálním video;Režimem je ', P^);
end.