Otevřít hlavní menu

Změny

Seg

Přidáno 1 166 bajtů, 5. 10. 2012, 15:02
Vytvorená stránka „Vrací segment určeného objektu. ;Deklarace function Seg(X): Word; ;Režim :Windows, Reálný, Chráněný ;Poznámky :X je jakákoli proměnná nebo identifikáto...“
Vrací segment určeného objektu.

;Deklarace
function Seg(X): Word;

;Režim
:Windows, Reálný, Chráněný

;Poznámky
:X je jakákoli proměnná nebo identifikátor procedury či funkce. Výsledek je typu [[Word]] a udává segmentovou část adresy objektu X.

;Viz také
:[[Addr]]

:[[Ofs]]


Vzorový příklad

{CSeg.PAS}
{Vzorový příklad funkce CSeg, DSeg, SSeg, SPtr, Ofs a Seg.}
{ Pro Windows: }
{ uses WinCrt; }
procedure WriteHexWord(w: Word);
const
hexChars: array [0..$F] of Char =
'0123456789ABCDEF';
begin
Write(hexChars[Hi(w) shr 4],
hexChars[Hi(w) and $F],
hexChars[Lo(w) shr 4],
hexChars[Lo(w) and $F]);
end;
var
i: Integer;
begin
Write('Aktuální kódový segment je $');
WriteHexWord(CSeg); Writeln;
Write('Globální datový segment je $');
WriteHexWord(DSeg); Writeln;
Write('Segment zásobníku je $');
WriteHexWord(SSeg); Writeln;
Write('Ukazatel zásobníku je na $');
WriteHexWord(SPtr); Writeln;
Write('i je na ofsetu $');
WriteHexWord(Ofs(i));
Write(' v segmentu $');
WriteHexWord(Seg(i));
end.

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