TSBROWSE 8 - Pesquisa Incremental

Post Reply
Sdo
Posts: 23
Joined: Wed Apr 09, 2008 5:00 pm
Location: Brasil

TSBROWSE 8 - Pesquisa Incremental

Post by Sdo »

Olá a todos !!

Estou com um problema de pesquisa com a Tsbrowse 8., so faz a pesquisa da primeira letra, as demais não tem ação. Com a TsB 7 funcionava normal. Segue abaixo o prg, se alguem puder me dizer onde esta errado ou mostrar um outro caminho fico agradecido.
//------------------------//
#define _VIDEO_CH
#define _OBJECTS_CH
#define _DDE_CH
//
#include "TSBrowse.ch"
#include "FiveWin.ch"
// uncomment the next line for using ADS/Harbour RDD
//#include "ADS.ch"
#define CLR_PINK nRGB( 255, 128, 128)
#define CLR_NBLUE nRGB( 128, 128, 192)
#define CLR_NBROWN nRGB( 130, 99, 53)
#define CLR_1 nRGB( 190, 215, 190 )
#define CLR_2 nRGB( 230, 230, 230 )
#define CLR_3 nRGB( 217, 217, 255 )
//
REQUEST DBFCDX, DBFFPT
Static oWnd, oIco, aWChild, aFont[ 5 ], aBrush[ 8 ], aBmp[ 6 ]
//----------------------------------------------------------------------------//
Function Main()
//----------------------------------------------------------------------------//
Local oBmp, oBar, cTitle, oBtn[ 9 ], aColor[ 2 ], ;
lNoBlink := .F.
//
Local oDlg, oFld, oBrw[ 7 ], oCol, aRect, nEle, bBlock, oMsg, ;
nMarried := 0, ;
nSingle := 0, ;
nTotSal := 0, ;
nAgeTot := 0, ;
nOldAge := 0, ;
nOldSal := 0, ;
aStates := {}
PRIVATE cChav:="",oChar,cChar:=SPACE(20)
//
Field First, Last, Married, Age, Salary, State
//
RddSetDefault( "DBFCDX" ) // Clipper-Harbour
cTitle := "TSBrowse ! The Power of Columns ! "
USE Employee SHARED NEW
Index On First+Last Tag Name // CDX
Index On State Tag State // CDX
OrdSetFocus( "Name" ) // CDX
//Setdebug()
aWChild := Array( 8 )
SET _3DLOOK ON
SET EPOCH TO Year( Date() ) - 60
DEFINE BITMAP oBmp RESOURCE "Cover" OF oWnd
DEFINE ICON oIco RESOURCE "SuperBrw"

DEFINE WINDOW oWnd TITLE cTitle ;
COLORS CLR_BLACK, CLR_BLUE
DbEval( { || nAgeTot += Age } )
DbGotop()

//
DEFINE DIALOG oDlg RESOURCE "DIALOG_1" BRUSH aBrush[ 8 ]
//
RedeFine Get oChar VAR cChar PICTURE "@!" Id 101 ;
Of oDlg ;
ON CHANGE Pesquisa(nKey,"EMPLOYEE",oBrw[ 4 ],oChar)
//
REDEFINE BROWSE oBrw[ 4 ] GRID ALIAS "Employee" ;
COLORS CLR_BLACK,CLR_PINK ;
ID 110 OF oDlg FONT aFont[ 1 ] ;
MESSAGE "Fonts, colors and bitmaps different for cells, headers and footers"
//
ADD COLUMN TO oBrw[ 4 ];
HEADER "F i r s t" ;
SIZE 130 ;
DATA FieldWBlock( "First", Select() )
ADD COLUMN TO oBrw[ 4 ];
HEADER "Last" + CRLF + "Name" ;
DATA FieldWblock( "Last", Select() )
oBrw[ 4 ]:SetIndexCols( 1, 2 )
// when working with the same database this is very important
oBrw[ 4 ]:lNoResetPos := .F.
//
REDEFINE BUTTON ID 210 OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED ;
ON PAINT oMsg := TMsgBar():New( oDlg, "TSBrowse El poder de las columnas." )
Return Nil
//----------------------------------------------------------------------------//
FUNCTION Pesquisa(nKey,Alias,oBrw,oSay)
//----------------------------------------------------------------------------//
LOCAL nOldRecno:=(Alias)->(Recno())
MSGINFO(OSAY)
IF nKey==VK_BACK
IF LEN(cChav) > 0
cChav:=LEFT(cChav,LEN(cChav)-1)
cChar:=cChav
ELSE
cChar:=SPACE(20)
oSay:SetPos(0)
RETURN(.F.)
END
END
IF (nKey>=32 .AND. nKey<=255) .OR. nKey=VK_BACK
IF nKey!=VK_BACK
cChav+=CHR(nKey)
END
IF !(Alias)->(dbSeek(TRIM(cChav)))
(Alias)->(dbGoto(nOldRecno))
END
(oBrw:SetFocus(),oBrw:Refresh(),oSay:SetFocus())
oSay:SetPos(LEN(oSay)+1)
END
IF nKey#VK_BACK
cChar:=IF(LEN(cChav)#0,cChav,SPACE(20))
oSay:SetPos(LEN(cChar)+1)
END
RETURN(.T.)
//----------------------------------------------------------------------------//

Desde já, obrigado a todos e um grande abraço !
FWH 9.07 - xHarbour 1.1.0 (Simplex) - PELLES C xDev 0.65
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: TSBROWSE 8 - Pesquisa Incremental

Post by mmercado »

Sdo wrote: Estou com um problema de pesquisa com a Tsbrowse 8., so faz a pesquisa da primeira letra, as demais não tem ação. Com a TsB 7 funcionava normal. Segue abaixo o prg, se alguem puder me dizer onde esta errado ou mostrar um outro caminho fico agradecido.
La búsqueda incremental en TSBrowse está configurada para funcionar sin necesidad de un get, ésto es al estilo de Windows Explorer que te sitúa en el registro con solo teclear las letras que vayan coincidiendo con el registro buscado sobre el mismo browser.

Prueba por favor lo siguiente tomando los mismos datos de tu ejemplo, todo lo que necesitas es teclear para encontrar el registro que quieres:

Code: Select all

#include "TSBrowse.ch"
#include "FiveWin.ch"

#define CLR_PINK nRGB( 255, 128, 128)

REQUEST DBFCDX

//----------------------------------------------------------------------------//

Function Main()

   Local oBrw

   Field First, Last

   USE Employee SHARED NEW
   Index On Trim( First ) + Space( 1 ) + Last Tag Name

   DEFINE DIALOG oDlg RESOURCE "DIALOG_1"

   REDEFINE BROWSE oBrw GRID ALIAS "Employee" ;
   COLORS CLR_BLACK,CLR_PINK ID 110 OF oDlg

   ADD COLUMN TO oBrw ;
   HEADER "Name" SIZE 230 ;
   ORDER "NAME" ;   // here is the key for automatic incremental searching
   DATA Trim( EMPLOYEE->FIRST ) + Space( 1 ) + EMPLOYEE->LAST

   REDEFINE BUTTON ID 210 OF oDlg ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED ;
   ON PAINT oMsg := TMsgBar():New( oDlg, "TSBrowse El poder de las columnas." )

Return Nil
Espero te sirva.

Manuel Mercado
ARCC
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela
Contact:

PARA MANUEL MERCADO

Post by ARCC »

Buen día para todos...

Que tal amigo Manuel Mercado y Sdo (con tu permiso), hace unas semanas coloqué una pregunta en referencia a búscar en el TSBrowse pero a través de un Get y no obtuve ninguna respuesta, será que me puedes dar por favor una manito con esa pregunta. Este es el post de la pregunta

http://fivetechsoft.com/forums/viewtopic.php?t=10393
Saludos,

Antonio Castro
Maracaibo - Venezuela
ant_cas@yahoo.com
Sdo
Posts: 23
Joined: Wed Apr 09, 2008 5:00 pm
Location: Brasil

Post by Sdo »

Sr. Manuel Mercado,

Muito obrigado pela sua atenção, como sempre nos atendendo (principalmente para um novo membro deste forum como eu) com muita simpatia, que Deus o ilumine sempre.
Entendi a pesquisa, o que pode ocorrer deste jeito é o usuário alegar que não "vê" o que esta digitando.
Porém após sua explicação, talvez eu crie um SAY para apresentar ao usuário, não sei se será possível , seria a primeira idéia. Vou efetuar alguns testes para ver o que acontece.
Mais uma vez, muito obrigado e um abraço.

Sergio...
FWH 9.07 - xHarbour 1.1.0 (Simplex) - PELLES C xDev 0.65
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: PARA MANUEL MERCADO

Post by mmercado »

ARCC wrote: Que tal amigo Manuel Mercado y Sdo (con tu permiso), hace unas semanas coloqué una pregunta en referencia a búscar en el TSBrowse pero a través de un Get y no obtuve ninguna respuesta, será que me puedes dar por favor una manito con esa pregunta. Este es el post de la pregunta
Hola Antonio, antes que nada te ofrezco una disculpa por no haber podido resolver el problema que planteas (es lo mismo que plantea Sdo), sí lo ví pero TSBrowse no funciona en la forma que quieres, ya que habría que combinar lo que hace el TGet con la forma en funciona TSBrowse, de cualquier forma voy a tratar de buscar la forma de hacer algún ajuste al programa, yo les avisaré si puedo resolverlo.

Saludos.

Manuel Mercado
ARCC
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela
Contact:

Post by ARCC »

Buen día para todos...

Que tal amigo Manuel Mercado, tranquilo no hay problemas yo se que eres una persona muy ocupada, es más aprovecho la oportunidad para agradecer tu incondicional ayuda para con nosotros en el foro, gente como tu son las que engrandecen nuestra comunidad y nuestra programación en FiveWin. Gracias

Ok esperaré paciente a ver puedes hacer funcionar el TSBrowse de la forma mencionada, pero te comento que hast la versión de TSBrowse 6.0 si era posible hacer la búsqueda con un Get, es más así lo utilizaba sin ningún problema hasta ahora.
Saludos,

Antonio Castro
Maracaibo - Venezuela
ant_cas@yahoo.com
Sdo
Posts: 23
Joined: Wed Apr 09, 2008 5:00 pm
Location: Brasil

Post by Sdo »

Olá, Antonio Castro !

Também usava na 6.0 o mesmo tipo de pesquisa que voce tem, realmente se existisse essa alternatica na 8 aí estaria perfeita para mim também.

Um abraço !!

Sergio
FWH 9.07 - xHarbour 1.1.0 (Simplex) - PELLES C xDev 0.65
ARCC
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela
Contact:

Post by ARCC »

Buen día para todos...

Que tal Sdo, bueno vamos esperar a ver que puede hacer por nosotros el amigo Manuel Mercado, ya que para nosotros es muy importante este tipo de búsqueda.
Saludos,

Antonio Castro
Maracaibo - Venezuela
ant_cas@yahoo.com
Post Reply