Ayuda con Tbuscador
-
- Posts: 9
- Joined: Sun May 04, 2008 3:00 am
- Location: Huauchinango
Ayuda con Tbuscador
Alguien tendra un ejemplo de uso de la clase tbuscador de Rafa Carmona
Atentamente
fdominguezs
Huauchinango, Puebla
fdominguezs
Huauchinango, Puebla
Re: Ayuda con Tbuscador
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__)
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
-
- Posts: 9
- Joined: Sun May 04, 2008 3:00 am
- Location: Huauchinango
-
- Posts: 330
- Joined: Fri May 25, 2007 9:06 pm
Aqui tienes la ayuda que realice en su dia..fdominguezs wrote:Probando
Adicionalmente como usar en este mismo ejemplo la clausula seek del tbuscador
******************************************************************************
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__)
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Mira si esta en el foro que tiene fivewin para clases de terceros.fdominguezs wrote:Probando
Adicionalmente como usar en este mismo ejemplo la clausula seek del tbuscador
Si no esta, dimelo que te la envio, ahora mismo no tengo acceso.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
- jose_murugosa
- Posts: 943
- Joined: Mon Feb 06, 2006 4:28 pm
- Location: Uruguay
- Contact:
thefull wrote:Mira si esta en el foro que tiene fivewin para clases de terceros.fdominguezs wrote:Probando
Adicionalmente como usar en este mismo ejemplo la clausula seek del tbuscador
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!
José Murugosa
FWH + Harbour + Bcc7. Una seda!