Un PChar es un puntero a un caracter, se utilizan para manejar cadenas terminadas en caracter nulo como en C. El "truco" esta es mover el puntero por la cadena, adelante o atras segun convenga.
Por ejemplo:
Código Delphi
[-]
var
P: PChar;
Aux: PChar;
i: integer;
s: string;
begin
GetMem(P, 256);
try
FillChar(P^,256,0);
StrCopy(P, 'Hola mundo');
Aux:= P;
s:= '';
for i:= 1 to StrLen(P) do
begin
s:= s + Aux^;
inc(Aux);
end;
ShowMessage(s);
Aux:= P;
s:= '';
while Aux^ <> #0 do
begin
s:= s + Aux^;
inc(Aux);
end;
ShowMessage(s);
inc(Aux);
finally
FreeMem(P);
end;
end;
Es solo un ejemplo de como recorrer la cadena, para copiar el contenido de un PChar en un String hay metodos mas eficaces:
Código Delphi
[-]
var
P: PChar;
Aux: PChar;
s: string;
begin
GetMem(P, 256);
try
FillChar(P^,256,0);
StrCopy(P, 'Hola mundo');
S:= String(P);
Aux:= P + StrLen(P) + 1;
ShowMessage(S);
finally
FreeMem(P);
end;
end;
Y algo parecido a lo que quieres hacer tu, metemos en una misma porcion de memoria un texto y un integer, y luego los volvemos a separar.
Código Delphi
[-]
var
P: PChar;
Aux: PChar;
s: string;
i,j: Integer;
begin
GetMem(P, 256);
try
FillChar(P^,256,0);
StrCopy(P, 'Hola mundo');
i:= 1234;
Aux:= P + StrLen(P) + 1;
move(i,Aux^,sizeof(i));
S:= String(P);
Aux:= P + StrLen(P) + 1;
move(Aux^,j,sizeof(j));
ShowMessage(S + ',' + IntTostr(j));
finally
FreeMem(P);
end;
end;
Son varios ejemplos de como tratar con PChar, revisa tanbien la ayuda de delphi, encontraras un monton de funciones para tratar con este tipo de cadenas de texto.

Y si no encuentras lo que buscas vuelve por aqui haber que podemos hacer.