Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Postby leandro » Wed Sep 11, 2019 12:39 am

Buenas tardes para todos,

como dice el encabezado, requiero cambiar el action, valid y picture en tiempo de ejecución de un get, se puede hacer esto?

De antemano gracias
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: 1481
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Postby cnavarro » Wed Sep 11, 2019 7:42 am

Leandro, explica un poco mejor lo que necesitas
Cambiar las propiedades de un objeto ya creado?, bien, pero desde otro get?, boton?,......no debería haber problema
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: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Postby hmpaquito » Wed Sep 11, 2019 7:50 am

Bueno, para bAction y bValid lo que haria yo sería simplemente poner un if en el codeblock de la expresion del action y del valid porque yo no tocaria los codeblocks originales. Puede funcionar o no, dependerá si se han pasado a variables intermedias.

Con el picture. Ahi habria que cambiarlo en la data ::cPicture.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Postby karinha » Wed Sep 11, 2019 1:25 pm

Algo asi?

Code: Select all  Expand view

FUNCTION Main()

   Local oDlg, oGet, oBtn
   Local lTest := .t.
   Local cTipo := "J", oTEST1,oTest2
   Local cCGCCPF := Space(14)

   @ 10, 2 GET oTEST1 VAR cTipo pixel OF oDlg PICTURE "!";
           valid VerificaAltera(cTipo,oTest2,@cCgcCpf)

RETURN NIL

Function VerificaAltera( cTipo, oGet, cCgc )

    If !cTipo$"F/J"
        MsgStop("Deve ser digitado (F)isicio (J)uridico","Teste")
        Return(.F.)
    Endif

    If cTipo="J".and.oGet:cPicture!="@R 99.999.999/9999-99"
        cCgc:=Space(14)
        oGet:cPicture:="@R 99.999.999/9999-99"
        oGet:oGet:Picture:="@R 99.999.999/9999-99"
        oGet:Refresh()
     ElseIf cTipo="F".and.oGet:cPicture!="@R 999.999.999-99"
        cCgc:=Space(11)
        oGet:cPicture:="@R 999.999.999-99"
        oGet:oGet:Picture:="@R 999.999.999-99"
        oGet:Refresh()
    Endif

Return(.t.)
 


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

Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Postby leandro » Wed Sep 11, 2019 2:45 pm

Gracias a todos por responder

Me explico

Tengo definidos los objetos de la siguiente manera:
Code: Select all  Expand view


....
    REDEFINE GET oGnit VAR identifica ID 4019 OF oDlgFct UPDATE BITMAP "Bbusc" ;
            ACTION prueba() VALID (prueba2,vSale)


       REDEFINE BUTTONBMP BtnS ID 4002 OF oDlgFct ACTION cambiaAction()

....

function prueba1()
....
return nil

function prueba2()
....
return nil

function prueba3()
....
return nil

function prueba4()
....
return nil

function cambiaAction()

  debe cambiar el en get oGnit el ACTION prueba()
  por la ACTION prueba3()

  debe cambiar el en get oGnit el VALID prueba2()
  por VALID prueba4()

return nil
 


Espero haberme echo entender

De antemano gracielas
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: 1481
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Postby leandro » Wed Sep 11, 2019 2:46 pm

Gracias karinha

Lo del picture funcione correctamente, no se si de la misma manera se pueda hacer lo del ACTION y lo del VALID.

Gracielas
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: 1481
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Postby Marcelo Via Giglio » Wed Sep 11, 2019 3:45 pm

Leandro,

si tienes una condición por la cual cambias el picture, no veo problema de utilizar la misma para el valid y el action, define una función para el valid y otra para el action y pasa como parametro la condición y asi validas tomando en cuenta la condicion y haces los mismo con el action

....VALID miValid( .., condicion ) ACTION miAction( ...,condicion)

function miValid(...,condicion)

do case
case condicion = ...
prueba4()
case condicion = ...
prueba3()

endcase

reuturn .F.

function miAction(...,condicion)

do case
case condicion = ...
llamar prueba1()
case condicion = ...
llamar prueba2()

endcase

reuturn
Marcelo Via Giglio
 
Posts: 1050
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 91 guests