FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cambiar texto de boton de Barra de Botones en ejecuci贸n
Posts: 400
Joined: Fri May 11, 2007 08:20 PM
Cambiar texto de boton de Barra de Botones en ejecuci贸n
Posted: Thu May 11, 2017 12:19 AM
Hola :
Quiero cambiar el texto a un Boton que esta en la barra de botones pero no logro hacerlo se
cuelga y sale el msje: Error BASE/1004 Message not found : NIL:SETTEXT

Code (fw): Select all Collapse
聽 聽DEFINE WINDOW oMainWnd ;
聽 聽 聽 聽MDI 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽FROM 0,0 TO 30, 80 ;
聽 聽 聽 聽TITLE ::cTitulo 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽MENU ::Menu() 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽BRUSH oBrush

聽 聽DEFINE MESSAGE BAR oMsg OF oMainWnd 2007 聽;
聽 聽 聽 聽CLOCK DATE
聽 聽 聽 聽
聽 聽DEFINE BUTTONBAR BUTTONSIZE 53,57 oBar 聽 聽;
聽 聽 聽 聽OF oMainWnd 2007

聽 聽DEFINE BUTTON oBot RESOURCE "B_MES2" OF oBar 聽 聽;
聽 聽聽聽 聽 PROMPT cMesElejido 聽 聽 聽 ; 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 ACTION ( IIF(TPWDIR->OPTI1, Eval({|| cMesElejido:=SeleccionMes(), oBot:SetText(cMesElejido), oBot:Refresh() }), MsgBox(2,"NO tiene acceso a esta opci贸n"))); 聽//===>el error se produce en esta linea el metodo SetText no existe
聽 聽 聽 MESSAGE "Periodo de Proceso" ; 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 TOOLTIP "Periodo de Proceso"
聽 聽 聽 聽 聽 聽 
聽 聽DEFINE BUTTON OF oBar PROMPT "Pedido" 聽 聽 聽 聽;
聽 聽 聽 聽RESOURCE "Nota_Pedido" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽ACTION ( IIF(TPWDIR->GDESPA, Guia(), MsgBox(2,"NO tiene acceso a esta opci贸n")));
聽 聽 聽 聽TOOLTIP "Nota de Pedido" 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽MESSAGE "Nota de Pedido"
聽 聽...
聽 聽...

Gracias
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Cambiar texto de boton de Barra de Botones en ejecuci贸n
Posted: Thu May 11, 2017 01:56 AM
Intenta asi
Code (fw): Select all Collapse
.../... ACTION ( oBar:aControls[ 3 ]:SetText( "Hola" ), oBar:Refresh() )
// El 3 es el numero de boton
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: 400
Joined: Fri May 11, 2007 08:20 PM
Re: Cambiar texto de boton de Barra de Botones en ejecuci贸n
Posted: Thu May 11, 2017 02:59 PM
Gracias Cristobal por responder pero no funciona me sale el mismo error: Error BASE/1004 Message not found : NIL:SETTEXT
He intentado asi:
1era forma
Code (fw): Select all Collapse
聽 聽DEFINE BUTTON RESOURCE "B_MES2" OF oBar 聽 聽; 聽
聽 聽聽聽 聽 PROMPT cMesElejdo 聽 聽 聽; 聽 聽 
聽 聽 聽 ACTION ( IIF(TPWDIR->OPTI1, Eval({|| cMesElejido:=SeleccionMes(), oBar:aControls[ 1 ]:SetText(cMesElejido) }), MsgBox(2,"NO tiene acceso a esta opci贸n"))) ;
聽 聽 聽 MESSAGE "Periodo de Proceso" ; 聽 聽 聽 聽 聽 聽
聽 聽 聽 TOOLTIP "Periodo de Proceso"

2da forma
Code (fw): Select all Collapse
聽 oBot:={,,,}
聽 聽DEFINE BUTTON oBot[ 1 ] RESOURCE "B_MES2" OF oBar 聽 聽; 聽
聽 聽聽聽 聽 PROMPT cMesElejdo 聽 聽 聽; 聽 聽 
聽 聽 聽 ACTION ( IIF(TPWDIR->OPTI1, Eval({|| cMesElejido:=SeleccionMes(), oBar:aControls[ 1 ]:SetText(cMesElejido) }), MsgBox(2,"NO tiene acceso a esta opci贸n"))) ;
聽 聽 聽 MESSAGE "Periodo de Proceso" ; 聽 聽 聽 聽 聽 聽
聽 聽 聽 TOOLTIP "Periodo de Proceso"

3era forma
Code (fw): Select all Collapse
聽 oBot:={,,,}
聽 聽 聽 聽 聽DEFINE BUTTON oBot[ 1 ] RESOURCE "B_MES2" OF oBar 聽 聽;
聽 聽聽聽 聽 PROMPT cMesElejdo 聽 聽 聽; 
聽 聽 聽 ACTION ( IIF(TPWDIR->OPTI1, Eval({||cMesElejido:=SeleccionMes(), obot[ 1 ]:SetText(cMesElejido) }), MsgBox(2,"NO tiene acceso a esta opci贸n"))) ;
聽 聽 聽 MESSAGE "Periodo de Proceso" ;
聽 聽 聽 TOOLTIP "Periodo de Proceso"
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Cambiar texto de boton de Barra de Botones en ejecuci贸n
Posted: Thu May 11, 2017 05:24 PM
Artu01, el c贸digo que te he puesto funciona, comprobado
Pru茅balo sin nada m谩s, en el action del button
Por lo que habr谩 que buscar por qu茅 no te reconoce el oBar dentro del codeblock, no?

Code (fw): Select all Collapse
( IIF(TPWDIR->OPTI1, ( cMesElejido:=SeleccionMes(), oBar:aControls[ 1 ]:SetText(cMesElejido), oBar:Refresh() ), MsgBox(2,"NO tiene acceso a esta opci贸n"))) ;
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: 400
Joined: Fri May 11, 2007 08:20 PM
Re: Cambiar texto de boton de Barra de Botones en ejecuci贸n
Posted: Thu May 11, 2017 05:44 PM

Cristobal tenia razon si funciona con tu indicacion, yo no me di cuenta que habia dejado dentro de mi funcion SeleccionMes() al final
una sentencia oBot:SetText(ladescripciondelmes(nMes)) que era la linea que producia el error y no era como yo suponia en la linea del Action

Gracias Doc!

fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql

Continue the discussion