Code: Select all
#include "hmg.ch"
/***/
function Main()
local DesCli
DesCli:=space(5)
cArti :=space(16)
DEFINE WINDOW frmNombObje ;
AT 0,0 ;
WIDTH 550 ;
HEIGHT 400 ;
TITLE 'Paso a otro control automáticamente' ;
MAIN
@ 35,15 LABEL lblDesCli ;
VALUE 'Desde' ;
WIDTH 50
@ 35,75 TEXTBOX txtDesCli ;
VALUE DesCli ;
WIDTH 70 ;
TOOLTIP 'Ingrese el Cliente desde el cual desea que se emita el informe' ;
MAXLENGTH 7 ;
UPPERCASE ;
ON CHANGE if( PasaCtrl(),frmNombObje.txtArti.setfocus,Nil )
@ 65,15 LABEL lblArti ;
VALUE 'Artículo' ;
WIDTH 50
@ 65,75 TEXTBOX txtArti ;
VALUE cArti ;
WIDTH 130 ;
TOOLTIP 'Ingrese el Artículo desde el cual desea que se emita el informe' ;
MAXLENGTH 17 ;
UPPERCASE
@ 230,340 COMBOBOX cbo_Orden1 ;
WIDTH 100 ;
ITEMS { "Cliente","Saldo","Descripción" } ;
VALUE 1
DEFINE BUTTON btnAcepta
ROW 300
COL 10
CAPTION 'Aceptar'
ACTION Procesar()
WIDTH 100
END BUTTON
DEFINE BUTTON btnSalir
ROW 300
COL 120
CAPTION 'Salir'
ACTION frmNombObje.release()
WIDTH 100
END BUTTON
END WINDOW
CENTER WINDOW frmNombObje
ACTIVATE WINDOW frmNombObje
Return Nil
/***/
static Function Procesar()
msgbox( "En desarrollo" )
retu Nil
/***/
static Function PasaCtrl()
local cForm,cCtrl
cForm:=thiswindow.name
cCtrl:=This.name
if len( getproperty( cForm,cCtrl,"value" ) ) = getproperty( cForm,cCtrl,"maxlength" )
retu .t.
end if
retu .f.
msgbox( valtype( getproperty( cForm,cCtrl,"maxlength" ) ) )
y me devolvió "U"
Es un bug de HMG o hay alguna otra forma de saber la longitud de un TEXTBOX previamente definido con MAXLENGTH.