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 !
TSBROWSE 8 - Pesquisa Incremental
TSBROWSE 8 - Pesquisa Incremental
FWH 9.07 - xHarbour 1.1.0 (Simplex) - PELLES C xDev 0.65
Re: TSBROWSE 8 - Pesquisa Incremental
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.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.
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
Manuel Mercado
PARA MANUEL MERCADO
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
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
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...
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
Re: PARA MANUEL MERCADO
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.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
Saludos.
Manuel Mercado
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.
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.