Arreglo en foxpro

Hola experto, quisiera saber la forma de pasar un variable de texto a un arreglo, creo que se hace con dimension pero no se como. Por ejemplo a='balena', quiero agregarle otra 'l' para que diga ballena, no es realmente lo que deseo hacer pero con este ejemplo se entiende.

1 Respuesta

Respuesta
1
Pues yo no conozco una función específica para pasar una cadena de texto a un arreglo, pero se puede hacer con un ciclo [FOR].
La función [DIMENSION] es para crear un arreglo o redimensionar uno ya existente.
Para pasar una cadena a un arreglo puedes hacer lo siguiente:
a = "Balena"
nLong = LEN(a)
DIMENSION aCadena(nLong)
FOR nCont = 1 TO nLong
        aCadena[nCont] = SUBSTR(a, nCont, 1)
ENDFOR
En el otro caso, puedes usar la función [STUFF()] para insertar una cadena en otra, por ejemplo:
a = "Balena"
b = STUFF(a, 4, 0, "l")
MESSAGEBOX(b)
Muy buena tu sugerencia, pero, como le haría para por ejemplo insertar la letra "l" en balena y recorrer 'ena', para que quede 'ballena'. O por ejemplo 1000, agregarle la coma para que quede como 1,000.
Con la función [STUFF()], mira el ejemplo:
a = "Balena"
a = STUFF(a, 4, 0, "l")
MESSAGEBOX(a)
En el caso del "1000" depende, si es de tipo carácter, puedes usar la misma función [STUFF()]. Si es numérico puedes usar la propiedad [InputMask] de algunos controles como los Cuadros de Texto, si es que lo quieres mostrar en un objeto. Ahora que si es una variable, puedes usar la función [TRANSFORM()] para imprimirla con la coma, checa los ejemplos:
** Para tipo caracter
cNum = "1000"
cNum = STUFF(cNum, 2, 0, ",")
MESSAGEBOX(cNum)
** Para convertir de numérico a caracter
eNum = 1000
eNum = TRANSFORM(eNum, "###,###")
MESSAGEBOX(eNum)
** Para mostrar con un formato diferente (sin convertir)
nNum = 1000
MESSAGEBOX(TRANSFORM(nNum, "$$$,$$$.99"))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas