Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Post Reply
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Cambiar ACTION, VALID Y PICTURE Tiempo ejecución

Post by leandro »

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

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

Post by cnavarro »

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
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

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

Post by hmpaquito »

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.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

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

Post by karinha »

Algo asi?

Code: Select all

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
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

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

Post by leandro »

Gracias a todos por responder

Me explico

Tengo definidos los objetos de la siguiente manera:

Code: Select all


....
    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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

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

Post by leandro »

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

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

Post by Marcelo Via Giglio »

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
Post Reply