Deine Vorgehensweise gefällt mir gar nicht; zu umständlich.
Zunächst wird ein
Varianter Record definiert:
Delphi-Quellcode:
type
T32BitCharField = record
case Integer of
0:
(LongValue:Longint);
1:
(bytes: array[0..3] of char);
end;
Damit kann man zwischen den verschiedenen Darstellungen wechseln:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
x : T32BitCharField;
s : string;
begin
s := adstableAnzahl.AsString; // Feld auslesen
StrLCopy(x.bytes, Pchar(s), 4); // auf "x" kopieren
// x wird verändert
x.LongValue := x.LongValue + 100;
SetString(s, x.bytes, 4);
dstableAnzahl.AsString := s; // Feld zurückschreiben
end;