Entweder du löst das Mathematisch
Delphi-Quellcode:
// setzen
G := A * 100 + B;
// auslesen
A := G div 100;
B := G mod 100;
oder über einen Record ... analog zu
TSmallPoint (TPoint sind 2 Integer in einem Int64)
Delphi-Quellcode:
type
TSplitt = record
case Integer of
0: (g: LongInt);
1: (a, b: Word);
end;
// setzen
Splitt.a := A;
Splitt.b := B;
g := Splitt.g;
// auslesen
Splitt.g := G;
A := Splitt.a;
B := Splitt.b;
// auslesen
A := TSplitt(G).a;
B := TSplitt(G).b;
oder
Delphi-Quellcode:
type
TSplitt = record
class function Set(A, B: Word): LongInt;
case Integer of
0: (g: LongInt);
1: (a, b: Word);
end;
class function TSplitt.Set(A, B: Word): LongInt;
begin
TSplitt(Result).a := A;
TSplitt(Result).b := B;
end:
// setzen
TSplitt(G).a := A;
TSplitt(G).b := B;
// setzen
G := TSplitt.Set(A, B);
// auslesen
Splitt.g := G;
A := Splitt.a;
B := Splitt.b;
// auslesen
A := TSplitt(G).a;
B := TSplitt(G).b;
Das Ganze kann man notfalls noch in Funktionen kapseln:
Typgrößen und Multiplikatoren können/müssen natürlich noch angepaßt werden.