Manejo de cadenas de texto
? QuitaEspacio("Esta es una prueba")
Function QuitaEspacio(cCadena)nCountR=Ceiling(Sqrt(Occurs(Space(1),cCadena)))
Return Evaluate(Replicate([STRTRAN(],;
nCountR)+[cCadena]+ Replicate([,SPACE(2),SPACE(1))],nCountR))
EndFunc
CEILING.- Devuelve el entero más próximo quesea mayor o igual que la expresión numérica especificada.
SQRT.- Devuelve la raíz cuadrada de la expresión numérica especificada.
OCCURS.- Devuelve el número de veces que ocurreuna expresión dentro de otra expresión de caracteres.
SPACE.- Devuelve una cadena de caracteres compuesta de un número especificado de espacios
EVALUATE.- Evalúa una expresión decaracteres y devuelve el resultado (Character, Numeric, Currency, Date, DateTime, Logical o Memo)
REPLICATE.- Devuelve una cadena de caracteres que contiene una expresión de caracteresespecificada que se repite un determinado número de veces
EJEMPLO PARA SELECCIONAR LA PARTE NUMERICA DE UNA INFORMACION ANTES DE ENCONTRAR UN BLANCO
products.unit_price /VAL(LEFT(products.no_in_unit, AT(" " , products.no_in_unit,1)))
o
r=345.67
x= VAL(LEFT(r, AT(" " ,r,1))) **OK
?x
345.67
VAL.- Devuelve un valor numérico a partir de unaexpresión de caracteres compuesta de números
LEFT.- Devuelve un número especificado de caracteres de una expresión de caracteres, a partir del carácter situado más a la izquierda
AT.-Devuelve la posición numérica inicial de la primera aparición de una expresión de caracteres o de un campo memo en otra expresión de caracteres o campo memo; se cuenta desde el caráctersituado más a la izquierda.( cExpresiónBúsqueda, cExpresiónBuscada [, nAparición])
EJEMPLO
clear
numero=space(1)
d="250 cajas de 25 botellas de ron"
l=len (d)
x=1
do while x
Regístrate para leer el documento completo.