Hola,
Yo sigo a lo mío...

Creo que mi anterior función podría (y aun debería) quedar así, mejor o peor:
Código Delphi
[-]
function GetLaminaType(rawData: string): string;
var
i: integer;
begin
result := '';
i := Length(rawData);
while (i >= 1) do begin
if (rawData[i] = ' ') then
break;
result := rawData[i] + result;
Dec(i);
end;
end;
Nótese que ahora el bucle aguantaría mientras la variable "i" valiera igual o más que 1. ¿Por qué así ahora? Porque, si no recuerdo mal, las cadenas en Delphi son "Arrays" de caracteres cuyo índice comienza en uno, no en cero. Tal anteriormente la función de marras podría haber dado algún problema... ¡tal vez incluso ahora pueda darlos!
PD. Probándolo de nuevo no parece haber problema con el "cero", pero, el "uno" me sigue pareciendo más oportuno. Además he añadido el "result" del principio, por principio.
