PageFrame como saber si cambio de page

1,170 views
Skip to first unread message

Julio Cesar Vente Ruiz

unread,
Mar 21, 2012, 1:52:02 PM3/21/12
to Comunidad de Visual Foxpro en Español
Saludos grupo, acudo a ustedes me den una orientación con un
problema.

Tengo un pageframe con 5 pages, como hago para saber si el usuario
cambia de una pagina a otra..

Ejemplo tengo texbox en el page 4, en el cual el usuario digita una
información, si se pasa a otro page necesito poner en blanco el
texbox, no puedo usuar el metodo Activate, pues ya lo estoy usando
para otra funcion..

De antemano muchas gracias...

Walter R. Ojeda Valiente

unread,
Mar 21, 2012, 2:21:17 PM3/21/12
to publice...@googlegroups.com
Quizás haya otra forma más sencilla, lo que yo hago es lo siguiente:
- Le agrego una propiedad al formulario llamada nPaginaNro
- En el evento INIT() del formulario escribo: ThisForm.nPaginaNro = 1
- Cuando el usuario hace click en una página, le asigno el número correspondiente, por ejemplo, si hace click sobre la página número 3, ThisForm.nPaginaNro = 3

De esa manera siempre puedo saber:
1. En cual página está ahora
2. En cuál página estuvo antes

Saludos.

Walter.



> Date: Wed, 21 Mar 2012 10:52:02 -0700
> Subject: [vfp] PageFrame como saber si cambio de page
> From: jvent...@gmail.com
> To: publice...@googlegroups.com

Pablo Daniel Lissa

unread,
Mar 21, 2012, 3:08:24 PM3/21/12
to Comunidad de Visual Foxpro en Español
Hola:

Podrías programar el evento UIEnable del control TextBox. El mismo se
ejcuta en los controles contenidos de una página cuando se activa/
desactiva. Captura como parámetro en lEnable si la página se activa o
desactiva, por lo cual, en tu textBox.UIEnable podrías poner algo
como:

IF !lEnable
this.Value = ""
ENDIF

No suelo usarlo mucho, me manejo más con Activate, entonces me quedan
todos los controles agrupados, pero, si como requisito no lo podés
usar, ésta es una alternativa.

Saludos.
--------------------------------------------------------------------------------------------

Miguel Canchas

unread,
Mar 21, 2012, 3:24:19 PM3/21/12
to publice...@googlegroups.com
Si mal no me equivoco podrías sacarlo con el ActivePage....


MK

-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Julio Cesar Vente Ruiz
Enviado el: miércoles, 21 de marzo de 2012 12:52 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] PageFrame como saber si cambio de page

Luis Maria Guayan

unread,
Mar 21, 2012, 3:19:45 PM3/21/12
to publice...@googlegroups.com
¿Por que no usar el Activate? ¿Que te impide utilizarlo si indicas que ya tiene otra función?

Mira el comando DODEFAULT() que te permite ejecutar el código de la clase original

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Julio Cesar Vente Ruiz

unread,
Mar 21, 2012, 3:57:18 PM3/21/12
to Comunidad de Visual Foxpro en Español
Gracias por las respuestas..
No puedo usar Activate porque desde el page4 al dar clic en un boton
abro otro formulario y cuando lo cierro el page4 se activa nuevamente
ejecutando el codigo del metodo Activate y eso no es lo que quiero.
Quiero que se ejecute un procedimiento solo si el usuario cambia de
page...

Si no existe otra opcion, tendría que usar lo que me propone
Walter..!! gracias nuevamente.

On 21 mar, 14:19, Luis Maria Guayan <luismar...@gmail.com> wrote:
> ¿Por que no usar el Activate? ¿Que te impide utilizarlo si indicas que ya tiene otra función?
> Mira el comando DODEFAULT() que te permite ejecutar el código de la clase original
>
> Luis María Guayán
> Tucumán, Argentina
> _________________________http://www.PortalFox.com

Javier Brumatti

unread,
Mar 21, 2012, 4:06:38 PM3/21/12
to publice...@googlegroups.com
Tengo desarrollado un sistema en VFP 6 que usa la dll xfrx para
transformar los reportes a pdf.
Funcionaba todo fantastico, hasta que ahora tuvimos que desarrollar un
reporte que posee datos con la condicion "quitar l�neas en blanco."
El reporte funciona perfectamente, pero al pasarlo a pdf el xfrx no
respeta esa condicion y los controles se imprime igual.

Alguien ha tenido este problema? existe alguna otra librer�a poara VFP 6
que pueda usar para pasar a pdf ?
Se de la existencia de los programas que emulan impresoras, pero hay que
instalrlos en cada pc, la idea es que sea alguna dll que directamente
distribuya con el sistema.

Saludos

--
Este mensaje ha sido analizado en busca de
virus y otros contenidos peligrosos,
y se considera que est� limpio.

Carlos Miguel FARIAS

unread,
Mar 21, 2012, 5:51:00 PM3/21/12
to publice...@googlegroups.com
Con lo que te dijo Walter y con Access y asign de esa propiedad podes manejar un evento adicional al cambiar la página

Allan Raúl Acuña

unread,
Mar 21, 2012, 6:10:02 PM3/21/12
to publice...@googlegroups.com
Estimados Lic. 

Mis saludos antes que nada.

Que version de XFRX usas, yo convierto bien los PDF, sin problemas.

Ahora bien usar una librería free muy popular en este nuestro foro:

http://foxypreviewer.codeplex.com/ 

Saludos cordiales;

Lic. Allan R. Acuña
Desarrollador Independiente
msn= allan...@hotmail.com
skype= niceasysoft
            +(505) 8 831 8191      
www.NicEasySoft.com
Managua, Nicaragua
Centroamérica


> Date: Wed, 21 Mar 2012 17:06:38 -0300
> From: jbru...@amr.org.ar
> To: publice...@googlegroups.com
> Subject: [vfp] Reporte a PDF

>
> Tengo desarrollado un sistema en VFP 6 que usa la dll xfrx para
> transformar los reportes a pdf.
> Funcionaba todo fantastico, hasta que ahora tuvimos que desarrollar un
> reporte que posee datos con la condicion "quitar líneas en blanco."

> El reporte funciona perfectamente, pero al pasarlo a pdf el xfrx no
> respeta esa condicion y los controles se imprime igual.
>
> Alguien ha tenido este problema? existe alguna otra librería poara VFP 6
> que pueda usar para pasar a pdf ?
> Se de la existencia de los programas que emulan impresoras, pero hay que
> instalrlos en cada pc, la idea es que sea alguna dll que directamente
> distribuya con el sistema.
>
> Saludos
>
> --
> Este mensaje ha sido analizado en busca de
> virus y otros contenidos peligrosos,
> y se considera que está limpio.
>

Qsoft

unread,
Mar 21, 2012, 6:39:48 PM3/21/12
to publice...@googlegroups.com

Pero no funciona en VFP6, solo en la version 9 SP2..

Julio Cesar Vente Ruiz

unread,
Mar 21, 2012, 6:55:14 PM3/21/12
to publice...@googlegroups.com
Efectivamente asi fue como lo hice, muchas gracias Walter...
--


Julio Cesar Vente Ruiz

Allan Raúl Acuña

unread,
Mar 21, 2012, 7:20:22 PM3/21/12
to publice...@googlegroups.com
Migra a la version 9, la brecha no es larga

Saludos cordiales;

Lic. Allan R. Acuña
Desarrollador Independiente
msn= allan...@hotmail.com
skype= niceasysoft
            +(505) 8 831 8191      
www.NicEasySoft.com
Managua, Nicaragua
Centroamérica



Date: Wed, 21 Mar 2012 23:39:48 +0100
Subject: RE: [vfp] Reporte a PDF
From: caen...@gmail.com
To: publice...@googlegroups.com

Oscar Calderon

unread,
Mar 21, 2012, 7:50:27 PM3/21/12
to publice...@googlegroups.com
Basta con consultar el valor de la propiedad "ActivePage" del Pageframe.
¿Por qué se complican tanto con la POO?.

Saludos,
--
Oscar Calderón Fuentes
Santiago - Chile
 

Walter R. Ojeda Valiente

unread,
Mar 21, 2012, 8:40:40 PM3/21/12
to publice...@googlegroups.com
Con ActivePage puedes saber en cual página estás posicionado, pero no en cual página estuviste antes.

Saludos.

Walter.




Date: Wed, 21 Mar 2012 19:50:27 -0400
Subject: Re: [vfp] Re: PageFrame como saber si cambio de page
From: ocald...@gmail.com
To: publice...@googlegroups.com

Gorka

unread,
Mar 22, 2012, 3:57:29 AM3/22/12
to publice...@googlegroups.com
Hola
Para saber la página activa usa la propiedad ActivePage del PageFrame.
Pon esto en el evento Click del Pageframe:
IF this.ActivePage<>2
thisform.paGEFRAME1.page4.text1.Value=''
ENDIF

Saludos
Gorka

Gorka

unread,
Mar 22, 2012, 3:59:50 AM3/22/12
to publice...@googlegroups.com
Perdón quería decir:
IF this.ActivePage<>4
thisform.paGEFRAME1.page4.text1.Value=''
ENDIF

Saludos
Gorka

Oscar Calderon

unread,
Mar 22, 2012, 6:13:23 AM3/22/12
to publice...@googlegroups.com
Estimado, con ActivePage puedes controlar cuando cambias de ficha. Yo lo hice una vez para efectos de forzar la grabación de un registro, cuya edición estaba agrupada por fichas.

Solo hay que aplicar el principio básico de la programación, "la lógica".

Saludos,

Carlos Miguel FARIAS

unread,
Mar 22, 2012, 7:28:16 AM3/22/12
to publice...@googlegroups.com
Migrar de VFP6 a VFP9 no es muy problemático, lo único que tenes que
revisar son las sentencias SQL sobre tablas nativas, sobre todo si las
creastes sin ajustarte a los estandars de SQL'92 (por ejemplo, no
incluir en los GROUP BY todos los campos incluidos en el SELECT y que
no están "envueltos" en funciones sumarias.
Aunque eso se puede arreglar con SET BEHAVIOR (lo que personalmente,
considero una porcinada).
Y puede que detectes algunos errores que no habias percatado antes, o
se te solucionen cosas que no sabias que te funcionaban mal.
Saludos: Miguel, Santa Rosa (LP)

Jack Passeridae Caribbean est arbitrio tuo

El 21/03/12, Allan Raúl Acuña <allan...@hotmail.com> escribió:


>
> Migra a la version 9, la brecha no es larga
>
> Saludos cordiales;
>
> Lic. Allan R. Acuña
> Desarrollador Independiente
> msn= allan...@hotmail.com
> skype= niceasysoft
> +(505) 8 831 8191
> www.NicEasySoft.comManagua, NicaraguaCentroamérica
>

Walter R. Ojeda Valiente

unread,
Mar 22, 2012, 8:40:29 AM3/22/12
to publice...@googlegroups.com
¿Algún ejemplo?

Saludos.

Walter.




Date: Thu, 22 Mar 2012 06:13:23 -0400

Oscar Calderon

unread,
Mar 22, 2012, 8:54:56 AM3/22/12
to publice...@googlegroups.com
Algo parecido a lo que puso Gorka, pero obviamente con un código más elaborado.

Tendría que buscar el sistema que hice hace como 15 años en VFP6. Después de eso no he tenido la necesidad de volver a hacerlo, pues cambié la lógica de mis ediciones para hacerlas más sencillas.

Ahora cuando edito en pageframe, ya sea modificando o agregando, lo que hago es desactivar el resto de las fichas mientras estoy editando. Y una vez que grabo las vuelvo a activar.

Bueno, son formas diferentes de hacer las cosas, nada más.

Saludos,

extremo

unread,
Mar 22, 2012, 9:08:02 AM3/22/12
to Comunidad de Visual Foxpro en Español
estaba viendo este hilo, y me parecio extraño que algo tan facil
resulte tan problematico, Aun no encuentro el problema de usar el
metodo Activate, es lo mas logico, por otra parte probe llamar un
formulario desde el activate (cosa que yo jamas haria) y resulto lo
que yo temia... un loop infinito a la llamada del form.

Aun no entiendo el problema de no poder usar el metodo Activate....
pero si te quieres complicar la existencia haz lo que te suguirio
Walter... no es mala la idea pero en fin... gustos son gustos.... como
mejora te podria indicar que en vez de crear una variable podrias usar
la propiedad tag del pageframe , si ya la estas usando.... create una
nueva propiedad (solo si es una clase).

Bendiciones


On 22 mar, 08:54, Oscar Calderon <ocalder...@gmail.com> wrote:
> Algo parecido a lo que puso Gorka, pero obviamente con un código más
> elaborado.
>
> Tendría que buscar el sistema que hice hace como 15 años en VFP6. Después
> de eso no he tenido la necesidad de volver a hacerlo, pues cambié la lógica
> de mis ediciones para hacerlas más sencillas.
>
> Ahora cuando edito en pageframe, ya sea modificando o agregando, lo que
> hago es desactivar el resto de las fichas mientras estoy editando. Y una
> vez que grabo las vuelvo a activar.
>
> Bueno, son formas diferentes de hacer las cosas, nada más.
>
> Saludos,
>
> El 22 de marzo de 2012 09:40, Walter R. Ojeda Valiente
> <w...@hotmail.com>escribió:
>
>
>
>
>
>
>
>
>
> >  ¿Algún ejemplo?
>
> > Saludos.
>
> > Walter.
>
> > ------------------------------
> > Date: Thu, 22 Mar 2012 06:13:23 -0400
>
> > Subject: Re: [vfp] Re: PageFrame como saber si cambio de page
> > From: ocalder...@gmail.com
> > To: publice...@googlegroups.com
>
> > Estimado, con ActivePage puedes controlar cuando cambias de ficha. Yo lo
> > hice una vez para efectos de forzar la grabación de un registro, cuya
> > edición estaba agrupada por fichas.
>
> > Solo hay que aplicar el principio básico de la programación, "la lógica".
>
> > Saludos,
>
> > El 21 de marzo de 2012 20:40, Walter R. Ojeda Valiente <w...@hotmail.com>escribió:
>
> >  Con ActivePage puedes saber en cual página estás posicionado, pero no en
> > cual página estuviste antes.
>
> > Saludos.
>
> > Walter.
>
> > ------------------------------
> > Date: Wed, 21 Mar 2012 19:50:27 -0400
> > Subject: Re: [vfp] Re: PageFrame como saber si cambio de page
> > From: ocalder...@gmail.com
> > To: publice...@googlegroups.com
>
> > Basta con consultar el valor de la propiedad "ActivePage" del Pageframe.
> > ¿Por qué se complican tanto con la POO?.
>
> > Saludos,
>
> > El 21 de marzo de 2012 18:55, Julio Cesar Vente Ruiz <jventer...@gmail.com
> > > escribió:
>
> > Efectivamente asi fue como lo hice, muchas gracias Walter...
>
> > El 21 de marzo de 2012 16:51, Carlos Miguel FARIAS <
> > carlosmiguelfar...@gmail.com> escribió:
>
> > Con lo que te dijo Walter y con Access y asign de esa propiedad podes
> > manejar un evento adicional al cambiar la página
>
> > El 21 de marzo de 2012 16:57, Julio Cesar Vente Ruiz <jventer...@gmail.com
> > *Oscar Calderón Fuentes*
> > *Santiago - Chile*
>
> > --
> > *Oscar Calderón Fuentes*
> > *Santiago - Chile*
>
> --
> *Oscar Calderón Fuentes*
> *Santiago - Chile*

extremo

unread,
Mar 22, 2012, 9:14:17 AM3/22/12
to Comunidad de Visual Foxpro en Español
disculpa.... lei demaciado rapido..... ya entendi lo del llamado del
activate

Aun asi, tu Activateno deberia tener problemas, prueba lo siguiente:

Metodo Activate() del pageframe

If This.activatePage <> 4
cambia valor de objeto
endif

Eso es todo... tiene que funcionar

Bendiciones

Walter R. Ojeda Valiente

unread,
Mar 22, 2012, 9:19:10 AM3/22/12
to publice...@googlegroups.com
¿Grabas página por página?

Me parece un error. ¿Cómo te aseguras que todos los datos que deben introducirse lo hayan sido, siendo que están en diferentes páginas? Además, si tu pageframe tiene 8 páginas el usuario tiene que hacer 8 clicks. Y si mientras está editando una página le deshabilitas las demás, no podrá ver lo que hay en ellas.

Pero bueno, cada quien con lo que mejor le parece.

Saludos.

Walter.




Date: Thu, 22 Mar 2012 09:54:56 -0300

Gorka

unread,
Mar 22, 2012, 9:19:20 AM3/22/12
to publice...@googlegroups.com
ummm
Eso no es lo mismo que dije yo?
jejeje este hilo se esta alargando mucho, no?
Salud
Gorka
>
> > > Estimado, con ActivePage puedes controlar cuando cambias de ficha. Yo lo
> > > hice una vez para efectos de forzar la grabación de un registro, cuya
> > > edición estaba agrupada por fichas.
>
> > > Solo hay que aplicar el principio básico de la programación, "la lógica".
>
> > > Saludos,
>
> > > El 21 de marzo de 2012 20:40, Walter R. Ojeda Valiente <w...@hotmail.com>escribió:
>
> > >  Con ActivePage puedes saber en cual página estás posicionado, pero no en
> > > cual página estuviste antes.
>
> > > Saludos.
>
> > > Walter.
>
> > > ------------------------------
> > > Date: Wed, 21 Mar 2012 19:50:27 -0400
> > > Subject: Re: [vfp] Re: PageFrame como saber si cambio de page
> > > From: ocalder...@gmail.com

extremo

unread,
Mar 22, 2012, 9:22:35 AM3/22/12
to Comunidad de Visual Foxpro en Español
jajajaja

Tienes razon gorka... Escribi la misma solucion tuya.... Te robe tu
ayuda jajjaja ...disculpa... pero parece que no la leyeron jejejeje

Bendiciones
> > > > > To: publice...@googlegroups.com
>
> > > > > Estimado, con ActivePage puedes controlar cuando cambias de ficha.
> > Yo lo
> > > > > hice una vez para efectos de forzar la grabación de un registro,
> > cuya
> > > > > edición estaba agrupada por fichas.
>
> > > > > Solo hay que aplicar el principio básico de la programación, "la
> > lógica".
>
> > > > > Saludos,
>
> > > > > El 21 de marzo de 2012 20:40, Walter R. Ojeda Valiente <
> > w...@hotmail.com>escribió:
>
> > > > >  Con ActivePage puedes saber en cual página estás posicionado, pero
> > no en
> > > > > cual página estuviste antes.
>
> > > > > Saludos.
>
> > > > > Walter.
>
> > > > > ------------------------------
> > > > > Date: Wed, 21 Mar 2012 19:50:27 -0400
> > > > > Subject: Re: [vfp] Re: PageFrame como saber si cambio de page
> > > > > From: ocalder...@gmail.com
> > > > > To: publice...@googlegroups.com

Julio Cesar Vente Ruiz

unread,
Mar 23, 2012, 11:37:18 PM3/23/12
to publice...@googlegroups.com
la verdad muchas gracias a todos por opinar y dar sus ideas, esto ayuda a aprender y enriquecer nuestro conocimiento inclusive con cosas tan sencillas (al parecer) como estas.

Extremo, si la verdad al inicio te falto leer y entender el problema que tenia con el Activate, pero en fin la verdad una buena solucion que me funciona bien es la que Walter escribio.

Gorka, con el evento click del pageframe se ejecutaria cada que el usuario hiciera click en cualquier lugar del pageframe y de cualquier page diferente de 4.

Nuevamente muchas gracias.

Jose Mario

unread,
Apr 23, 2013, 11:34:47 AM4/23/13
to publice...@googlegroups.com
oscar soy nuevo en pageframe
si estoy en la pagina x
como hago para desaptivar las otras paginas
debe de saber en que pagina estoy
luego desaptiva las otras

Víctor Hugo Espínola Domínguez

unread,
Apr 23, 2013, 12:14:48 PM4/23/13
to publicesvfoxpro
Hola José Mario

Debes tener una(s) propiedad(es) tipo boolean, lo que en nuestra época se llamaba bandera, que determinen cuales páginas pueden habilitarse o no.

Por ejemplo si en la página 2 estoy agregando o modificando registros y quiero que la página 1 sea inaccesible:

En el evento CLICK del comando <Nuevo>
       Thisform.lAgregando = .T.
       Thisform.HabilitarControles()

En el evento CLICK del comando <Modificar>
       Thisform.lModificando = .T.
       Thisform.HabilitarControles()

En el método HabilitarControles
llHabbilitar = Thisform.lAgregando Or Thisform.lModificando

This.Pageframe1.Page1.Enabled = NOT llHabbilitar

Descarga y mira el ejemplo de formulario de cabecera/detalle adjunto.

Saludos,
Víctor.
CaCabDetPrg._rar

Mario Oviedo

unread,
Apr 23, 2013, 12:41:33 PM4/23/13
to Comunidad de Visual Foxpro en Español
calidad esta, gracias era justo lo que necesitaba
maravilloso


El día 23 de abril de 2013 10:14, Víctor Hugo Espínola Domínguez
<vich...@gmail.com> escribió:

Jairo Miranda

unread,
Apr 23, 2013, 1:39:27 PM4/23/13
to publice...@googlegroups.com
Has oído de la propiedad ActivePage ? , este te devuelve el número de la
página activa, es decir dónde la que se encuentra abierta.

If preguntas por Thisform.Pageframes1.ActivePage te podrá indicar que
página tienen abierta

Espero sirva

JM

-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Mario Oviedo
Enviado el: martes, 23 de abril de 2013 11:42
Para: Comunidad de Visual Foxpro en Español
Asunto: Re: [vfp] Re: PageFrame como saber si cambio de page
Reply all
Reply to author
Forward
0 new messages