Otevřít hlavní menu

Změny

Ptr

Přidáno 887 bajtů, 5. 10. 2012, 13:59
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...“
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.

[[Category:System]]
[[Category:Funkce System]]