Creo entender que tu problema es recibir una cadena y averiguar cuales son los tres valores, separados por espacios.
Código Delphi
[-]
procedure RecibeDato(aDato : string)
var
Posicion : integer;
sAux : string;
sTipo : string;
x,y,x : integer;
begin
sAux := aDato;
Posicion := Pos ('(',sAux); sTipo := copy (sAux,1,Posicion); sAux := copy (sAux,Posicio+1,Length(sAux))
Posicion := Pos (' ',sAux); x := StrToInt( copy (sAux,1,Posicion) );
sAux := copy (sAux,Posicio+1,Length(sAux))
Posicion := Pos (' ',sAux); y := StrToInt( copy (sAux,1,Posicion) );
sAux := copy (sAux,Posicio+1,Length(sAux))
Posicion := Pos (')',sAux); z := StrToInt( copy (sAux,1,Posicion) );
sAux := copy (sAux,Posicio+1,Length(sAux))
[...]
end;