FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como saber si se cambio un dato de un dialogo con 50 Vars
Posts: 582
Joined: Fri Oct 07, 2005 02:17 PM
Como saber si se cambio un dato de un dialogo con 50 Vars
Posted: Sat Aug 18, 2018 01:45 AM

Buenas noches

Me explico, tengo un dialogo con 50 valores, todos con sus datos, lo que quiero saber es si el usuario que ingreso modifico alguno, no importa cual, basta con que modifique uno para tomar una accion, pero como determino eso, sin preguntar por cada valor.
Seguro hay algo pero no recuerdo.
Gracias ...

Enrrique Vertiz Pitta

Lima-Peru

xHb 1.23.1026X, Fwh 25.01, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Como saber si se cambio un dato de un dialogo con 50 Vars
Posted: Sat Aug 18, 2018 07:20 AM

Enrique,

Imagino que usas 50 variables asociadas, pertenecen a un array ?

Para los GETs puedes hacer:
local nAt := 0
nAt = AScan( oDlg:aControls, { | oCtrl | Upper( oCtrl:ClassName() ) == "TGET" .and. oCtrl:oGet:Changed } )
si nAt es distinto de cero, entonces algún GET cambió

Si las 50 variables pertenecen a un array, entonces puedes hacer:
nAt = AScan( aVars, { | uValue, nIndex | oDlg:aControls[ nIndex ]:VarGet() != uValue } )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Como saber si se cambio un dato de un dialogo con 50 Vars
Posted: Tue Aug 21, 2018 01:54 PM
Antonio, me gustaría implementar la posibilidad de verificar si hubo cambios en los get de un dialogo. Utilicé este código

Code (fw): Select all Collapse
? oGet[ 2 ] : Changed


y obtengo este error
Code (fw): Select all Collapse
   Called from:  => __ERRRT_SBASE( 0 )
   Called from: ../../../tobject.prg => TGET:ERROR( 0 )
   Called from: ../../../tobject.prg => (b)HBOBJECT( 0 )
   Called from: ../../../tobject.prg => TGET:MSGNOTFOUND( 0 )
   Called from: ../../../tobject.prg => TGET:CHANGED( 0 )
   Called from: C:\t-fe_win10\alumnos.prg => VERIFICACAMBIO( 746 )
   Called from: C:\t-fe_win10\alumnos.prg => (b)ABM( 738 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:END( 537 )
   Called from: C:\t-fe_win10\alumnos.prg => GUARDA( 812 )
   Called from: C:\t-fe_win10\alumnos.prg => (b)ABM( 731 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 665 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 901 )
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1721 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 1843 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3325 )
   Called from:  => DIALOGBOX( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 296 )
   Called from: C:\t-fe_win10\alumnos.prg => ABM( 738 )
   Called from: C:\t-fe_win10\alumnos.prg => (b)TABLAALUMNOS( 208 )
   Called from: C:\t-fe_win10\h_TTaskItem.prg => TTASKITEM:LBUTTONUP( 317 )
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1721 )
   Called from: C:\t-fe_win10\h_TTaskItem.prg => TTASKITEM:HANDLEEVENT( 258 )


Alguna idea ? Muchísimas gracias

Saludos
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Como saber si se cambio un dato de un dialogo con 50 Vars
Posted: Tue Aug 21, 2018 02:51 PM
Code (fw): Select all Collapse
? oGet[ 2 ]:oGet:Changed


EMG
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Como saber si se cambio un dato de un dialogo con 50 Vars
Posted: Tue Aug 21, 2018 04:49 PM

Gracias Enrico por tu respuesta, siempre me devuelve .f. aunque lo modifique.

Saludos

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Como saber si se cambio un dato de un dialogo con 50 Vars
Posted: Fri Aug 24, 2018 06:56 PM

lChanged for all controls including Gets is provided in FWH18.06 to be released soon.

Regards



G. N. Rao.

Hyderabad, India
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Como saber si se cambio un dato de un dialogo con 50 Vars
Posted: Sun Aug 26, 2018 06:06 PM

great enhancement !!! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion