FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posted: 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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posted: Wed Sep 11, 2019 07: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
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posted: Wed Sep 11, 2019 07: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.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posted: Wed Sep 11, 2019 01:25 PM
Algo asi?

Code (fw): Select all Collapse
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
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posted: Wed Sep 11, 2019 02:45 PM
Gracias a todos por responder

Me explico

Tengo definidos los objetos de la siguiente manera:
Code (fw): Select all Collapse
....
聽 聽 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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posted: Wed Sep 11, 2019 02: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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
Re: Cambiar ACTION, VALID Y PICTURE Tiempo ejecuci贸n
Posted: Wed Sep 11, 2019 03: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

Continue the discussion