2.1.2.-Asignacion de Valores

6
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>] Y 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.

Transcript of 2.1.2.-Asignacion de Valores

Page 1: 2.1.2.-Asignacion de Valores

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>]

Y 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.PRG3.4. val1 = 125. val2 = "test"6. SAVE TO temp7.8. PROG2.PRG9.10. PUBLIC val211. RESTORE FROM temp12. DISPLAY MEMORY LIKE val?13. CLEAR ALL14. PUBLIC val215. RESTORE FROM temp ADDITIVE16. 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*

Page 2: 2.1.2.-Asignacion de Valores

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 localUna 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.

Page 3: 2.1.2.-Asignacion de Valores

Variables privadasLas 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úblicasTambié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

Page 4: 2.1.2.-Asignacion de Valores

Las variables ocultasVariables 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: [email protected]