Buenas tardes.
se puede lograr el parpadeo de un SAY?
si se puede. Como hacerlo?
Gracias
Buenas tardes.
se puede lograr el parpadeo de un SAY?
si se puede. Como hacerlo?
Gracias
Gracias Joao por tu tiempo.
No es lo que busco.
Necesito que al cargar un dato en un GET ( por ejemplo codigo de cliente ) se me muestre el NOMBRE del mismo en un SAY y este quede parpadeando o titilando.
Se puede?
Gracias
Define Dialog oDlg_EditarPromotores resource "oDlg_NewPromotor" title 'Actualizar cambios en este Promotor'
oDlg_EditarPromotores:lHelpIcon:=.f.
oDlg_EditarPromotores:SetFont(_oFontDlgs)
Redefine say oSay1 id 4016 of oDlg_EditarPromotores
oSay1:SetColor( nSayTextColor, nSayBackColor )
oSay1:SetText('Editando...')
oSay1:SetFont(oFontSayEdit)
oSay1:lTransparent:=.t.
define timer oTimer interval 3800 action Fnct_Blinker()
...
...
Activate Dialog ..
***************************************************************
Static Function Fnct_Blinker()
nCountBlink++
if (nCountBlink/2) <> int(nCountBlink/2)
oSay1:Hide()
else
oSay1:Show()
endif
oSay1:Refresh()
return .t.
**************************************************************if (nCountBlink/2) <> int(nCountBlink/2)define timer oTimer interval 3800 action Fnct_Blinker()Joao y José: Gracias por molestarse!!!
Algo debo esta haciendo mal ( muy Mal )
No logro hacerlo funcionar.
mi fuente es asi:
.....
REDEFINE GET oRamo VAR nRamo PICTURE "99" ID Ma_Ramo OF oDlgMa valid veoramo(@nRamo,@cVeoRamo) .and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.)
REDEFINE SAY oVeoRamo VAR cVeoRamo PICTURE "@K!" ID Ma_VeoRamo OF oDlgMa
donde la funcion VeoRamo me devuelve 2 valores, 1 codigo y un detalle.. este detalle es el que quiero hacer parpadear.
he probado asi lo de JOAO
REDEFINE GET oRamo VAR nRamo PICTURE "99" ID Ma_Ramo OF oDlgMa valid veoramo(@nRamo,@cVeoRamo) .and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.)
REDEFINE DYNAMIC SAY VAR cVeoRamo ID Ma_VeoRamo OF oDlgMa;
HORIZONTAL SCROLL WRAP;
RIGHT SHADED;
COLOR CLR_WHITE, CLR_BLUE //FONT oFont
y no hay caso, incluso intente pasar el parametro objeto del say y me da error en la palabra DYNAMIC
y he probado asi con la sugerencia de José
REDEFINE GET oRamo VAR nRamo PICTURE "99" ID Ma_Ramo OF oDlgMa valid veoramo(@nRamo,@cVeoRamo) .and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.)
REDEFINE SAY oVeoRamo VAR cVeoRamo PICTURE "@K!" ID Ma_VeoRamo OF oDlgMa
DEFINE TIMER oTmr INTERVAL 50 ACTION (Fnct_Blinker(@oVeoRamo),oVeoRamo:Refresh())
pasando el objeto porque no es publico sin tocar la funcion Fnct_Blinker
y tampoco logro el parpadeo, es mas no me realiza ningun cambio.
Esta es muy parecida a una propuesta de WILLIY que tampoco logro hacer funcionar
lo dicho. algo estoy haciendo mal, muy mal.
gracias igual por su tiempo
.and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.) valid veoramo(@nRamo,@cVeoRamo) //.and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.),oVeoRamo:Refresh()Fnct_Blinker(@oVeoRamo)Function Fnct_Blinker(oVeoRamo)Estimado José.
Si saco los refresh() ( que lo hice ) no me actualiza ni el get ni el detalle
la variable se pasa con @ pero se recibe sin ella.
Todo lo sugerido lo intente y no va.
asi me quedo el codigo en discordia
Function Materiales()
local ......
DEFINE DIALOG oDlgMa RESOURCE "Material"
DEFINE TIMER oTmr INTERVAL 50 ACTION (Fnct_Blinker(@oVeoRamo),oVeoRamo:Refresh())
REDEFINE GET oCodigo VAR nCodigo PICTURE "9999" ID Ma_Codigo OF oDlgMa when .f. //valid nCodigo > 0 .and. ValCodigo(nCodigo,agrega,'Código de Cliente ')
REDEFINE GET oDetalle VAR cDetalle PICTURE "@K!" ID Ma_Detalle OF oDlgMa valid !empty(cDetalle)
REDEFINE GET oAbrevia VAR cAbrevia PICTURE "@K!" ID Ma_Abrevia OF oDlgMa
REDEFINE GET oRamo VAR nRamo PICTURE "99" ID Ma_Ramo OF oDlgMa valid veoramo(@nRamo,@cVeoRamo) .and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.)
/*
REDEFINE DYNAMIC SAY VAR cVeoRamo ID Ma_VeoRamo OF oDlgMa;
HORIZONTAL SCROLL WRAP;
RIGHT SHADED;
COLOR CLR_WHITE, CLR_BLUE //FONT oFont
*/
REDEFINE SAY oVeoRamo VAR cVeoRamo PICTURE "@K!" ID Ma_VeoRamo OF oDlgMa
REDEFINE GET oCosto VAR nCosto PICTURE "999,999.99" ID Ma_Costo OF oDlgMa valid nCosto>0
REDEFINE GET oUltActPre VAR dUltActPre ID Ma_CostoAl OF oDlgMa
REDEFINE GET oUnidad VAR cUnidad PICTURE "@K!" ID Ma_Unidad OF oDlgMa
REDEFINE GET oLargo VAR nLargo PICTURE "999.999" ID Ma_Largo OF oDlgMa
REDEFINE GET oAncho VAR nAncho PICTURE "999.999" ID Ma_Ancho OF oDlgMa
REDEFINE GET oPeso VAR nPeso PICTURE "999999" ID Ma_Peso OF oDlgMa
REDEFINE GET oObserva VAR cObserva PICTURE "@K!" ID Ma_Observa OF oDlgMa
REDEFINE GET oProve1 VAR nProve1 PICTURE "9999" ID Ma_Prove1 OF oDlgMa valid VeoProve(@nProve1,cVeoProve1) .and. (oProve1:Refresh(),oVeoProve1:Refresh(),.t.)
REDEFINE SAY oVeoProve1 VAR cVeoProve1 PICTURE "@K" ID Ma_VeoProv1 OF oDlgMa
REDEFINE GET oPreProv1 VAR nPreProv1 PICTURE "999,999.99" ID Ma_PreProv1 OF oDlgMa when nProve1>0
REDEFINE GET oFecPrePr1 VAR dFecPrePr1 ID Ma_PreProv1Al OF oDlgMa when nProve1>0
REDEFINE GET oProve2 VAR nProve2 PICTURE "9999" ID Ma_Prove2 OF oDlgMa valid VeoProve(@nProve2,cVeoProve2,.t.) .and. (oProve2:Refresh(),oVeoProve2:Refresh(),.t.)
REDEFINE SAY oVeoProve2 VAR cVeoProve2 PICTURE "@K" ID Ma_VeoProv2 OF oDlgMa
REDEFINE GET oPreProv2 VAR nPreProv2 PICTURE "999,999.99" ID Ma_PreProv2 OF oDlgMa when nProve2>0
REDEFINE GET oFecPrePr2 VAR dFecPrePr2 ID Ma_PreProv2Al OF oDlgMa when nProve2>0
REDEFINE GET oProve3 VAR nProve3 PICTURE "9999" ID Ma_Prove3 OF oDlgMa valid VeoProve(@nProve3,cVeoProve3,.t.) .and. (oProve3:Refresh(),oVeoProve3:Refresh(),.t.)
REDEFINE SAY oVeoProve3 VAR cVeoProve3 PICTURE "@K" ID Ma_VeoProv3 OF oDlgMa
REDEFINE GET oPreProv3 VAR nPreProv3 PICTURE "999,999.99" ID Ma_PreProv3 OF oDlgMa when nProve3>0
REDEFINE GET oFecPrePr3 VAR dFecPrePr3 ID Ma_PreProv3Al OF oDlgMa when nProve3>0
REDEFINE BTNBMP oAceptar ID Ma_Aceptar OF oDlgMa FILENAME "ACEPTAR.BMP" ACTION Eval(Graba)
REDEFINE BTNBMP oCancelar ID Ma_Cancelar OF oDlgMa FILENAME "CANCELA.BMP" CANCEL ACTION oDlgMa:End()
oAceptar:lTransparent = .t.
oCancelar:lTransparent = .t.
ACTIVATE DIALOG oDlgMa CENTERED
if lSave
if agrega
Materia->(DbAppend())
Materia->Codigo := nCodigo
endif
Materia->Detalle := cDetalle
Materia->Abrevia := cAbrevia
Materia->Ramo := nRamo
Materia->Costo := nCosto
Materia->Unidad := cUnidad
Materia->Largo := nlargo
Materia->Ancho := nAncho
Materia->Peso := nPeso
Materia->UltActPre := dUltActPre
Materia->Observa := cObserva
Materia->Prove1 := nProve1
Materia->Prove2 := nProve2
Materia->Prove3 := nProve3
Materia->PreProv1 := nPreProv1
Materia->PreProv2 := nPreProv2
Materia->PreProv3 := nPreProv3
Materia->FecPrePro1 := dFecPrePr1
Materia->FecPrePro2 := dFecPrePr2
Materia->FecPrePro3 := dFecPrePr3
Acciones->(DbAppend())
Acciones->Usuario := usuari
Acciones->Fecha := date()
Acciones->Hora := left(time(),5)
Acciones->Detalle := if(agrega,'Agregó el Material '+alltrim(cdetalle),'Modifico el Material '+alltrim(cDetalle))
dbcommitall()
endif
Materia->(dbsetorder(queor))
Materia->(DbGoTop())
return NIL
*----------------------------------------------------------------------------------------------------------//
//-----------------------------------------------------------------------
*
*
Function Blinker(oCtrl, oTmr)
Static lOn := .f.
oTmr:DeActivate()
if lOn
oCtrl:Enable() //Hide()
else
oCtrl:Disable() //Show()
endif
lOn := !lOn
oTmr:Activate()
oCtrl:Refresh()
Return(Nil)
*
*
Static Function Fnct_Blinker(oSay1)
nCountBlink++
if (nCountBlink/2) <> int(nCountBlink/2)
oSay1:Hide()
else
oSay1:Show()
endif
oSay1:Refresh()
return .t.
Gracias por tu tiempo.
el problema viene por que no se ejecuta el timer y no se por que
DEFINE DIALOG oDlg FONT oFont RESOURCE "IMPOREXPOR" TITLE cMensa
DEFINE TIMER oTmr INTERVAL 1000 ACTION Blinker(oSay, oTmr)
REDEFINE XIMAGE oImg RESOURCE "EXCEL2DB" ID 100 OF oDlg
REDEFINE SAY oSay VAR cMen ID 125 FONT oFont1 COLOR CLR_RED OF oDlg
...
..
.
ACTIVATE DIALOG oDlg CENTER ON ( oTmr:Activate() )
oTmr:DeActivate()
//--------------------------------------------------------------------------------------------------------
Function Blinker(oCtrl, oTmr)
Static lOn := .f.
oTmr:DeActivate()
if lOn
oCtrl:Enable() //Hide()
else
oCtrl:Disable() //Show()
endif
lOn := !lOn
oTmr:Activate()
Return(Nil)DEFINE TIMER oTmr INTERVAL 50 ACTION (Fnct_Blinker(@oVeoRamo))//REDEFINE SAY oVeoRamo VAR cVeoRamo PICTURE "@K!" ID Ma_VeoRamo OF oDlgMa
REDEFINE SAY oVeoRamo ID Ma_VeoRamo OF oDlgMa
oVeoRamo:SetText(cVeoRamo)Function Fnct_Blinker(oVeoRamo)
nCountBlink++
if (nCountBlink/2) <> int(nCountBlink/2)
oVeoRamo:Hide()
else
oVeoRamo:Show()
endif
oVeoRamo:Refresh()
return .t.valid veoramo(@nRamo,@cVeoRamo)Gracias Willy, ya había probado tu solución y me fallaba porque me faltaba pasar oTmr como @oTmr
asi me funciona perfecto. Gracias!!!
José: Probé tu sugerencia y no me funciona. no me muestra en ningún caso el detalle.
MUCHAS GRACIAS por tu tiempo.
José Camilo
José, lo que estas necesitando no reviste mayor complicación.
Si quieres lo podemos ver mañana lunes por anydesk.
No se en que pais estas, sera ponernos de acuerdo a que hora, tomando en cuenta las diferencia horaria. Yo estoy en Venezuela.