Ayuda con Folderex URGENTE

Ayuda con Folderex URGENTE

Postby remtec » Wed Aug 31, 2022 5: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: Select all  Expand view  RUN


      **** 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
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda con Folderex URGENTE

Postby cmsoft » Wed Aug 31, 2022 7:58 pm

Asignale el nuevo valor con el métod SetText()
Code: Select all  Expand view  RUN

*** 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.
 
User avatar
cmsoft
 
Posts: 1291
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ayuda con Folderex URGENTE

Postby remtec » Wed Aug 31, 2022 8:20 pm

cmsoft wrote:Asignale el nuevo valor con el métod SetText()
Code: Select all  Expand view  RUN

*** 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
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda con Folderex URGENTE

Postby cnavarro » 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: Select all  Expand view  RUN

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
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Ayuda con Folderex URGENTE

Postby remtec » Thu Sep 01, 2022 3: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: Select all  Expand view  RUN

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
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda con Folderex URGENTE

Postby cnavarro » Thu Sep 01, 2022 4: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
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Ayuda con Folderex URGENTE

Postby joseluisysturiz » Sat Sep 03, 2022 7: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!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: cmsoft, Google [Bot] and 59 guests