Ayuda con Tbuscador

Post Reply
fdominguezs
Posts: 9
Joined: Sun May 04, 2008 3:00 am
Location: Huauchinango

Ayuda con Tbuscador

Post by fdominguezs »

Alguien tendra un ejemplo de uso de la clase tbuscador de Rafa Carmona
Atentamente

fdominguezs

Huauchinango, Puebla
User avatar
thefull
Posts: 720
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona
Contact:

Re: Ayuda con Tbuscador

Post by thefull »

fdominguezs wrote:Alguien tendra un ejemplo de uso de la clase tbuscador de Rafa Carmona

DEFINE BUSCADOR oBuscador ;
TITLE "Tipo Tarifa" ;
DBF "NET_TTAR|Codigo|NET_TTAR" ;
DATABASE oNet_TTar ;
HEADER "Codigo","Descripción" ;
COLUMNS {||oNet_TTar:Codigo }, {|| oNet_TTar:Descripcio } ;
COLSIZES 50,150 ;
SIZE 200,0 ;
RETURN "CODIGO"

ACTIVATE BUSCADOR oBuscador VAR cReturn

IF Empty( cReturn )
IF !Empty( cValue )
cReturn := cValue
ENDIF
ENDIF
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
fdominguezs
Posts: 9
Joined: Sun May 04, 2008 3:00 am
Location: Huauchinango

Post by fdominguezs »

Probando

Adicionalmente como usar en este mismo ejemplo la clausula seek del tbuscador
Atentamente

fdominguezs

Huauchinango, Puebla
mantonio_08
Posts: 330
Joined: Fri May 25, 2007 9:06 pm

Post by mantonio_08 »

De dnd se puede bajar esta clase,, para probarle


GRACIAS:::
User avatar
thefull
Posts: 720
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona
Contact:

Post by thefull »

fdominguezs wrote:Probando

Adicionalmente como usar en este mismo ejemplo la clausula seek del tbuscador
Aqui tienes la ayuda que realice en su dia..
******************************************************************************
Documentacion de uso de la clase TBuscador
******************************************************************************

Tbuscador es una clase pensada en agilizar el tema de montaje de una lista
para seleccionar un elemento en concreto y devolver un valor.

A traves del fichero .\include\buscador.ch , tenemos a disposicion la clase
en base a comandos , siendo mas facil su manejo.

La clase puede funcionar de dos maneras distintas:

1.- Creacion/Activacion y espera retorno
2.- Creacion y posterior activacion, posibilitando la incrustacion de
controles , no contenidos en la clase.

Veremos a continuacion los comandos para aplicar las distintas formas de
operar.

1.- Creacion/Activacion y espera retorno

DEFINE BUSCADOR VAR <uBuscador> ;
[ ARRAY ] ;
[ TITLE <cTitle> ] ;
[ DBF <cDbfTxt> ] ;
[ DATABASE <oDbf> ];
[ <head:HEAD,HEADER,HEADERS> <aHeaders,...> ] ;
[ <field:FIELDSNAMES,FIELDS,COLUMNS> <aColumns,...> ] ;
[ <sizes:FIELDSIZES, SIZES, COLSIZES> <aColSizes,...> ] ;
[ RETURN <cField> ];
[ SIZE <nWidth>, <nHeight> ]

VAR <uBuscador>
Sera la variable que almacena el contenido del retorno.

ARRAY
Le indica que sera un array lo que vamos a tratar.

TITLE <cTitle>
El titulo del dialogo.

DBF <cDbfTxt>
Contiene que dbfs y indices tiene que abrir y los tabs que tiene
que montan.

DATABASE <oDbf>
Si pasamos un objeto database, este sera usado en vez de abrir la dbf
de <cDbfTxt>. Es util para hacer antes un filtro a la dbf, y pasarlo a
la clase, y veremos el browse ya filtrado.
De todas maneras, cuando pasamos <oDbf> , el contenido de <cDbfTxt>,
lo sigue teniendo en cuenta para montar los indices de busqueda,
ignorando el tener que abrir la dbf que se le indica.

HEADERS <aHeaders...,>
Cabecera del Browse. Internamente el paso de parametros sera convertido
a un array :
HEADERS "Codigo","Nombre", se transforma en { "Codigo","Nombre" }

COLUMNS <aColumns,...>
Columnas del browse. Aqui se permite 2 funcionamientos basados en dbf,
y uno en ARRAY.

* Columnas basadas en dbf:

1.- Paso de parametros del nombre de _ en texto.
COLUMNS "Codigo","Descri","Apel", sera transformado en { "campos"}

2.- Paso de paramentros en forma de codeblocks.
COLUMNS {||oDbf:Codigo},{||If(lState,"Hla","JJ")} , sera transforma-
do en { codeblocks }

No se permite, la mezcla de ambos, o texto o codeblock.

* Columnas basadas en arrays.

Cuando declaramos la clausula ARRAY, simplemente debemos pasarle el
array multidimensional como parametro.

COLUMNS aMiArray , donde mi array podria ser:

aMiArray := { { "Primer Campo", "Este es el primer" },;
{ "Segundo", "Seguro Segundo" } }

COLSIZES <aColsSizes,...>
Tamaño de las columnas expresado en numerico.
COLSIZES 40,50,100 , se transformara en una array: { 40,50,100 }

RETURN <cField>
Es el nombre del campo que queremos que retorne.

SIZE <nWidth>, <nHeight>
Si queremos expandir el ancho,alto del dialogo , de esta manera podemos
reservar espacio para poner says,bitmaps, buttons, etc...
El alto del browse es inamovible, el ancho se adaptara al tamaño del
dialogo, y los botones de aceptar/cancelar, se adaptaran al alto pasado,
consiguiendo con esto una proporcion coherente.




La segunda opcion nos brinda mas potencia de controlar el Buscador.

2.- Creacion y posterior activacion, posibilitando la incrustacion de
controles , no contenidos en la clase.

Para la creacion y activacion se usa la misma estructura que lo
anterior, con la unica diferencia:

DEFINE BUSCADOR <oBuscador> , donde antes era:
DEFINE BUSCADOR VAR <uBuscador>

La diferencia es que desde aqui nos devuelve el objeto, y antes nos
devolvia el valor de retorno.

¿ Y donde recojo el valor de retorno ? Muy facil, en la activacion.

ACTIVATE BUSCADOR <oBuscador> VAR <cReturn> ;
[ SIZE <nWidth>, <nHeight> ]

oBuscador es el objeto en cuestion que queremos activar.

VAR <cReturn>
cReturn contendra el valor de retorno.

SIZE <nWidth>, <nHeight>
Desde aqui tambien podemos definir el tamaño, y este ultimo es el
que tendra preferencia.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
Posts: 720
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona
Contact:

Post by thefull »

fdominguezs wrote:Probando

Adicionalmente como usar en este mismo ejemplo la clausula seek del tbuscador
Mira si esta en el foro que tiene fivewin para clases de terceros.
Si no esta, dimelo que te la envio, ahora mismo no tengo acceso.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
jose_murugosa
Posts: 943
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

thefull wrote:
fdominguezs wrote:Probando

Adicionalmente como usar en este mismo ejemplo la clausula seek del tbuscador
Mira si esta en el foro que tiene fivewin para clases de terceros.
Si no esta, dimelo que te la envio, ahora mismo no tengo acceso.

Lo encuentras en el foro de utilidades, mas precisamente en:

http://www.fivetechsoft.com/forums/viewtopic.php?t=9571
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
Post Reply