You are on page 1of 4

Variable de memoria y memoria de

sistema
Los archivos de variable de memoria son una manera de almacenar el estado de las variables de
memoria que están almacenados actualmente en la memoria y utilizarlos más adelante en el
mismo programa o en otra sesión de FoxPro.

Los comandos que se utilizan cuando se crean y utilizan los archivos .MEM son los siguientes:

SAVE TO <file>|TO MEMO <memo field> [ALL LIKE|ALL EXCEPT <skel>]

RESTORE FROM <file>|FROM MEMO <memo field> [ADDITIVE]

Algunas cosas que son importantes para recordar al uso de archivos de variable...

Algunas cosas que son importantes para recordar al uso de archivos de variable de Memoria:

1. Todas las variables de memoria que se almacenan en el archivo .MEM,


independientemente de que se va a declarar public o private, se tratan como private
variables si se restauran en un programa, a menos que se agregue la cláusula
ADDITIVE al comando Restore FROM. Se tratan como variables públicas si se
restauran a desde la ventana Comandos.

Siguiente es un ejemplo de uso de la cláusula Restore from ADDITIVE.... para declarar


una variable de memoria restaurado como Public en un programa:
2. PROG1.PRG
3.
4. val1 = 12
5. val2 = "test"
6. SAVE TO temp
7.
8. PROG2.PRG
9.
10. PUBLIC val2
11. RESTORE FROM temp
12. DISPLAY MEMORY LIKE val?
13. CLEAR ALL
14. PUBLIC val2
15. RESTORE FROM temp ADDITIVE
16. DISPLAY MEMORY LIKE val?
17. Todas las variables que se encuentran actualmente en memoria se colocará en el archivo
.MEM a menos que las opciones All excepto o todos los LIKE sean incluidas con el
Save para comandos. ¿Los caracteres comodín? y * se pueden utilizar con estas
opciones.

Para excluir las variables, utilice todos excepto opción <skel> DE LA Save para
comandos. Por ejemplo:
18. SAVE TO test ALL EXCEPT v*
para incluir las variables, utilice todos LIKE opción <skel> DE LA Save al comando.
Por ejemplo:

SAVE TO test ALL LIKE var?

19. Las variables de memoria del sistema no se ven afectadas por comandos Restore from o
Save A.
20. Cualquier las variables de memoria o matrices que se encuentran actualmente en
memoria se borren a menos que la cláusula ADDITIVE se incluye con el comando
RESTORE FROM. Si una variable conectar en tiene el mismo nombre que una variable
existente, el valor de la variable en el archivo de la memoria reemplazará el valor
actual.
21. Si el número de variables que se va a conectar en el comando RESTORE from
ADDITIVE supera el límite MVCOUNT cuando agrega a las variables que se
encuentran actualmente en memoria, se restaurará el número máximo posible. La
opción MVCOUNT se almacena en el archivo CONFIG.FP con el valor predeterminado
de las variables 256.

Variable local
Una variable local es aquella cuyo ámbito se restringe a la función que la ha declarado
se dice entonces que la variable es local a esa función. Esto implica que esa variable
sólo va a poder ser manipulada en dicha sección, y no se podrá hacer referencia fuera de
dicha sección. Cualquier variable que se defina dentro de las llaves del cuerpo de una
función se interpreta como una variable local a esa función.
Variables privadas
Las variables de privada se declaran dentro programas o los procedimientos y se pueden
utilizar y manipula dentro de ese programa o procedimiento y cualquiera de sus sub-
programs.

Variables privadas se declaran de tres maneras:

1. Crear una variable dentro de un programa o procedimiento sin declarar es como


pública. La variable se convierte en privado para el programa o procedimiento
en el que se declara.

Por ejemplo, en el programa MYPRG.PRG, declare var2 como privada con este
comando:
2. var2=2500

ahora var2 está declarado como privado para MYPRG.PRG. Está disponible
para todos los procedimientos llamados por MYPRG.PRG.

3. Incluir la variable en una declaración PARAMETERS. Esto automáticamente


hace que la variable a ser privado para ese programa o procedimiento.
4. Utilice el comando PRIVATE en las variables declaradas anteriormente. Esto
facilita la variable declarada anteriormente y su contenido oculto. La nueva
variable privada se convierte en privado para el programa actual o el
procedimiento. El comando PRIVATE no inicialmente declara ningún valor, ya
debe existir una variable antes de PRIVATE se pueda utilizar en él
correctamente.

Las variables públicas


También conocido como variables globales, variables públicas son variables que se
pueden utilizar y modificadas por cualquier programa de FoxPro y cualquiera de sus
sub-programs para la duración de la sesión de FoxPro o hasta que desaparezca la
variable de la memoria.

Variables públicas se declaran en una de estas dos maneras:

1. Crear una variable en la ventana de comandos. Cualquier variable creada en la


ventana de comandos se automáticamente declarado público. Por ejemplo, desde
la ventana de comandos, escriba X=1000. La variable X ahora es pública para
todas las aplicaciones.
2. Dentro de un programa, declare una variable como pública mediante el comando
públicas. En todos los programas, debe declarar la variable como pública antes
de asignarle un valor, como en este código de ejemplo:
3. PUBLIC var1
var1=1000
Las variables ocultas
Variables que no se puede declarar ocultas, pero es posible que se convierten en ocultos
variables que anteriormente se declararon como pública o privada. Ocultando las
variables creadas en programas superiores, puede habilitar las variables del mismo
nombre que se manipulan en el programa actual sin afectar a los valores de las variables
ocultas.

Una vez que el programa o procedimiento que contiene las variables privadas finalice la
ejecución, todas las variables de memoria y matrices que estaban ocultos
posteriormente, vuelva a están disponibles.

Las variables están ocultos en una de estas dos maneras:

1. Si ya se ha declarado una variable, utilizar el comando PRIVATE seguido del


nombre de variable para ocultar la variable existente y crear una nueva variable
PRIVATE.
2. Utilice una variable del mismo nombre en una instrucción PARAMETERS. Si
una variable declarada recién comparte el mismo nombre que una variable
declarado previamente, se oculta la variable declarada anteriormente y se crea
una nueva variable privada para el programa actual o el procedimiento.

Para comprobar el estado de una variable, utilice el comando Mostrar memoria. Mostrar
memoria proporciona información sobre las variables definidas por el usuario, ya sean
pública, privada o oculto y donde (el programa o procedimiento) se declara.

Una variable local es aquella cuyo ámbito se restringe a la función que la ha declarado
se dice entonces que la variable es local a esa función. Esto implica que esa variable
sólo va a poder ser manipulada en dicha sección, y no se podrá hacer referencia fuera de
dicha sección.

Cualquier variable que se defina dentro de las llaves del cuerpo de una función se
interpreta como una variable local a esa función.Cuando una variable x es local a una
función func1, significa que la función func1 es la propietaria de dicha variable, y puede
acceder a ella y modificarla. Si cualquier otra función del programa necesita conocer el
valor de la variable x, es la función func1 la que debe transferir el valor de x a través del
paso de argumentos en la llamada a la función. Si además esta función desea modificar
el valor de dicha variable, entonces tendrá que devolver el nuevo valor a func1, y será
func1 quien se encargue de asignar el valor devuelto a su variable x.

El argumento formal ámbito de un argumento formal es el mismo que el de una variable


local; el argumento formal definido en la cabecera de una función sólo podrá ser
accedido dentro del cuerpo de dicha función, y no en otros lugares del programa.

Editado por: JOSE_COLORADO_105@HOTMAIL.COM

You might also like