Ver Mensaje Individual
  #6  
Antiguo 08-04-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
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.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 08-04-2008 a las 04:23:46.
Responder Con Cita