Como usar el TBrowse ?

Ver el tema anterior Ver el tema siguiente Ir abajo

Como usar el TBrowse ?

Mensaje  byrpa el Miér Mayo 27, 2009 9:57 am

Actualmente trabajo con el dbedit, pero deseo cambiar las lineas con colores dependiendo algun parametro del registro, es decir, cada registro tendra un campo llamado activo si es 1 que la linea sea roja, si es dos que sea naranja y si es 3 que sea verde, por poner un ejemplo. Hasta donde yo se, esto se puede hacer con el tbrowse, por ahora no se nada de este comando, si alguien sabe algo se lo agradeceria, por mi parte voy a investigar mas sobre el tema y les cuento mas adelante.

byrpa

Mensajes : 63
Fecha de inscripción : 19/11/2008

Ver perfil de usuario

Volver arriba Ir abajo

Re: Como usar el TBrowse ?

Mensaje  byrpa el Miér Mayo 27, 2009 10:00 am

Encontre ya esto para los interesados, aunque para lo que yo quiero aun falta bastante, el articulo es el siguiente:

ES MUY SENCILLO USAR EL TBROWSE DE CLIPPER. ESTA FUNCION LO QUE HACE ES
CREAR UN OBJECTO PARA MANEJAR UN ARREGLO DE DIMENSIONES O UNA
TABLA DE BASE DE DATOS. TBROWSE CONSISTE EN DOS FUNCIONES:

CREAR UN OBJECTO PARA HOJEAR ARREGLOS:

MI_ARREGLO := TBROWSENEW( 05, 05, 20, 75 )

CREAR UN OBJETO PARA HOJEAR UNA BASE DE DATOS:

MI_DBF := TBROWSEDB( 05, 05, 20, 75 )


CON ESTO YA CREASTE EL OBJETO, AHORA HAY QUE DECIRLE AL OBJETO TBROWSE
CUALES SON LAS COLUMNAS QUE FORMARAN AL HOJEADOR. ESTO LO HACEMOS
CREANDO OBJECTOS TCOLUMN:

PARA ARREGLOS:

COL1 := TBCOLUMNNEW( { || MI_ARREGLO[ MI_POS, 1 ], "COLUMNA 1" )
COL2 := TBCOLUMNNEW( { || MI_ARREGLO[ MI_POS, 2 ], "COLUMNA 2" )


PARA BASE DE DATOS:

COL1 := TBCOLUMNNEW( { || MI_DBF->MI_CAMPO1 }, "COLUMNA 1" )
COL2 := TBCOLUMNNEW( { || MI_DBF->MI_CAMPO2 }, "COLUMNA 2" )

Y POSTERIORMENTE LAS AGREGAMOS AL OBJETO TBROWSE:

MI_DBF:ADDCOLUMN( COL1 )
MI_DBF:ADDCOLUMN( COL2 )

AHORA HAY QUE MANIPULAR EL OBJECTO TBROWSE A TRAVEZ DE UN DO WHILE


DO WHILE TRUE

IF !MI_DBF:STABLE

// Dibuja el objeto tbrowse en pantalla (lo estabiliza)

DO WHILE !MI_DBF:STABLE
MI_DBF:STABILIZE()
ENDDO

ENDIF

IF ( KEY := INKEY() ) != 0

// PROCESAMOS LA TECLA QUE SE PULSE

DO CASE
CASE KEY == K_ESC // Se pulso escape

EXIT

CASE KEY == K_UP // SE PULSO FLECHA ARRIBA

MI_DBF:UP()

CASE KEY == K_DOWN // SE PULSO FLECHA ABAJO

MI_DBF:DOWN()

ENDCASE
ENDIF

ENDDO



EN EL CASO DE LOS OBJECTOS TBROWSE PARA BASE DE DATOS, LA PROGRAMACIÓN
PUEDE SER MUY SENCILLA, PERO PARA ARREGLOS HAY QUE CREAR TAMBIEN UNA
RUTINA QUE ES LA QUE CONTROLA LOS MOVIMIENTOS DEL TBROWSE.

byrpa

Mensajes : 63
Fecha de inscripción : 19/11/2008

Ver perfil de usuario

Volver arriba Ir abajo

Re: Como usar el TBrowse ?

Mensaje  byrpa el Miér Mayo 27, 2009 12:23 pm

aca hay un ejemplo del Tbrowse, ya lo probe y funciona a la perfeccion, a donde no he llegado es a tener los colores de las lineas en colores diferentes, segun algun campo. Si alguien me puede echar la mano se lo agradezco de antemano.

#include "inkey.ch"
#include "achoice.ch"
#include "setcurs.ch"
#include "box.ch"
#include "tbrowse.ch"

Function eltbrowse()
nCursor=SETCURSOR(0)
//Abrir base de datos
Use Base

//Color del TBrowse
SETCOLOR("N/W")
*SCROLL() //Borra pantalla
SETCOLOR("W+/BG,GR+/B")
@4,4 clear to 21,76 //Limpia el area
@4,4 to 21,76 //Dibuja un cuadro

oBrow := TBROWSEDB( 05, 05, 20, 75 ) //Dimension del TBrowse
oBrow:headSep := CHR(205) + CHR(209) + CHR(205) // Separadores cabeceras
*oBrow:footSep := CHR(205) //Separadores de pie del tbrowse
oBrow:colSep := CHR(32) + CHR(179) + CHR(32) // Separadores de columnas
*oBrow:colorSpec := "W+/BG,GR+/B"

//Crear las variables de columnas
Col1 := TBCOLUMNNEW( "Apellidos ", {|| base->apellido} )
Col2 := TBCOLUMNNEW( "Nombres ", {|| base->nombre} )
Col3 := TBCOLUMNNEW( "Profesion ", {|| base->profesion} )

//Agregar las variables de columnas al objeto tBrowse
oBrow:ADDCOLUMN( COL1 )
oBrow:ADDCOLUMN( COL2 )
oBrow:ADDCOLUMN( COL3 )

DO WHILE .t.
IF !oBrow:STABLE
// Dibuja el objeto tbrowse en pantalla (lo estabiliza)
DO WHILE !oBrow:STABLE
oBrow:STABILIZE()
ENDDO
ENDIF
IF ( KEY := INKEY() ) != 0
// PROCESAMOS LA TECLA QUE SE PULSE
DO CASE
CASE KEY == K_ESC // Escape
EXIT
CASE KEY == K_UP // Flecha Arriba
oBrow:UP()
CASE KEY == K_DOWN // Flecha Abajo
oBrow:DOWN()
Case Key == K_RIGHT // Flecha derecha
oBrow:right()
Case Key == K_LEFT // Flecha izquierda
oBrow:left()
Case Key == K_PGDN //page down
oBrow:pageDown()
Case Key == K_PGUP //page up
oBrow:pageUp()
Case Key == K_HOME //tecla home
oBrow:home()
Case Key == K_END //tecla end
oBrow:end()
Case Key == K_CTRL_LEFT //control izq.
oBrow:panLeft()
Case Key == K_CTRL_RIGHT //control der.
oBrow:panRight()
Case Key == K_CTRL_HOME //control home
oBrow:panHome()
Case Key == K_CTRL_END //control end
oBrow:panEnd()
ENDCASE
ENDIF
ENDDO
Close Data
SETCURSOR(nCursor) //restablecer cursor
Return nil

byrpa

Mensajes : 63
Fecha de inscripción : 19/11/2008

Ver perfil de usuario

Volver arriba Ir abajo

Re: Como usar el TBrowse ?

Mensaje  byrpa el Miér Mayo 27, 2009 9:56 pm

Por fin, dentro del codigo se debe incluir un una variable llamada colorspec donde se especifica los colores que se pueden usar en el tbrowse, de fabrica es 1 y 2, pero se puede llamar a otros numeros, ejemplo

oBrow:colorSpec := "w+/b,w+/r,gr+/r,n/gr,n/bg" //en este codigo hay 5 colores que se pueden escojer desde el tbrowse

Col4 := TBCOLUMNNEW( "Nivel", {|| base->nivel} )
col4:colorblock:={|d| IIf(d="P", {3,5}, {1,2} ) } //en esta linea despues de hacer la columna, decimos que si el campo tiene una "P", que use el color 3 o 5 y si no que use 1 y 2.

Buena suerte a todos. Si a alguien le servio por favor aporta lo que sabes al foro, para engrandecer mas este sitio, que son de los ultimos que existen, ya que menos personas usan estos lenguajes.

aca tienen un libro buenisimo que compre hace años y ahora lo encontre en la web
http://books.google.com.gt/books?id=vrtI4i8kA4EC&pg=PA502&lpg=PA502&dq=tbrowse+colorblock&source=bl&ots=THtldzFVzT&sig=e-ebtVU6ISMhdjeiUCYOYAuzhCc&hl=es&ei=g_kdSuuzG8ygmAf-5KG0Bg&sa=X&oi=book_result&ct=result&resnum=1

byrpa

Mensajes : 63
Fecha de inscripción : 19/11/2008

Ver perfil de usuario

Volver arriba Ir abajo

Re: Como usar el TBrowse ?

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.