FoxPro/Visual FoxPro - variable

 
Vista:

variable

Publicado por adrian (39 intervenciones) el 20/04/2009 21:44:47
holaa maigos!! tengo una duda yo siempre uso variables declarandolas
local nombrevariable
y le asigno un valor
nombrevariable="lo que sea"
mi duda es que en muchos codigo veo que le ponen una m.
por ejem
m.nombrevariable
me gustaria saber cual es la diferencia ,muchas gracias!! saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:variable

Publicado por Luighi (105 intervenciones) el 21/04/2009 03:07:21
la diferencia radica en la priorización

sucede que cuando tenemos una variable llamada por ejemplo "codigo"
y a la vez tenemos abierta una tabla en el área de trabajo actual,
tabla que a la vez tiene un campo llamado "codigo"
nos encontramos así en una coincidencia entre el nombre de la variable y el nombre del campo de la tabla

entonces si haces lo siguiente en la ventana de comandos:

wait codigo window nowait

lo que te va a mostrar es el contenido del campo "codigo" y no el contenido de la variable "codigo"
es decir, el nombre de un campo tiene prioridad sobre una variable de memoria, por lo tanto se va a mostrar primero, obviando a la variable
pero si de pronto cierras la tabla y vuelves a escribir el mismo comando:

wait codigo window nowait

dado que ya no existe ningún campo de una tabla para mostrar
lo que te mostrará entonces es el contenido de la variable

pero muchas veces tenemos variables que coinciden con el nombre de algún campo o campos de alguna tabla o tablas

siendo así lo que se hace es anteponer la m. a la variable, para indicarle a fox que lo necesitas es el valor de la variable precisamente

vale decir:

wait m.nombre window nowait

como verás, anteponer m. a una variable nos servirá siempre para priorizar a la variable sobre cualquier campo con el mismo nombre...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:variable

Publicado por Plinio (7841 intervenciones) el 21/04/2009 03:36:05
No necesariamente es como lo explicas Luighi. Ver en la ayuda el uso de SCATTER MEMVAR y GATHER MEMVAR. (en si en deshuso)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:variable

Publicado por neo (1604 intervenciones) el 22/04/2009 03:43:34
Es cierto, En todo el tiempo que tengo programando, ni siquiera he usado el Memvar y Gather Memvar,

Creo que era para versiones anteriores o formas anteriores de programar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar