Parpadeo de un SAY
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Parpadeo de un SAY
Buenas tardes.
se puede lograr el parpadeo de un SAY?
si se puede. Como hacerlo?
Gracias
se puede lograr el parpadeo de un SAY?
si se puede. Como hacerlo?
Gracias
Re: Parpadeo de un SAY
si, se puede con SSAY.PRG y SSAY.CH
Download:
https://mega.nz/file/5QVUzRSS#CxqVYgUT9 ... 5keQMGoccg
Regards, saludos.
Download:
https://mega.nz/file/5QVUzRSS#CxqVYgUT9 ... 5keQMGoccg
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: Parpadeo de un SAY
Y también DSAY.PRG y DSAY.CH
Download:
https://mega.nz/file/kNcBTKjA#ViF4H4zNN ... sRPhdMTedY
Regards, saludos.
Download:
https://mega.nz/file/kNcBTKjA#ViF4H4zNN ... sRPhdMTedY
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: Parpadeo de un SAY
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
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
Re: Parpadeo de un SAY
José, mira se ayuda:
https://forums.fivetechsupport.com/view ... =3&t=43239
Ó haga un DEMO y yo modifico para ti.
Gracias.
Regards, saludos
https://forums.fivetechsupport.com/view ... =3&t=43239
Ó haga un DEMO y yo modifico para ti.
Gracias.
Regards, saludos
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Parpadeo de un SAY
José,
Te doy una idea, si te sirve así, puedes adaptarla a tu caso.
Yo lo hago simulando el parpadeo mostrando/ocultando el SAY con el uso de un timer
Esta linea:
me indica si el contador es par o impar, dependiendo de eso, oculta o muestra.
y aumentado o disminuyendo el valor en el timer, le das la velocidad de parpadero que deseas:
espero te sirva.
Te doy una idea, si te sirve así, puedes adaptarla a tu caso.
Yo lo hago simulando el parpadeo mostrando/ocultando el SAY con el uso de un timer
Code: Select all | Expand
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.
**************************************************************
Code: Select all | Expand
if (nCountBlink/2) <> int(nCountBlink/2)
y aumentado o disminuyendo el valor en el timer, le das la velocidad de parpadero que deseas:
Code: Select all | Expand
define timer oTimer interval 3800 action Fnct_Blinker()
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: Parpadeo de un SAY
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
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
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Parpadeo de un SAY
Si pasas el codigo completo, creo que seria mas facil ayudarte.
Por lo pronto, comenta esta parte
no le veo el sentido, creo que eso hace que no se ejecute el valid,
ponla asi:
y quitale esto a la llamanda del timer
y si estas pasando el objeto como parametro a la funcion blinker,
recuerda colocarla en la funcion, y sin el @, es decir:
prueba asi y nos comentas.
Por lo pronto, comenta esta parte
Code: Select all | Expand
.and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.)
no le veo el sentido, creo que eso hace que no se ejecute el valid,
ponla asi:
Code: Select all | Expand
valid veoramo(@nRamo,@cVeoRamo) //.and. (oRamo:Refresh(),oVeoRamo:Refresh(),.t.)
y quitale esto a la llamanda del timer
Code: Select all | Expand
,oVeoRamo:Refresh()
Code: Select all | Expand
Fnct_Blinker(@oVeoRamo)
Code: Select all | Expand
Function Fnct_Blinker(oVeoRamo)
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: Parpadeo de un SAY
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
*----------------------------------------------------------------------------------------------------------//
//-----------------------------------------------------------------------
*
* funcion de WILLY
*
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)
***************************************************************
*
* funcion de José
*
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.
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
*----------------------------------------------------------------------------------------------------------//
//-----------------------------------------------------------------------
*
* funcion de WILLY
*
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)
***************************************************************
*
* funcion de José
*
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.
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: Parpadeo de un SAY
el problema viene por que no se ejecuta el timer y no se por que
- Willi Quintana
- Posts: 1023
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Re: Parpadeo de un SAY
Pueda que esto te sirva, a mi me funciona bien
Code: Select all | Expand
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)
Last edited by Willi Quintana on Sun Mar 03, 2024 1:13 am, edited 1 time in total.
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Parpadeo de un SAY
prueba haciendo _:
No veo esta funcion:
Code: Select all | Expand
DEFINE TIMER oTmr INTERVAL 50 ACTION (Fnct_Blinker(@oVeoRamo))
Code: Select all | Expand
//REDEFINE SAY oVeoRamo VAR cVeoRamo PICTURE "@K!" ID Ma_VeoRamo OF oDlgMa
REDEFINE SAY oVeoRamo ID Ma_VeoRamo OF oDlgMa
oVeoRamo:SetText(cVeoRamo)
Code: Select all | Expand
Function Fnct_Blinker(oVeoRamo)
nCountBlink++
if (nCountBlink/2) <> int(nCountBlink/2)
oVeoRamo:Hide()
else
oVeoRamo:Show()
endif
oVeoRamo:Refresh()
return .t.
Code: Select all | Expand
valid veoramo(@nRamo,@cVeoRamo)
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: Parpadeo de un SAY
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
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
- JoseAlvarez
- Posts: 807
- Joined: Sun Nov 09, 2014 5:01 pm
Re: Parpadeo de un SAY
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.
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.
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: Parpadeo de un SAY
Estimado José.
Estoy en Argentina. Te agradezco infinitamente tu predisposición. Ya lo soluciones.
En mi caso TU muletilla va como anillo al dedo!!!!
"Los errores en programación, siempre están entre la silla y el teclado..."
Muchas Gracias!!!
Estoy en Argentina. Te agradezco infinitamente tu predisposición. Ya lo soluciones.
En mi caso TU muletilla va como anillo al dedo!!!!
"Los errores en programación, siempre están entre la silla y el teclado..."
Muchas Gracias!!!