Hi

Mabakay
Hi
Moduł: System
```delphi function Hi(X): Byte; ``` [[Delphi/Funkcje|Funkcja]] zwraca wysoki bajt parametru X. Gdzie X jest wyrażeniem typu Integer. Możemy to wykorzystać np. do wyciągania dwóch liczb ukrytych w jednej zmiennej typu Integer.
program Foo;

{$APPTYPE CONSOLE}

var
  W: LongWord;

uses
  SysUtils;

begin
  W := $11336699;
  Writeln('High-Byte: $', IntToHex(Hi(W), 0)); {Low-Byte: $66}
  Readln;
end.

Funkcja Hi w <font color="red">Delphi</span> zawsze traktuje wyrażenie jako Integer 16 bitowy, niezależnie od tego, czy taki jest, czy 32 bitowy. Natomiast we <font color="red">Free Pascalu</span> funkcja zwróci bajt, gdy zmienna będzie 2 bajtowa i słowo, gdy 4 bajtowa.
Funkcja Hi nie istnieje w Delphi dla .NET

Zobacz też:

2 komentarzy

Dzieki za info.

Lo, Hi nie jest kompatybilne z Free Pascal Compiler, tam Lo($11336699) = $6699, a Hi($11336699) = $1133

http://www.freepascal.org/