FoxPro/Visual FoxPro - contar numero de clics

 
Vista:
sin imagen de perfil

contar numero de clics

Publicado por Juan Carlos (16 intervenciones) el 22/12/2014 19:29:12
Nada pues una duda mas que todo, estoy haciendo un programa que llamo desde un main.prg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SET DATE DMY
SET DELETED ON
SET NOTIFY OFF
SET SAFETY OFF
SET BELL OFF
SET EXCLUSIVE OFF
SET DEFAULT TO reporte
SET PROCEDURE TO funcion
 
DO FORM formularios/frmreporte.scx
 
SET DEFAULT TO ..
READ EVENTS
 
QUIT

en el archivo funcion.prg tengo una funcioncita que se llama cuando se le da clic a un boton del formulario y lo unico que hace es sumarle 1 a la variable contador.

Ahora mi duda es a donde diablos declaro la variable contador?

la defini en funcion.prg antes de la funcion contadora y me daba error

1
2
3
4
5
6
contador = 0
 
FUNCTION contadora()
	contador = contador + 1
	RETURN contador
ENDFUNC

Luego la quise definir en el formulario y lo mismo, no se a donde ponerla, esa es mi duda nada mas.
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

contar numero de clics

Publicado por Fidel José (558 intervenciones) el 22/12/2014 21:58:45
Crea una propiedad del form (manualmente en el diseñador o con Addproperty(thisform,"Contador",0)

En el evento click del botón que necesitas;
thisform.Contador = thisform.Contador + 1

Eso es todo.
Si quieres que cuente de todos los botones del form, también se puede, pero es un poco más complicado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

contar numero de clics

Publicado por Juan Carlos (16 intervenciones) el 22/12/2014 22:50:37
Hey muchas gracias, eso me funciono de toque pero la sintaxis que use es:

1
thisform.AddProperty("contador",0)

En el evento Load y va de toque.

Muchas gracias Fidel José.

PD: se me olvido decir que trabajo en Visual FoxPro 7
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
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

contar numero de clics

Publicado por Fidel José (558 intervenciones) el 23/12/2014 00:53:47
Aunque para el caso no vale la pena, te comento algo sobre tu función "Contadora".

Lo que escribes es
contador = 0 && esto no pertenece a ningún procedure or Function
FUNCTION contadora()
contador = contador + 1 && esto da error porque "Contador" no está definido
RETURN contador
ENDFUNC

Cuando podría haber sido:

PROCEDURE Contadora
LPARAMETERS tnCuenta
REturn EVL(tnCuenta,0) + 1
ENDPROC

o la versión en Function
FUNCTION Contadora(tnCuenta)
return EVL(tnCuenta,0) + 1
ENDFUNC

O sea, necesitarás un parámetro de entrada para capturar el valor actual que se incrementa.
Por otra parte, no debe haber definiciones de variables fuera de FUNCTION / ENDFUNC o PROCEDURE / ENDPROC


En este caso no vale la pena porque de todos modos tenés que crear la propiedad en el form para retener el valor y la función es elemental.
Thisform.Addproperty("Cuenta",0)
Thisform.Cuenta=Contadora(thisform.cuenta) && igual que THISFORM.CUENTA=THISFORM.CUENTA+1

Sin embargo, encontrarás casos más complejos en los que sí se necesita una función o Procedure y el criterio es similar.
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