FILTRAR TEBROWSE
Publicado por Juan (62 intervenciones) el 15/05/2010 11:37:00
Hola, tengo una aplicación en FWH con varios TWBROWSE filtrados para que solo visualice una determinada información. Primero busco con dbseek, luego filtro con dskip el twbrowse mediante la función ira(). Esto me funcionaba perfecto en clipper, pero en FWH me da algún problema de estabilidad. Me gustaría saber si hay algún método mejor para hacer este filtrado de información. Muchas gracias y un saludo para todos.
ALBSAT08->(DBSEEK(DTOS(Ct:FC)+STR(Ct:Dr)))
olbx9:bskip := {|n| IrA(n,{|| ALBSAT08->FECHAN=Ct:FC .AND. ALBSAT08->NUMERO=Ct:Dr}) }
FUNCTION IrA( n, bWhile )
LOCAL nSkipped := 0, nDireccion := IF(n > 0, 1, -1)
DO WHILE nSkipped != n .AND. EVAL( bWhile ) .AND. !EOF() .AND. !BOF()
DBSKIP( nDireccion )
nSkipped += nDireccion
END DO
DO CASE
CASE EOF()
DBSKIP(-1)
nSkipped += -nDireccion
CASE BOF()
DBGOTO( RECNO() )
nSkipped++
CASE !EVAL( bWhile )
DBSKIP(-nDireccion)
nSkipped += -nDireccion
END CASE
RETURN nSkipped
ALBSAT08->(DBSEEK(DTOS(Ct:FC)+STR(Ct:Dr)))
olbx9:bskip := {|n| IrA(n,{|| ALBSAT08->FECHAN=Ct:FC .AND. ALBSAT08->NUMERO=Ct:Dr}) }
FUNCTION IrA( n, bWhile )
LOCAL nSkipped := 0, nDireccion := IF(n > 0, 1, -1)
DO WHILE nSkipped != n .AND. EVAL( bWhile ) .AND. !EOF() .AND. !BOF()
DBSKIP( nDireccion )
nSkipped += nDireccion
END DO
DO CASE
CASE EOF()
DBSKIP(-1)
nSkipped += -nDireccion
CASE BOF()
DBGOTO( RECNO() )
nSkipped++
CASE !EVAL( bWhile )
DBSKIP(-nDireccion)
nSkipped += -nDireccion
END CASE
RETURN nSkipped
Valora esta pregunta


0