Texto CLASS
Frase String(200), PROTECTED
Palabra String(20), PROTECTED
Puntero Short, PROTECTED
Delimitadores String(20), PRIVATE
Construct PROCEDURE
Inicio PROCEDURE(String Frase)
SigPalabra PROCEDURE, String
END
Texto.Construct PROCEDURE()
CODE
!cualquiera de estos caracteres pueden separar palabras
SELF.Delimitadores = ' ,;.-()][}{{_:<<>\/@#ºª^?¿¡!|"'''
SELF.Puntero = 1
Texto.Inicio PROCEDURE(String Frase)
CODE
SELF.Puntero = 1
SELF.Frase = Frase
Texto.SigPalabra PROCEDURE()
DESDE SHORT
HASTA SHORT
LETRA STRING(1)
CODE
SELF.Palabra = ''
!primero busco donde comienza la siguiente palabra (elimino delimitadores)
LOOP DESDE = SELF.Puntero TO 200
IF NOT INSTRING(SUB(SELF.Frase,DESDE,1), SELF.Delimitadores,1,1)
THEN BREAK.
END
LOOP HASTA = DESDE TO 200
Letra = SUB(SELF.Frase,HASTA,1)
IF INSTRING(Letra, SELF.Delimitadores,1,1)
BREAK
ELSE
SELF.Palabra = CLIP(SELF.Palabra) & Letra
END
END
SELF.Puntero = HASTA + 1
RETURN(SELF.Frase[Desde : Hasta])
Nenhum comentário:
Postar um comentário