RESPUESTA A LA PREGUNTA NUMERO 837 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. Gregorio Cobá Gala gregorio.coba@correoweb.com