Warum die ganzen mathematischen Funktionen, wenn man ein Record nehmen kann, welcher zwei Entsprechungen hat (Long und die vier Bytes)?
Code:
const
// constant for
DLL Version number
Ver_Major_Hi: byte = 1;
Ver_Major_Lo: byte = 2;
Ver_Minor_Hi: byte = 3;
Ver_Minor_Lo: byte = 4;
type
RVersion = record
case boolean of
true: (Version: LONG);
false: (Ver_Minor_Lo: byte;
Ver_Minor_Hi: byte;
Ver_Major_Lo: byte;
Ver_Major_Hi: byte)
end;
procedure TForm2.FormCreate(Sender: TObject);
var
x: RVersion;
begin
x.Ver_Major_Hi:=Ver_Major_Hi;
x.Ver_Major_Lo:=Ver_Major_Lo;
x.Ver_Minor_Hi:=Ver_Minor_Hi;
x.Ver_Minor_Lo:=Ver_Minor_Lo;
Caption:=IntToHex(x.Version, 8);
end;