FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TSBROWSE 8 - Pesquisa Incremental
Posts: 23
Joined: Wed Apr 09, 2008 05:00 PM
TSBROWSE 8 - Pesquisa Incremental
Posted: Wed Apr 09, 2008 06:59 PM

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
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: TSBROWSE 8 - Pesquisa Incremental
Posted: Thu Apr 10, 2008 03:50 AM
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:
#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
manuelmercado at prodigy dot net dot mx
Posts: 86
Joined: Sat Jun 24, 2006 04:27 PM
PARA MANUEL MERCADO
Posted: Thu Apr 10, 2008 12:27 PM

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
Posts: 23
Joined: Wed Apr 09, 2008 05:00 PM
TSBROWSE 8 - Pesquisa Incremental
Posted: Thu Apr 10, 2008 06:58 PM

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
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: PARA MANUEL MERCADO
Posted: Thu Apr 10, 2008 08:30 PM
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
manuelmercado at prodigy dot net dot mx
Posts: 86
Joined: Sat Jun 24, 2006 04:27 PM
TSBROWSE 8 - Pesquisa Incremental
Posted: Thu Apr 10, 2008 08:42 PM

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
Posts: 23
Joined: Wed Apr 09, 2008 05:00 PM
TSBROWSE 8 - Pesquisa Incremental
Posted: Thu Apr 10, 2008 08:53 PM

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
Posts: 86
Joined: Sat Jun 24, 2006 04:27 PM
TSBROWSE 8 - Pesquisa Incremental
Posted: Thu Apr 10, 2008 09:05 PM

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

Continue the discussion