como definir constantes publicas

780 views
Skip to first unread message

Lizardo

unread,
Oct 15, 2009, 2:19:34 PM10/15/09
to Mundo Visual FoxPro
Saludos amigos;
Quisiera saber como definir constantes publicas para utilizarlo en
todo el sistema.
no variables sino constantes.

hice la siguiente forma al inicio del programa pero no llega a jalar,

#define anulado 1

solo lo jala en el procedimiento que esta trabajando.
si conocen alguna forma de manejar esta situacion les agradecere que
me hagan llegar el tip.

saludos
gracias

Ing.Daniel Bojorge

unread,
Oct 15, 2009, 2:40:58 PM10/15/09
to mundovis...@googlegroups.com
Una forma (no la única y capaz que ni la mejor) es meter todas tus definiciones en un archivo .h) y desde un prg sólo ponés inlucde "archivo.h" y listo

y desde los formularios sólo vas a la opción de menú Formulario->Incluir Archivo y listo


Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
Nicaragua

visita www.debs.educaleft.com

Cristobal Galvan

unread,
Oct 15, 2009, 3:47:53 PM10/15/09
to mundovis...@googlegroups.com
Usa archivos H
Incluyelo en el form
#DEFINE MiVariable = 1

Cristobal E. Galvan Nicasio



> Date: Thu, 15 Oct 2009 11:19:34 -0700
> Subject: [Mundo Visual FoxPro] como definir constantes publicas
> From: sal...@gmail.com
> To: mundovis...@googlegroups.com

Lizardo

unread,
Oct 15, 2009, 4:27:15 PM10/15/09
to Mundo Visual FoxPro
Gracias amigos;
usare sus recomendaciones.


On 15 oct, 14:47, Cristobal Galvan <galvan_cristo...@hotmail.com>
wrote:
> Usa archivos H
> Incluyelo en el form
> #DEFINE MiVariable = 1
>
> Cristobal E. Galvan Nicasio
>
>
>
> > Date: Thu, 15 Oct 2009 11:19:34 -0700
> > Subject: [Mundo Visual FoxPro] como definir constantes publicas
> > From: sali...@gmail.com
> > To: mundovis...@googlegroups.com
>
> > Saludos amigos;
> > Quisiera saber como definir constantes publicas para utilizarlo en
> > todo el sistema.
> > no variables sino constantes.
>
> > hice la siguiente forma al inicio del programa pero no llega a jalar,
>
> > #define anulado 1
>
> > solo lo jala en el procedimiento que esta trabajando.
> > si conocen alguna forma de manejar esta situacion les agradecere que
> > me hagan llegar el tip.
>
> > saludos
> > gracias
>
> _________________________________________________________________
> ¿Estás fuera de temporada? Entra ya en Nueva Temporada y entérate antes que nadie de sobre famosos, moda, belleza y el look que se lleva este otoño.http://events.es.msn.com/entretenimiento/nueva-temporada/vuelta-al-cole/

Carlos Miguel FARIAS

unread,
Oct 15, 2009, 6:05:12 PM10/15/09
to mundovis...@googlegroups.com
A su vez, los archivos h, pueden tener includes de otros archivos h, y hay sentencias condicionales que permiten ejecutar includes condicionales, ver sentencias #if y compania.

Marlon Cabrera

unread,
Oct 17, 2009, 12:26:16 PM10/17/09
to mundovis...@googlegroups.com
Solo pon la declaración en el programa , clase, form principal

#DEFINE MAX_VALUE 10

Ojo lo mejor es crear un archivo extención .h (por convención) y lo insertas
donde lo necesites ya que en cada form o programa que lo requieras siempre
le tendrás que hacer referencia,

#INCLUDE SISTEMA.H

En los form en el momento de diseño debes incluirlos en MENU->FORM->INCLUDE
FILE

Esto es así por que si ejecutar un form solo y tienes el include en el main
las constantes no están cargadas en memoria, ya que no lo has ejecutado.



-----Mensaje original-----
De: mundovis...@googlegroups.com
[mailto:mundovis...@googlegroups.com] En nombre de Lizardo
Enviado el: jueves, 15 de octubre de 2009 12:20 p.m.
Para: Mundo Visual FoxPro
Asunto: [Mundo Visual FoxPro] como definir constantes publicas

Cristobal Galvan

unread,
Oct 17, 2009, 12:49:07 PM10/17/09
to mundovis...@googlegroups.com
Otra tecnica es que en tu programa principal setup.prg, definas las variables como publicas:

RELEASE MyVar
PUBLIC MyVar as STRING


Cristobal E. Galvan Nicasio

Carlos Miguel FARIAS

unread,
Oct 18, 2009, 10:59:14 AM10/18/09
to mundovis...@googlegroups.com
Estimados:
Hay años luz entre usar variables publicas y constantes definidas con DEFINE.
Una variable pública, es un lugar de memoria que el programa tiene que definir al momento de correr, y mantener en una lista de variables que crea fox (esa lista tiene los apuntadores al área de memoria específica), esto es así porque fox maneja variables variant y tiene que reacomodar el direccionamiento cada vez que cambiamos el contenido.
Aún sin cambiar el contenido, las variables publicas para ser accedidas, implican una carga adicional y es una fuente de error en el caso de que accidentalmente (el accidente es un error de de lógica de programacion) la variable sea modificada y los resultados inesperados.
Además, una variable pública puede "desaparecer" si usamos una clausula private que la "tape".
En cambio, una constante definida con define, es "algo" que reemplaza su nombre por su contenido al momento de la compilación (digo algo, porque una define puede reemplazar desde codigo hasta valores), como se hace en momento de compilaciòn, no toma mas espacio ni tiempo al momento de la ejecución
Ejemplo:

#DEFINE SI IF
#DEFINE ENTONCES THEN
#DFINE FINSI ENDIF

SI A>B ENTONCES
   ? 'Programando en Foxtellano'
FINSI

Esto funciona, que tal?
Reply all
Reply to author
Forward
0 new messages