FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con Folderex URGENTE
Posts: 719
Joined: Fri May 12, 2017 02:50 PM
Ayuda con Folderex URGENTE
Posted: Wed Aug 31, 2022 05:42 PM
Amigos, buen dia.

Es mi primera aplicacion que uso FOLDEREX, y se me ha presentado un problema de actualizacion de variables.

Tengo 3 Paginas, las 2 Primeras Paginas tiene un encabezado con variables comunes que debieran actualizarse, las cuales son:
- Rut_Pac4, Fec_Nac4, Eda_Pac4, Nom_Pacien4.

La Pagina Nro 3, tiene un dialogo Ficha, donde se encuentran los datos generales del paciente.

Lo que hace es que permite actaalizar los datos del maestro, utilizando la variable Rut_Pac, que se valida y va a un function a buscar datos almacenados y cargar la variables de ese dialog y de la misma forma, asigna estos datos a las variables definidas, para el encabezado.

El problema es que, se actualizan los valores en la Pagina 3 y el encabezado en la Pagina 2, el encabezado de la Pagina 1, no se actualiza, aun siendo las mismas variables e iguales objetos de la Pagina 2.

Cual es el error que estoy cometiendo?

Muchas gracias y muchos saludos.
Antonio

Codigo:
Code (fw): Select all Collapse
      **** PRIMERA PAGINA * EN ESTA NO SE ACTUALIZAN LOS VALORES 
     // Cabecera  Titulos
     @ 020,001 SAY "Nro. Evaluacion"     SIZE 50,10 PIXEL OF oFld:aDialogs[1]  RIGHT   FONT oFont2    COLORS RGB(80, 28, 14)      TRANSPARENT
     @ 20,98   SAY "Fecha Eva."               SIZE 60,10 PIXEL OF oFld:aDialogs[1]  RIGHT   FONT oFont2  COLORS RGB(80, 28, 14)  TRANSPARENT
   @ 020,190 SAY "R.u.t."           SIZE 60,10 PIXEL OF oFld:aDialogs[1]  RIGHT   FONT oFont2     COLORS RGB(80, 28, 14)      TRANSPARENT
   @ 020,305 SAY "Fecha Naci." SIZE 50,10 PIXEL OF oFld:aDialogs[1]  RIGHT      FONT oFont2    COLORS RGB(80, 28, 14)       TRANSPARENT
   @ 032,001 SAY "Nombre Paciente"          SIZE 55,10 PIXEL OF oFld:aDialogs[1]  RIGHT   FONT oFont2     COLORS RGB(80, 28, 14)      TRANSPARENT
   @ 032,295 SAY "Edad"             SIZE 60,10 PIXEL OF oFld:aDialogs[1]   RIGHT   FONT oFont2    COLORS RGB(80, 28, 14)      TRANSPARENT
     @ 032,382 SAY "Años"              SIZE 30,10 PIXEL OF oFld:aDialogs[1]     FONT oFont2    COLORS RGB(80, 28, 14)      TRANSPARENT

   @ 020,425 SAY "PROFESIONAL:" SIZE 45,10 PIXEL OF oFld:aDialogs[1]       FONT oFont2    COLORS RGB(80, 28, 14)  RIGHT     TRANSPARENT   ADJUST

     // Cabecera Datos
     @ 020,258 SAY oSayT1  Prompt  Rut_Pac4   SIZE  46,10 PIXEL OF oFld:aDialogs[1]      COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER
     @ 020,365 SAY oSayT2  Prompt  Fec_Nac4   SIZE  45,10 PIXEL OF oFld:aDialogs[1]      COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER
     @ 032,60  SAY oSayT3  Prompt Nom_Pacien4 SIZE 230,10  PIXEL OF oFld:aDialogs[1]         COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER
     @ 032,361 SAY oSayT4  Prompt Eda_Pac4   SIZE 15,10  PIXEL OF oFld:aDialogs[1]               PICTURE "999"    COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER


       
      ******* SEGUNDA PAGINA  *** SOLO SE ACTUALIZAN AQUI LOS VALORES
     // Cabecera  Titulos
     @ 020,001 SAY "Nro. Evaluacion"     SIZE 50,10 PIXEL OF oFld:aDialogs[2]  RIGHT   FONT oFont2    COLORS RGB(80, 28, 14)      TRANSPARENT
     @ 20,98   SAY "Fecha Eva."               SIZE 60,10 PIXEL OF oFld:aDialogs[2]  RIGHT   FONT oFont2  COLORS RGB(80, 28, 14)  TRANSPARENT
   @ 020,190 SAY "R.u.t."           SIZE 60,10 PIXEL OF oFld:aDialogs[2]  RIGHT   FONT oFont2     COLORS RGB(80, 28, 14)      TRANSPARENT
   @ 020,305 SAY "Fecha Naci." SIZE 50,10 PIXEL OF oFld:aDialogs[2]  RIGHT      FONT oFont2    COLORS RGB(80, 28, 14)       TRANSPARENT
   @ 032,001 SAY "Nombre Paciente"          SIZE 55,10 PIXEL OF oFld:aDialogs[2]  RIGHT   FONT oFont2     COLORS RGB(80, 28, 14)      TRANSPARENT
   @ 032,295 SAY "Edad"             SIZE 60,10 PIXEL OF oFld:aDialogs[2]   RIGHT   FONT oFont2    COLORS RGB(80, 28, 14)      TRANSPARENT
     @ 032,382 SAY "Años"              SIZE 30,10 PIXEL OF oFld:aDialogs[2]     FONT oFont2    COLORS RGB(80, 28, 14)      TRANSPARENT

   @ 020,425 SAY "PROFESIONAL:" SIZE 45,10 PIXEL OF oFld:aDialogs[2]       FONT oFont2    COLORS RGB(80, 28, 14)  RIGHT     TRANSPARENT   ADJUST

     // Cabecera Datos
     @ 020,60 SAY oSay1  Prompt  Fol_Eva1    SIZE  40,10 PIXEL OF oFld:aDialogs[2]      COLOR RGB(0,0,128), RGB(159,233,255) Picture "9999999999"  FONT oFont2 BORDER
     @ 020,258 SAY oSayT1  Prompt  Rut_Pac4   SIZE  46,10 PIXEL OF oFld:aDialogs[2]      COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER
     @ 020,365 SAY oSayT2  Prompt  Fec_Nac4   SIZE  45,10 PIXEL OF oFld:aDialogs[2]      COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER
     @ 032,60  SAY oSayT3  Prompt Nom_Pacien4 SIZE 230,10  PIXEL OF oFld:aDialogs[2]         COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER
     @ 032,361 SAY oSayT4  Prompt Eda_Pac4   SIZE 15,10  PIXEL OF oFld:aDialogs[2]               PICTURE "999"    COLOR RGB(0,0,128), RGB(159,233,255)   FONT oFont2 BORDER


     *****TERCERA PAGINA
 
     **** AQUIAL DIGITAR EL RUT, EXTRAE LOS DATOS DESDE EL ARCHIVO FICHAS Y LOS MUESTRA EN TERCERA PANTALLA y DEBE ACTUALIZAR TITULOS EN PAG 1 y PAG 2

   @ 080,170 GET oGetF1 VAR Rut_Pac1 SIZE 110,20 PICTURE "@R ##.###.####!" PIXEL OF oFld:aDialogs[3] COLOR RGB(0,0,128), RGB(159,233,255);
                        WHEN  ( oGetF1:oGet:Picture := "@KR #########!", .T. );
                          VALID If( VrutG({oGetF1},Rut_Pac1), (oGetF1:oGet:Picture := "@R ##.###.####!",(oGetF1:Refresh(), Revi_Paci_Eva(Rut_Pac1),oSay1:Refresh(),oSay2:Refresh(),oSay3:Refresh(),oSay4:Refresh(),oSay5:Refresh(),oSay3:Refresh(),oFld:aDialogs[1]:Refresh()), .t. ), .f. )


    *** FUNCTION PARA ASIGNAR DATOS A LAS VARIABLES
                    Nom_Pacien4:=Trim(Nom_Pac)+Spac(3)+Trim(Ape_Pac)
                                Rut_Pac4:=Rut_Pac
                                Eda_Pac4:=Eda_Pac
                                Fec_Nac4:=Fec_Nac

                                
                                oSay3:Refresh();oSay4:Refresh();oSay5:Refresh();oSay6:Refresh()
                                oSayT1:Refresh();oSayT2:Refresh();oSayT3:Refresh();oSayT4:Refresh()
FWH 22.10 - HARBOUR - PELLES C
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Ayuda con Folderex URGENTE
Posted: Wed Aug 31, 2022 07:58 PM
Asignale el nuevo valor con el métod SetText()
Code (fw): Select all Collapse
*** FUNCTION PARA ASIGNAR DATOS A LAS VARIABLES
                    Nom_Pacien4:=Trim(Nom_Pac)+Spac(3)+Trim(Ape_Pac)
                                Rut_Pac4:=Rut_Pac
                                Eda_Pac4:=Eda_Pac
                                Fec_Nac4:=Fec_Nac
oSayT1:SetText(Rut_Pac4)
oSayT2:SetText(Fec_Nac4)
oSayT3:SetText(Nom_Pacien4)
oSayT4:SetText(Eda_Pac4)
//.... etc.
Posts: 719
Joined: Fri May 12, 2017 02:50 PM
Re: Ayuda con Folderex URGENTE
Posted: Wed Aug 31, 2022 08:20 PM
cmsoft wrote:Asignale el nuevo valor con el métod SetText()
Code (fw): Select all Collapse
*** FUNCTION PARA ASIGNAR DATOS A LAS VARIABLES
                    Nom_Pacien4:=Trim(Nom_Pac)+Spac(3)+Trim(Ape_Pac)
                                Rut_Pac4:=Rut_Pac
                                Eda_Pac4:=Eda_Pac
                                Fec_Nac4:=Fec_Nac
oSayT1:SetText(Rut_Pac4)
oSayT2:SetText(Fec_Nac4)
oSayT3:SetText(Nom_Pacien4)
oSayT4:SetText(Eda_Pac4)
//.... etc.


Hola Amigo Cesar.

Muchas gracias como siempre por tu ayuda.

Ya había intentado con esta forma, aun así, copie tu código y nada, las variables no se actualizan en la Primera Pagina, lo intente con variables distintas por pagina y ahí funciona bien, se actualizan las variables en ambas pagina.

Pensé que aun siendo variables definidas como Stactic, serian visibles en todas las paginas del Folderex, pero no entiendo, debe haber una explicación, no creo que sea algo en la definición de mi Folderex.

Espero por comentarios, aun cuando estoy apremiado de tiempo.

Saludos

Antonio.
FWH 22.10 - HARBOUR - PELLES C
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Ayuda con Folderex URGENTE
Posted: Wed Aug 31, 2022 11:19 PM
Mira, el habitual problema que presenta este tipo de implementaciones que comentas suele ser la visibilidad de las variables que se usan como objetos de los controles.
Intento explicarme, si las variables
Code (fw): Select all Collapse
oSayT1, oSayT2, oSayT3

son estáticas y por lo tanto visibles en todo el prg, o si el desarrollo de los contenidos de todos los dialogs, están en la misma function, cada vez que defines un objeto con la variable oSayT1, por ejemplo, este "matará" el objeto creado en la misma variable anteriormente, con lo que el resultado será que esa variable solo estará asignado a la ultima definicion ( en este caso entiendo que en la pagina 3 )
La solucion es sencilla: usar distintas variables para los controles que definas en cada pagina: oSayT11, oSayT12, oSayT13, por ejemplo, y en la página 2: oSayT21, oSayT22, oSayT23, y así sucesivamente.
Espero haberme explicado y que haya dado con el problema que planteas
Saludos
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 719
Joined: Fri May 12, 2017 02:50 PM
Re: Ayuda con Folderex URGENTE
Posted: Thu Sep 01, 2022 03:35 AM
cnavarro wrote:Mira, el habitual problema que presenta este tipo de implementaciones que comentas suele ser la visibilidad de las variables que se usan como objetos de los controles.
Intento explicarme, si las variables
Code (fw): Select all Collapse
oSayT1, oSayT2, oSayT3

son estáticas y por lo tanto visibles en todo el prg, o si el desarrollo de los contenidos de todos los dialogs, están en la misma function, cada vez que defines un objeto con la variable oSayT1, por ejemplo, este "matará" el objeto creado en la misma variable anteriormente, con lo que el resultado será que esa variable solo estará asignado a la ultima definicion ( en este caso entiendo que en la pagina 3 )
La solucion es sencilla: usar distintas variables para los controles que definas en cada pagina: oSayT11, oSayT12, oSayT13, por ejemplo, y en la página 2: oSayT21, oSayT22, oSayT23, y así sucesivamente.
Espero haberme explicado y que haya dado con el problema que planteas
Saludos


Maestro Cristobal

Muy buenas noches.

Cómo siempre muy agradecido por su ayuda y enseñanza.

Muchas gracias por tan clara explicación.

Me confirma lo que había pensado, tal cómo le expliqué a Cesar, que la única solución q había encontrado era usar variables diferentes, así había logrado que los datos se actualizaran en todas las páginas. Más aún en mi caso q es la primera vez q uso FOLDEREX.

Lo que si me quedó claro, que si le asigno los datos a estas variables comunes en las paginas, antes de entrar al FOLDEREX, si son visibles en todas las paginas, pero una vez estando dentro de ellas, realizó una actualización, de alguna de ellas por algún tipo, ya sea Get, Combobox, esta no se actualiza en las otras paginas que solo se muestran, mantienen datos antiguos.

Esto lo publico como antecedentes, quizás solo me ha sucedido a mi. De qué hay algo en el FOLDEREX lo hay!!

Lo complicado es que se presentan estos problemas cuando más apremia el tiempo para responder con los plazos y quedó atado de manos.

Muchas gracias y muchos saludos.

Antonio
FWH 22.10 - HARBOUR - PELLES C
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Ayuda con Folderex URGENTE
Posted: Thu Sep 01, 2022 04:49 AM

Antonio, es imposible que usando las mismas variables en todas las páginas puedas hacer un refresh ( actualizar ) los objetos asociados a esas variables salvo las de la última página donde se hayan definido.
Si usando variables distintas sigues teniendo ese problema, es algo que habrá que ver entonces
A tu disposición quedo

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Ayuda con Folderex URGENTE
Posted: Sat Sep 03, 2022 07:17 PM

Saludos, podrias defnir las VAR en donde defines el DLG y el folder o ponerlas como STATIC, yo creo un array por decir de nombre aVar[n] y aGet[n], y con esa las uso en todas las pestañas, y cuando hago en aGet[n]:REFRESH(), se actualizan todas las aVar[n] de las pestañas. no se si ese es tu problema o entendi mal...saludos... gracias... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!

Continue the discussion