Como Actualizar los datos en un Dialogo. ** SOLUCIONADO**

Como Actualizar los datos en un Dialogo. ** SOLUCIONADO**

Postby remtec » Tue May 10, 2022 1:51 pm

Hola Amigos.

Buen dia.

La forma que tengo de modificar datos de Get en un Dialogo, es secuencial, desde el primero hasta el ultimo.

El problema es que si desea modificar un dato, siempre debe pasar por todos los demás, con el riesgo de modificar algo que no corresponde, incluyendo las validaciones por ítems.

Como podría presentar los datos de un Dialogo y permitir que modifique solo el o los datos que se requieren, yendo en forma directa al ítems requerido?

Pensaba enumerando cada ítems y luego pedir que el numero asociado al ítems que desea modificar e ir directo a ese ítems.

No se si esto es posible en FWH, yo en clipper si lo podía hacer, pero aquí, me perdí.

O si no es mucha mi molestia, que algún colega me muestre algún ejemplo como lo podría hacer.

Saludos

Antonio
Last edited by remtec on Fri May 13, 2022 12:18 am, edited 1 time in total.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Como Actualizar los datos en un Dialogo.

Postby karinha » Tue May 10, 2022 2:08 pm

Buen día. Muéstrame cómo lo hiciste en CLIPPER, para que pueda entender, por favor.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Como Actualizar los datos en un Dialogo.

Postby remtec » Tue May 10, 2022 3:40 pm

Hola Amigo João.

Como estas?

Mira por este momento no tengo a mano el código donde lo realizaba en Clipper, después de tantos años.

Pero esta muestra simple, te puede dar una idea que lo que podía hacer en Clipper y necesito realizar el FWH.

Pensando que un Dialogo puede contener muchos ítems, se hace muy largo y peligroso repasar todos los ítems, cuando habitualmente se requiere modificar 1 o 2 ítems, por evento.


Muchas gracias

Saludos
Antonio

Code: Select all  Expand view  RUN

Function Actua_aten()
        Local oDlg2, oBrw2, oFont2, oFont4,otitu2,oFont5,oFont6,oFont10
        Local oGroup,oGroup1,oGroup2
        Local oGet1,oGet2,oGet3,oGet4 ,  oGet5,oGet6,oGet7,oGet8,oGet9,oGet10,oGet11,oGet12,oGet13,oGet14,oGet15,Li:=0
      Local nCiud,nSexo,nComu,nPais,nTpag,nTipAte,nEvaMed

            Nro_Fic1:=  100
            Rut_Pac1 = Spac(12)
            Stor Spac(30) to Ape_Pac1,Nom_Pac1
            Fec_Nac1:= Ctod("  /  /    ")
            Eda_Pac1 = 0
            _ = " "
            Stor Spac(35) to Dir_Pac1, Act_Pac1
            Stor 0 To Cod_Ciu1,Cod_Com1,Cod_Nac1
            Stor Spac(15) to Fon_Pac1, Nro_Pas1
            Tip_Pag1 = Spac(4)
            Fec_Ult1 = Ctod("  /  /    ")
            Pat_Pac1 = Spac(50)

     DEFINE FONT oFont2 NAME "TAHOMA" SIZE 0,-15  BOLD
     DEFINE FONT oFont4 NAME 'TAHOMA' SIZE 0,20   BOLD
     DEFINE FONT oFont5 NAME 'TAHOMA' SIZE 0,24   BOLD
     DEFINE FONT oFont6 NAME "TAHOMA" SIZE 0,-14  BOLD
     DEFINE FONT oFont10 NAME "TAHOMA" SIZE 0,-13

   DEFINE DIALOG oDlg2 SIZE 680,560 PIXEL TRUEPIXEL FONT oFont2   STYLE nOr( WS_POPUP, WS_VISIBLE, WS_DLGFRAME )

     @ 00,150 SAY otitu PROMPT " MUESTRA DE PACIENTES "  PIXEL OF oDlg2 COLORS RGB(0,100,0)   FONT oFont5


            @ 030,020 SAY "1.-  Nro. Ficha"     SIZE 100,20 PIXEL OF oDlg2  RIGHT
            @ 060,020 SAY "2.-  R.u.t."             SIZE 100,20 PIXEL OF oDlg2  RIGHT
            @ 060,180 SAY "(Ej. 99999999-9)" SIZE 200,20 PIXEL OF oDlg2  RIGHT FONT oFont10
            @ 060,380 SAY "3.-  Pasaporte"          SIZE 100,20 PIXEL OF oDlg2  RIGHT
            @ 090,020 SAY "4.-  Apellidos"      SIZE 100,20 PIXEL OF oDlg2  RIGHT
            @ 120,020 SAY "5.-  Nombres"            SIZE 100,20 PIXEL OF oDlg2  RIGHT
   
// Aqui deboi mostrar los Items con sus valores
.....
.....
.....


     Li:=0    // Nro de linea a modificar
     Act:=0    // 0 = No Actualizo, 1 = Modifo algun Get asi actualizo base de datos
     Do     While Li#99      // 99 = Todos los Gets Estara hasta que decida no modificar mas Items

            @ 030,140 SAY Nro_Fic1       SIZE 100,22  PIXEL OF oDlg2      COLOR RGB(0,0,128)   FONT oFont4   BORDER
            If Li=99.or.Li=1
                    @ 060,140 GET oGet1    Var Rut_Pac1       SIZE 130,22  PIXEL OF oDlg2      COLOR RGB(0,0,128)   FONT oFont4 UPDATE
                    Act:=1
            Endif
            If Li=99.or.Li=2
                    @ 060,490 GET oGet2    Var Nro_pas1       SIZE 160,22 PIXEL OF oDlg2   PICTURE "@!"   COLOR RGB(0,0,128)   FONT oFont4 UPDATE
                    Act:=1
            Endif
            If Li=99.or.Li=3
                    @ 090,140 GET oGet3    Var Ape_Pac1       SIZE 350,22 PIXEL OF oDlg2   PICTURE "@!"   COLOR RGB(0,0,128)   FONT oFont4 UPDATE
                    Act:=1
            Endif
            If Li=99.or.Li=4
                    @ 120,140 GET oGet4    Var Nom_Pac1       SIZE 350,22 PIXEL OF oDlg2   PICTURE "@!"   COLOR RGB(0,0,128)   FONT oFont4 UPDATE
                    Act:=1
            Endif

                       // Este Get debiera recibir el numero de Items a Modificar o Salir = 99
            @ 300,140 GET oGet5    Var Li       SIZE 350,22 PIXEL OF oDlg2   PICTURE "99"   COLOR RGB(0,0,128)   FONT oFont4 UPDATE

     Enddo

     ACTIVATE DIALOG oDlg2 CENTERED


     RELEASE FONT oFont2,oFont4,oFont5 ,oFont6,oFont10


.......
.... Actualizo la base si Act:=1
......

     Return

 
Last edited by remtec on Tue May 10, 2022 10:55 pm, edited 1 time in total.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Como Actualizar los datos en un Dialogo.

Postby leandro » Tue May 10, 2022 3:48 pm

Amigo como vas?

Para bloquear lo gets para que no se pueden editar, lo puedes hacer de la siguiente manera:
Code: Select all  Expand view  RUN

oGet2:disable()
 

y para saltar de uno a otro sin seguir la secuencia, en el valid del get, puedes hacer lo siguiente:
Code: Select all  Expand view  RUN

@ 060,140 GET oGet1 Var Rut_Pac1 SIZE 130,22  PIXEL OF oDlg2 COLOR RGB(0,0,128)   FONT oFont4 UPDATE VALID (oGet4:setfocus(),.T.)
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como Actualizar los datos en un Dialogo.

Postby remtec » Tue May 10, 2022 4:07 pm

Hola Amigo Leandro.

Muchas gracias por tu respuesta.

Yo aquí tratando de dar respuesta a solicitud del un cliente.

La idea de todo esto, es que el usuario decide cual de todos los datos del dialogo, necesita modificar, este proceso se realiza después de haber sido ingresado los datos por digitadores, que han cometido errores en la digitación, se recurre a este modificador, el que muestra los datos de ese folio de ingreso y debe dar la posibilidad de modificar solo el o los datos requeridos, esta forma es evitar pasar por todos los datos que contiene el dialogo.

Normalmente seria 1 o máximo 2 ítems por por folio lo que se requiere modificar, la idea con esto, es que los ítems estén identificados por un numero y el encargado digita el numero del ítems y va directo a modifica ese dato y graba en el archivo.

Quizás en FWH es mas complejo, pero es lo que se me pide.

Muchas gracias por tu ayuda, así de primera, no sabría como aplicar lo que me indicas.


Muchos Saludos.
Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Como Actualizar los datos en un Dialogo.

Postby Armando » Tue May 10, 2022 5:07 pm

Remtec:

Usando el ratón puedes colocarte en el GET que desees modificar sin pasar por los GETs anteriores.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Como Actualizar los datos en un Dialogo.

Postby leandro » Tue May 10, 2022 5:10 pm

Amigo, para poder hacer eso, deberás tener registrado en algún lado, los datos que están mal, asumo que en la misma dbf que estas actualizando. Si es el valor es verdadero, pues habilitadas o deshabilitas el GET.

Creo que también debes montar una interfase para que se pueda "calificar", cual es el dato que esta mal.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como Actualizar los datos en un Dialogo.

Postby JoseAlvarez » Tue May 10, 2022 10:35 pm

Saludos.

Si estoy entendiendo bien tu pregunta, lo haria mostrando todos los campos DISABLE y desde un combobox puedo seleccionar el que desee modificar, haciendolo ENABLE y asignandole el FOCUS.

Finalmente colocando un botón "Guardar" o "Actualizar" para todo el dialogo.

Espero pueda servirte.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 805
Joined: Sun Nov 09, 2014 5:01 pm

Re: Como Actualizar los datos en un Dialogo.

Postby remtec » Tue May 10, 2022 10:42 pm

Armando wrote:Remtec:

Usando el ratón puedes colocarte en el GET que desees modificar sin pasar por los GETs anteriores.

Saludos


Hola Armando.

Muchas gracias por responder.

Es lo primero que le mostré al cliente, usar el mouse, pero su respuesta fue, me incomoda usar el mouse, le es mas fácil usar el ENTER, nada mas que hacer.

Saludos.

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Como Actualizar los datos en un Dialogo.

Postby remtec » Tue May 10, 2022 10:47 pm

leandro wrote:Amigo, para poder hacer eso, deberás tener registrado en algún lado, los datos que están mal, asumo que en la misma dbf que estas actualizando. Si es el valor es verdadero, pues habilitadas o deshabilitas el GET.

Creo que también debes montar una interfase para que se pueda "calificar", cual es el dato que esta mal.


Leandro, muchas gracias por responder.

La simplicidad con que lo ve el clientes, genera la complejidad para darle la solución deseada, le he dado muchas vueltas, creo que con algo así, no aceptaría el cliente.

Saludos

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Como Actualizar los datos en un Dialogo.

Postby remtec » Tue May 10, 2022 10:53 pm

JoseAlvarez wrote:Saludos.

Si estoy entendiendo bien tu pregunta, lo haria mostrando todos los campos DISABLE y desde un combobox puedo seleccionar el que desee modificar, haciendolo ENABLE y asignandole el FOCUS.

Finalmente colocando un botón "Guardar" o "Actualizar" para todo el dialogo.

Espero pueda servirte.


Hola José

Muchas gracias.

Creo que lo que sugieres, se asemeja mas a usarlo en un get que dirige al Get del dato, el problema que en lo pienso, dependo de un Do While, para mantenerme mientras necesite, pero no se si funcionara una idea así en FWH, creo que no.

La pregunta del millón, como mandaría desde el combobox al get que contiene el dato a modificar?

Saludos.

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Como Actualizar los datos en un Dialogo.

Postby JoseAlvarez » Tue May 10, 2022 10:59 pm

Dejame prepararte un ejemplo y te lo muestro por aca...
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 805
Joined: Sun Nov 09, 2014 5:01 pm

Re: Como Actualizar los datos en un Dialogo.

Postby remtec » Tue May 10, 2022 11:31 pm

José

Muchisimas gracias.

Saludos

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Como Actualizar los datos en un Dialogo.

Postby JoseAlvarez » Wed May 11, 2022 2:18 am

Antonio, aqui tienes un ejemplo.


http://www.datanet.space/fw/antonio.mp4

Lo hice lo mas basico y claro posible para que te sirva de orientacion.

El codigo se puede recortar bastante, segun tu gusto, usando las bondades de las clases.

Saludos y espero que sea lo que buscas.

Code: Select all  Expand view  RUN
#Include "Neuro32.ch"

Static oDlg, oCbx   , oBtnGuardar, oBtnSalir, oFont
Static oId , oNombre, oProfesion , oCargo, oDpto, oSalario

Static cId , cNombre, cProfesion , cCargo, cDpto, cCbx
Static nSalario

Static aItems

****************************************************************************************************************************

Function Fnct_Prueba()

     cId      := cNombre:= cProfesion := cCargo:= cDpto:= Spac(15)
     nSalario := 0
     aItems   := {}

     cId        := pad('V-13.946.285' ,15)
     cNombre    := pad('Antonio'      ,15)
     cProfesion := pad('Programador'  ,15)
     cCargo     := pad('Supervisor'   ,15)
     cDpto      := pad('Sistemas'     ,15)
     nSalario   := 15936.85

     aItems:= {  Pad('Seleccione'   ,15)  ,;
                 Pad('Id'           ,15)  ,;
                 Pad('Nombre'       ,15)  ,;
                 Pad('Profesion'    ,15)  ,;
                 Pad('Cargo'        ,15)  ,;
                 Pad('Departamento' ,15)  ,;
                 Pad('Salario'      ,15)  }

     cCbx:=aItems[1]

     define font  oFont  name 'courier new' size 0, -11.6


   Define Dialog oDlg resource "oDlg_Prueba2" title 'Actualización de Datos de Trabajadores"'
     oDlg:lHelpIcon:=.f.


     Redefine ComboBox oCbx Var cCbx items aItems  Id 4015  of oDlg  on change fAction()
     oCbx:SetFont(oFont)

     Redefine get oId            Var cId           Id  4003 of oDlg  
     oId:SetFont(oFont)
     oId:SetColorFocus( CLR_YELLOW )
     oId:Disable()
     oId:bLostFocus:= { || (oId:Disable(), oId:Refresh()) }

     Redefine get oNombre        Var cNombre       Id  4005 of oDlg  
     oNombre:SetFont(oFont)
     oNombre:SetColorFocus( CLR_YELLOW )
     oNombre:Disable()
     oNombre:bLostFocus:= { || (oNombre:Disable(), oNombre:Refresh()) }

     Redefine get oProfesion     Var cProfesion    Id  4007 of oDlg  
     oProfesion:SetFont(oFont)
     oProfesion:SetColorFocus( CLR_YELLOW )
     oProfesion:Disable()
     oProfesion:bLostFocus:= { || (oProfesion:Disable(), oProfesion:Refresh()) }

     Redefine get oCargo         Var cCargo        Id  4009 of oDlg  
     oCargo:SetFont(oFont)
     oCargo:SetColorFocus( CLR_YELLOW )
     oCargo:Disable()
     oCargo:bLostFocus:= { || (oCargo:Disable(), oCargo:Refresh()) }

     Redefine get oDpto          Var cDpto         Id  4011 of oDlg  
     oDpto:SetFont(oFont)
     oDpto:SetColorFocus( CLR_YELLOW )
     oDpto:Disable()
     oDpto:bLostFocus:= { || (oDpto:Disable(), oDpto:Refresh()) }

     Redefine get oSalario       Var nSalario      Id  4013 picture '@E 999,999,999.99' of oDlg  
     oSalario:SetFont(oFont)
     oSalario:SetColorFocus( CLR_YELLOW )
     oSalario:Disable()
     oSalario:bLostFocus:= { || (oSalario:Disable(), oSalario:Refresh()) }


     Redefine BTNBMP oBtnGuardar Resource 'Btn_Grabar' right Id 4001  Of oDlg prompt ""

     Redefine BTNBMP oBtnSalir   Resource 'Btn_Salir'    right Id 4002  Of oDlg prompt "" action  oDlg:End()


  Activate dialog oDlg center

return .t.

*****************************************************************************************************************************************
Static Function fAction()

    Do Case

        Case (oCbx:nAt)= 2
         oId:Enable()
         oId:SetFocus()
         oId:Refresh()

        Case (oCbx:nAt)= 3
         oNombre:Enable()
         oNombre:SetFocus()
         oNombre:Refresh()

        Case (oCbx:nAt)= 4
         oProfesion:Enable()
         oProfesion:SetFocus()
         oProfesion:Refresh()

        Case (oCbx:nAt)= 5
         oCargo:Enable()
         oCargo:SetFocus()
         oCargo:Refresh()

        Case (oCbx:nAt)= 6
         oDpto:Enable()
         oDpto:SetFocus()
         oDpto:Refresh()

        Case (oCbx:nAt)= 7
         oSalario:Enable()
         oSalario:SetFocus()
         oSalario:Refresh()

    EndCase

cCbx:=aItems[1]
oCbx:Refresh()

return .t.
 
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 805
Joined: Sun Nov 09, 2014 5:01 pm

Re: Como Actualizar los datos en un Dialogo.

Postby remtec » Wed May 11, 2022 2:19 pm

JoseAlvarez wrote:Antonio, aqui tienes un ejemplo.


http://www.datanet.space/fw/antonio.mp4

Lo hice lo mas basico y claro posible para que te sirva de orientacion.

El codigo se puede recortar bastante, segun tu gusto, usando las bondades de las clases.

Saludos y espero que sea lo que buscas.

Code: Select all  Expand view  RUN
#Include "Neuro32.ch"

Static oDlg, oCbx   , oBtnGuardar, oBtnSalir, oFont
Static oId , oNombre, oProfesion , oCargo, oDpto, oSalario

Static cId , cNombre, cProfesion , cCargo, cDpto, cCbx
Static nSalario

Static aItems

****************************************************************************************************************************

Function Fnct_Prueba()

     cId      := cNombre:= cProfesion := cCargo:= cDpto:= Spac(15)
     nSalario := 0
     aItems   := {}

     cId        := pad('V-13.946.285' ,15)
     cNombre    := pad('Antonio'      ,15)
     cProfesion := pad('Programador'  ,15)
     cCargo     := pad('Supervisor'   ,15)
     cDpto      := pad('Sistemas'     ,15)
     nSalario   := 15936.85

     aItems:= {  Pad('Seleccione'   ,15)  ,;
                 Pad('Id'           ,15)  ,;
                 Pad('Nombre'       ,15)  ,;
                 Pad('Profesion'    ,15)  ,;
                 Pad('Cargo'        ,15)  ,;
                 Pad('Departamento' ,15)  ,;
                 Pad('Salario'      ,15)  }

     cCbx:=aItems[1]

     define font  oFont  name 'courier new' size 0, -11.6


   Define Dialog oDlg resource "oDlg_Prueba2" title 'Actualización de Datos de Trabajadores"'
     oDlg:lHelpIcon:=.f.


     Redefine ComboBox oCbx Var cCbx items aItems  Id 4015  of oDlg  on change fAction()
     oCbx:SetFont(oFont)

     Redefine get oId            Var cId           Id  4003 of oDlg  
     oId:SetFont(oFont)
     oId:SetColorFocus( CLR_YELLOW )
     oId:Disable()
     oId:bLostFocus:= { || (oId:Disable(), oId:Refresh()) }

     Redefine get oNombre        Var cNombre       Id  4005 of oDlg  
     oNombre:SetFont(oFont)
     oNombre:SetColorFocus( CLR_YELLOW )
     oNombre:Disable()
     oNombre:bLostFocus:= { || (oNombre:Disable(), oNombre:Refresh()) }

     Redefine get oProfesion     Var cProfesion    Id  4007 of oDlg  
     oProfesion:SetFont(oFont)
     oProfesion:SetColorFocus( CLR_YELLOW )
     oProfesion:Disable()
     oProfesion:bLostFocus:= { || (oProfesion:Disable(), oProfesion:Refresh()) }

     Redefine get oCargo         Var cCargo        Id  4009 of oDlg  
     oCargo:SetFont(oFont)
     oCargo:SetColorFocus( CLR_YELLOW )
     oCargo:Disable()
     oCargo:bLostFocus:= { || (oCargo:Disable(), oCargo:Refresh()) }

     Redefine get oDpto          Var cDpto         Id  4011 of oDlg  
     oDpto:SetFont(oFont)
     oDpto:SetColorFocus( CLR_YELLOW )
     oDpto:Disable()
     oDpto:bLostFocus:= { || (oDpto:Disable(), oDpto:Refresh()) }

     Redefine get oSalario       Var nSalario      Id  4013 picture '@E 999,999,999.99' of oDlg  
     oSalario:SetFont(oFont)
     oSalario:SetColorFocus( CLR_YELLOW )
     oSalario:Disable()
     oSalario:bLostFocus:= { || (oSalario:Disable(), oSalario:Refresh()) }


     Redefine BTNBMP oBtnGuardar Resource 'Btn_Grabar' right Id 4001  Of oDlg prompt ""

     Redefine BTNBMP oBtnSalir   Resource 'Btn_Salir'    right Id 4002  Of oDlg prompt "" action  oDlg:End()


  Activate dialog oDlg center

return .t.

*****************************************************************************************************************************************
Static Function fAction()

    Do Case

        Case (oCbx:nAt)= 2
         oId:Enable()
         oId:SetFocus()
         oId:Refresh()

        Case (oCbx:nAt)= 3
         oNombre:Enable()
         oNombre:SetFocus()
         oNombre:Refresh()

        Case (oCbx:nAt)= 4
         oProfesion:Enable()
         oProfesion:SetFocus()
         oProfesion:Refresh()

        Case (oCbx:nAt)= 5
         oCargo:Enable()
         oCargo:SetFocus()
         oCargo:Refresh()

        Case (oCbx:nAt)= 6
         oDpto:Enable()
         oDpto:SetFocus()
         oDpto:Refresh()

        Case (oCbx:nAt)= 7
         oSalario:Enable()
         oSalario:SetFocus()
         oSalario:Refresh()

    EndCase

cCbx:=aItems[1]
oCbx:Refresh()

return .t.
 


Buen dia José

Muy agradecido por tu disposicion para ayudarme y desarrollar este codigo.

Realmente me parece muy practico, eficiente y funcional, lo usare para y adaptare el codigo del modificador, para presentarselo al cliente como solución.

Desde ya infinitamente agradecido por todo tu gesto y tiempo destinado.

Muchos saludos.
Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 112 guests