Page 1 of 1

Busqueda incremental y StatusBar

Posted: Mon Dec 24, 2007 7:48 pm
by jllinas
A ver si alguien sabe como:

Necesito mostrar en el StatusBar el valor que estoy manejando en una busqueda incremental en un twbrowse. Revise samples\StBar.prg y parece que lo hice, pero me muestra muchos simbolos extraños....

Coloque que el metodo bKeyDown del wBrowse evaluara esto:

Code: Select all

IF !EMPTY(cZoek)
   IF INDEXORD() # 0
      bMsg := &("{||oStatusBar:SetPartText(3,'"+PADR("Buscando a >"+cZoek+"<",40)+"')}")
      EVAL( bMsg )

      DBSeek( cZoek )
      IF Found()
         IF nRecNo#RECNO()
            oLbx:Refresh()
         ENDIF
         nRecNo := RECNO()
      ELSE
         DBGoTo( nRecNo )
         oLbx:Refresh()
      ENDIF
   ENDIF
ELSE
   oStatusBar:SetPartText(3,"                                        ")
CLR_BLACK,, .t. )
ENDIF
donde cZoek es la variable de busqueda incremental.

Pero no consigo esto. Con el MsgBar estaba bien, pero me interesa utilizar StatusBar.

Gracias anticipadas...

Posted: Mon Dec 24, 2007 7:59 pm
by Antonio Linares
Julio,

Puedes poner un ejemplo de texto usado por cZoek que no se vea bien ? gracias

Posted: Mon Dec 24, 2007 8:10 pm
by jllinas
Antonio:

Gracias por responder tan rapido.

Como incluyo el pantallazo aquí ? (disculpa mis limitaciones en manejo del foro.. :()

Abrazos y Felicidades en Navidad !

Posted: Mon Dec 24, 2007 8:16 pm
by Antonio Linares
Julio,

No hace falta el pantallazo de momento (puedes usar www.imageshack.us para incluirlos aqui), sino el texto que le estás asignando a la statusbar para poder reproducirlo, gracias

Posted: Mon Dec 24, 2007 9:03 pm
by jllinas
Ok, comprendo:

1- El StatusBar lo defino asi en el dialogo:

Code: Select all

   DEFINE STATUSBAR oStatusBar PROMPT "Edición de Registros" OF oDlg ;
      SIZES 150, 280, 560 ;
      PROMPTS "One", Fecha, "                                        "
La variable "Fecha" contiene la fecha actual, y se visualiza perfectamente.

2- Quisiera que cuando se pulse cualquier tecla, se realice la busqueda incremental. La variable "cZoek" contiene la cadena que se ha estado digitando y que comprende lo que "busca" el usuario. Si se trata de la DBF de Clientes, bien podria ser que cZoek := "GONZAL" si es que ha estado buscando el primer Gonzales en el wBrowse de clientes ordenado alfabeticamente.

Agrego una pantalla con lo que describo anteriormente...
Image
By jllinas at 2007-12-24

En este ejemplo, cZoek contenia "ANDR", pero como vez muestra una "G", que no tiene nada que ver con el valor de cZoek..

Abrazos...

Posted: Mon Dec 24, 2007 9:10 pm
by Antonio Linares
Julio,

Estás haciéndolo así ?

oStatusBar:SetPartText( 3, cZoek )

Posted: Mon Dec 24, 2007 9:19 pm
by jllinas
Perfecto Amigo !!!!

Solucionado. Parece que en algun momento no me funciono así, y quería redescubrir la fórmula del agua calentada !

La forma mas simple siempre es la mejor...

Gracias de nuevo, y te deseo que pases unas Felices Navidades junto a tu familia, y que el 2008 sea el Mejor Año del Resto de tu Vida.

Abrazos....

Posted: Tue Dec 25, 2007 12:57 am
by Antonio Linares
Bien! :-)