Erstmal: Ein
Cardinal ist ein Datentyp, der von 0 bis 2^32-1 reicht, also der gröte Integer. Und wie du das Byte in den PChar bekommst, ist einfach:
Delphi-Quellcode:
var p: PChar; b: Byte;
GetMem(p, 1);
p^ := b;
Oder alternativ:
Delphi-Quellcode:
var p: PChar; b: Byte;
GetMem(p, 1);
p := PChar(IntToStr(b));