Sin dudas lo que te propone
Al Gonzalez, es la solución mas habitual. Sucede que muchas veces dentro de una función hay muchas referencias a cada byte de un valor y no desees estar llamando a funciones como Hi/LoByte y MakeWord para armar el resultado, o te encuentres con algún tipo de datos mas difícil de descomponer. En este caso hay otras opciones muy prácticas que ofrece el lenguaje:
Podes crear dos variables que residan en el mismo espacio de memoria mediante la directiva
absolute:
Código Delphi
[-]
var
W: Word;
B: array[0..1] of byte absolute W;
begin
B[0] := 255;
B[1] := 0;
WriteLn(W);
Otra opción, es usar registros con partes variables:
Código Delphi
[-]
type
TMyWord = record
case Integer of
1: (Value: Word);
2: (LoByte: Byte;
HiByte: Byte
end;
var
W: TMyWord;
begin
W.LoByte := 255;
W.HiByte := 0;
WriteLn(W.Value);
Espero no confundir!..
Saludos!