Busqueda en TSBrowse

Busqueda en TSBrowse

Postby fergonm » Fri Apr 18, 2008 11:14 am

Saludos a los componentes del foro.

Intento algo usando TSBrowse de D. Manuel Mercado. Se trata de buscar en cuarquier columna aunque no esté indexada. No se si es posible.

Un saludo.
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: Busqueda en TSBrowse

Postby mmercado » Fri Apr 18, 2008 3:03 pm

fergonm wrote:Intento algo usando TSBrowse de D. Manuel Mercado. Se trata de buscar en cuarquier columna aunque no esté indexada. No se si es posible.

Hola, yo uso lo siguiente en alguna de mis aplicaciones:
Code: Select all  Expand view  RUN
   DEFINE SBUTTON OF oBar GROUP ;
          RESOURCE "MULTI Buscam" ;
          ACTION ( cSearch := Space( 40 ), ;
                   If( MsgGet( "Nombres en los registros", "Buscar", @cSearch ) .and. ! Empty( cSearch ), ;
                   oBrw:ExpLocate( '"' + Upper( AllTrim( cSearch ) ) + ;
                                   '"$Trim(MGTRAB->NOMBRE)+Trim(MGTRAB->APEPAT)+Trim(MGTRAB->APEMAT)' ), Nil ) )  ;
          TOOLTIP "Búsqueda de nombres" ;
          MESSAGE "Buscar un registro cuyo nombre contenga la(s) palabra(s) que escribas."

Adáptalo a tus necesidades, saludos.

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby fergonm » Fri Apr 18, 2008 5:06 pm

Muchas gracias D. Manuel. Lo probaré

Un cordial saludo desde Zaragoza
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Postby fergonm » Mon Apr 21, 2008 3:07 pm

Estimado Manuel

He intentado usar el código como me indica y he logrado compilar y enlazar tas varios intentos y tras descubrir la ayuda de los dos métodos.

Al correr el programa, es decir en tiempo de ejecución, me da error e indica lo siguiente:

Application
===========
Path and name: c:\Personal\FWH\ts\TSBROWSE\SAMPLES\sbtest.exe (32 bits)
Size: 1,815,552 bytes
Time from start: 0 hours 0 mins 13 secs
Error occurred at: 04/21/08, 16:51:49
Error description: Error BASE/1004 No exported method: EXPSEEK
Args:
[ 1] = A { ... }
[ 2] = C ali

Stack Calls
===========
Called from: => EXPSEEK(0)
Called from: .\sbtest.prg => (b)FWINDOW(1397)
Called from: => TSBUTTON:CLICK(790)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: => TSBUTTON:HANDLEEVENT(1288)
Called from: .\source\classes\WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: => TMDIFRAME:ACTIVATE(0)
Called from: .\sbtest.prg => MAIN(163)



He modificado el programa SBTest.PRG, añadiendo la siguietes lineas.



Static Function fWindow( nSample )

Local oDlg, oBar, oFld, oBmp, oBrw[ 7 ], oCol, aRect, nEle, nBrwHeight, nMarried, nSingle, nTotSal, nAgeTot, ;
nOldAge, nOldSal, aStates, bBlock, cFer, cSearch:=SPACE(40)

Field First, Last, Married, Age, Salary, State

IF aWChild[ nSample ] == Nil

nMarried := 0
nSingle := 0
nTotSal := 0
nAgeTot := 0
nOldAge := 0
nOldSal := 0
aStates := {}

DEFINE BITMAP oBmp RESOURCE "Head"

If nSample == 7
DEFINE WINDOW aWChild[ nSample ] OF oWnd BORDER NONE NOMINIMIZE NOMAXIMIZE ;
TITLE "Sample " + LTrim( Str( nSample ) ) BRUSH aBrush[ 8 ] ;
FROM 0,0 TO oWnd:nBottom, oWnd:nRight PIXEL ;
ICON oIco ;
MDICHILD
Else
DEFINE WINDOW aWChild[ nSample ] OF oWnd BORDER NONE NOMINIMIZE NOMAXIMIZE ;
TITLE "Sample " + LTrim( Str( nSample ) ) ;
FROM 0,0 TO oWnd:nBottom, oWnd:nRight PIXEL ;
ICON oIco ;
MDICHILD
EndIf

DEFINE BUTTONBAR oBar OF aWChild[ nSample ] SIZE 36, 36
//2007

DEFINE BUTTON OF oBar NOBORDER
DEFINE BUTTON OF oBar RESOURCE "Print16" NOBORDER;
ACTION oBrw[ nSample ]:Report() ;
TOOLTIP "Print"

DEFINE BUTTON OF oBar RESOURCE "Exitb16" NOBORDER;
ACTION ( aWChild[ nSample ]:End(), aWChild[ nSample ] := Nil ) ;
TOOLTIP "Exit"

DEFINE SBUTTON OF oBar GROUP RESOURCE "Point" NOBORDER;
ACTION (MsgGet("Nombres","Buscar", @cSearch),;
If(!oBrw:ExpSeek(AllTrim(cSearch)),;
MsgStop("No hay ningún registro con los datos de busqueda",cSearch),nil));
TOOLTIP "Busqueda";
MESSAGE "Buscar nombres"

DEFINE SBUTTON OF oBar GROUP RESOURCE "Search" NOBORDER;
ACTION (MsgGet("Nombres","Buscar", @cSearch),;
cExp:=upper(AllTrim(cSearch))+"$Trim(EMPLOYEE->FIRST)+Trim(EMPLOYEE->LAST)"+;
"Trim(EMPLOYEE->STREET)",;
If(!oBrw:ExpLocate(cSearch),;
MsgStop("No hay ningún registro con los datos de busqueda",cSearch),nil));
TOOLTIP "Busqueda";
MESSAGE "Buscar nombres"


agradezco su ayuda de antemano.

Un saludo. Fernando González
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Postby fergonm » Tue Apr 22, 2008 7:46 pm

Para D. Manuel MERCADO.

Mis problemas no se solucionan no soy capaza de que funcione el botón de búsqueda.

¿Podría ayudarme?

Un saludo.
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Postby mmercado » Tue Apr 22, 2008 8:11 pm

fergonm wrote:Mis problemas no se solucionan no soy capaza de que funcione el botón de búsqueda.¿Podría ayudarme?


Hola Fernando, disculpa la tardanza, ando medio carrereado. Estoy tratando de preperarte un pequeño ejemplo para enviártelo.

Saludos.

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby fergonm » Sat May 17, 2008 10:03 am

Estimado Manuel.

He solucionado el problema con el método ExpSeek. Funciona correctamente.

El método ExpLocate he logrado un funcionamiento "Parcial", ya que busca y localiza en parte de las columnas, no en todas.

Utilizo dos tablas, Siniestro (padre) y Pólizas (Hija) relacionadas con SET RELATION y me temo que ese sea el posible error. Pero por otra parte en una columna de Siniestro no puedo buscar.

Otro tema, no encuentro la ayuda del método Proper, que lo utilizo para declarar las columnas de la tabla hija, ya que no se hacerlo con el método FieldWBlock.

Un saludo muy cordial.
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Postby fergonm » Mon May 19, 2008 11:34 am

Estimado Manuel:

Ya está solucionado el tema de la búsqueda y localizado el método Proper al final de la ayuda (eso pasa por no llegar la final). Todo el problema era creer que el funcionamiento era complicado. Al simplificar, salió.

Muchas gracias por la magnifica herramienta.

Un saludo.
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 45 guests