OSEEK EN BARRA DE MENSAJES

Post Reply
Francis
Posts: 112
Joined: Thu Aug 17, 2006 4:13 pm
Location: Peru

OSEEK EN BARRA DE MENSAJES

Post by Francis »

HOLA A TODOS

COMO HAGO PARA QUE EN UNA BUSQUEDA INCREMENTAL LO QUE DIGITO ME SALGA EN LA BARRA DE MENSAJES...

CON UNA VARIABLE SAY SE PUEDE HACER, PERO EN LA BARRA DE MENSAJES NO SE ....

LES MUESTRO PARTE DEL CODIGO

Code: Select all

  ( cAliVta )->( DBSetOrder( "LIN" ) )
  nTotRV := SumTotRV( cAliVta, .T. )

  DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -05
  DEFINE ICON oIcon RESOURCE "VENTAS"
  DEFINE CURSOR oCursor RESOURCE "Mano"
  DEFINE BRUSH oBrush NAME "GRADIEN"

  DEFINE WINDOW oWChild;
         TITLE OToA( "Registro de Ventas Mes de "+cMes+"/"+IIF( nAnio == 1, STR( cAnio ), ALLTRIM( STR( cAnio + 1 ) ) ) );
         MDICHILD;
         NOZOOM;
         NOICONIZE;
         COLOR "N/W";
         ICON oIcon;
         OF oVentana

  SET FONT OF oWChild TO oFont

  DEFINE BUTTONBAR oBarra;
         OF oWChild;
         SIZE 80, 60;
         2007

  oBarra:bClrGrad :=  { | lInvert | If( ! lInvert, ;
                        { { 0.10,8404992,16777215 },;
                        { 0.10,16777215,8404992 } },;
                        { { 0.50,33023,16777215 },;
                        { 0.50,16777215,33023 } } ) }
  oBarra:nClrText := 0

  DEFINE BUTTON oBar[ 1 ] OF oBarra;
         RESOURCE "NEWDOC";
         ACTION( MCLICK(), AMRegVentas( oBrw, .T., cMes, nAnio, nReg, cAliVta, cAliVde ), nTotRV:= SumTotRV( cAliVta, .F. ), oBrw:Refresh() );
         GROUP;
         PROMPT "Ingreso"

  DEFINE BUTTON oBar[2] OF oBarra;
         RESOURCE "WRITE";
         ACTION( MCLICK(), AMRegVentas( oBrw, .F., cMes, nAnio, nReg, cAliVta, cAliVde ), nTotRV := SumTotRV( cAliVta, .F. ), oBrw:Refresh() );
         PROMPT "Modifica"

  DEFINE BUTTON oBar[3] OF oBarra;
         RESOURCE "STOP";
         ACTION( MCLICK(), BORegVentas( cAliVta, cAliVde, "esta Venta", cMes, nAnio ), nTotRV := SumTotRV( cAliVta, .F. ), oBrw:Refresh() );
         PROMPT "Elimina"

  DEFINE BUTTON oBar[4] OF oBarra;
         RESOURCE "DOOR";
         ACTION( MCLICK(), lSalir := .T., oBrw:cAlias := "",;
                 FErase( "TEMPRV"+LTRIM( STR( NREG ) )+".DBF" ), oWChild:End() );
         PROMPT "Salir"

  DEFINE BUTTON oBar[5] OF oBarra;
         RESOURCE "IPRIMERO";
         ACTION( MCLICK(), oBrw:GoTop() );
         GROUP;
         PROMPT "Primero"

  DEFINE BUTTON oBar[6] OF oBarra;
         RESOURCE "IULTIMO";
         ACTION( MCLICK(), oBrw:GoBottom() );
         PROMPT "Ultimo"

  SET MESSAGE TO " Buscando : " OF oWChild 2007
*  oWChild:oMsgBar:cMsgDef := " Buscando : "+oBrw:bSeek
*  oWChild:oMsgBar:Refresh()
*  oWChild:oMsgBar:Paint()

  @ 00, 00 XBROWSE oBrw;
           FIELDS ( cAliVta )->LIN, ( cAliVta )->DIA+( cAliVta )->MES+( cAliVta )->ANO, ( cAliVta )->CODDOC, ( cAliVta )->SERIE, ( cAliVta )->NRODOC, ( cAliVta )->RUC, IIF( ( cAliVta )->CLIENTE = " ", "Comprobante Anulado",( cAliVta )->CLIENTE ), STR( ( cAliVta )->CODVTA1, 1, 0 ), TransForm( ( cAliVta )->IMPORTE, "9,999,999.99" );
           HEADERS OToA("L¡nea"), OToA("Emisi¢n"), "C/D", "SERIE", "No Documento", "RUC", "CLIENTE","OPE", "TOTAL";
           FIELDSIZES 40, 60, 30, 40, 100, 80, 150, 30, 95;
       JUSTIFY .T., .F., AL_CENTER, .F., .F., .F., .F., AL_CENTER, .T.;
           COLOR CLR_BLACK, RGB( 200,200,200 );
           UPDATE OF oWChild;
           ALIAS cAliVta FOOTERS AUTOSORT;
           ON LEFT DBLCLICK( MCLICK(), AMRegVentas( oBrw, .F., cMes, nAnio, nReg, cAliVta, cAliVde ), SumTotRV( cAliVta ), oBrw:Refresh() )

           WITH OBJECT oBrw
            :bSeek := {|c| DbSeek( Upper( c ) ) }
            :[color=#FF0000]oSeek := oWChild:oMsgBar // ---> aqui quiero que salga en la barra de mensajes de la ventana[/color]            :bKeyDown := { | nKey, nFlags | ;
                              IIF( nKey == 13,; // [Enter]
                                   ( MCLICK(), AMRegVentas( oBrw, .F., cMes, nAnio, nReg, cAliVta, cAliVde ) ),;
                              IIF( nKey == 46,; // [DEL]
                                   ( MCLICK(), BORegVentas( cAliVta, cAliVde, "esta Venta", cMes, nAnio ), oBrw:Refresh() ),;
                              IIF( nKey == ASC("N") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+N]
                                   ( MCLICK(), AMRegVentas( oBrw, .T., cMes, nAnio, nReg, cAliVta, cAliVde ) ),;
                              IIF( nKey == ASC("M") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+M]
                                   ( MCLICK(), AMRegVentas( oBrw, .F., cMes, nAnio, nReg, cAliVta, cAliVde ) ),;
                              IIF( nKey == ASC("S") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+S]
                                   ( MCLICK(), lSalir := .T., oWChild:End() ), ) ) ) ) ) }
           END

           WITH OBJECT oBrw:TOTAL
             :nTotal   := nTotRV  // variable que suma el total del campo importe
             :lTotal   := .t.         // activa el total , pero al sali de un boton cualquiera no actualiza el footer....
             :nFootStrAlign := AL_RIGHT
           END

           oBrw:oCol("CLIENTE"):cFooter := " TOTAL VENTAS : "
           oBrw:oCol("CLIENTE"):nFootStrAlign := AL_RIGHT
       oBrw:bClrGrad := { | lInvert | If( ! lInvert, ;
       { { 1.00,8388608,16054371 }, ;
       { 1.00,16054371,8388608 } }, ;
       { { 0.50,32768,16054371 }, ;
       { 0.50,16054371,32768 } } ) }
       oBrw:bClrHeader := { || { 65535, 0  } }
       oBrw:bClrfooter := { || { 65535, 0  } }
       oBrw:nHeaderHeight := 35
           oBrw:SetRdd()
           oBrw:SetBackGround( oBrush )
           oBrw:CreateFromCode()
           oWChild:SetControl( oBrw )

  oBar[1]:cToolTip = { "INGRESA VENTA NUEVA", "CiberSoft", 1, rgb(255,255,255), rgb(58,116,241) }
  oBar[2]:cToolTip = { "MODIFICA UNA VENTA", "CiberSoft", 1, rgb(255,255,255), rgb(58,116,241) }
  oBar[3]:cToolTip = { "ELIMINA VENTA", "CiberSoft", 1, rgb(255,255,255), rgb(58,116,241) }
  oBar[4]:cToolTip = { "SALIR DE ESTA VENTANA", "CiberSoft", 1, rgb(255,255,255), rgb(58,116,241) }

  ACTIVATE WINDOW oWChild;
           VALID( lSalir )
AYUDA POR FAVOR

SALU2

FRANCIS
CiberSoft - Sistemas de Gestion
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: OSEEK EN BARRA DE MENSAJES

Post by Marcelo Via Giglio »

Francis,

esta es una definicion de un msgitem de la barra de mensajes, como veras alli se define la impresora actual que usa el sistema, la misma
que puede ser cambiada, y cuya selección es visualizada en la barra, supongo que esto podria servirte de ayuda

Code: Select all

   DEFINE MSGITEM msgPrinter OF oWnd:oMsgBar ;
           PROMPT prngetname() SIZE 200 ;
            COLOR CLR_RED ;
          TOOLTIP "Impresora" BITMAP "printer" ;
           ACTION ( PrinterSetup(), msgPrinter:SetText( prngetname() ), msgPrinter:Paint() )
 
saludos

Marcelo
Francis
Posts: 112
Joined: Thu Aug 17, 2006 4:13 pm
Location: Peru

Re: OSEEK EN BARRA DE MENSAJES

Post by Francis »

hola marcelo

gracias por responder... el uso de la barra esta bien, el poblema es en el xbrowse, hay una variable oseek donde se almacena lo que se digita en una busqueda, como lo adecuo para que lo que digito me salga en la barra de mensajes...

De todas maneras voy a probar tu sugerencia...

Salu2

Francis
CiberSoft - Sistemas de Gestion
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: OSEEK EN BARRA DE MENSAJES

Post by Marcelo Via Giglio »

Hola,

me imagino que puedes utilizar el :bseek de xBrowse

xBrowse:bseek := {|c| ......, msgBusqueda:SetText( c ),.... }

donde msgBusqueda es un MSGITEM de la barra de mensajes.

Mira no estoy seguro, hasta ahora no utilizao xBrowse ya me dare tiempo para jugar con el

saludos

Marcelo
Post Reply