Ptr

Z Delphi & Pascal (česká wiki)
Verze z 5. 10. 2012, 14:59, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (Vytvorená stránka „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...“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

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.