Module: _dbgbrow Library: Clipper 5.3
This module contains the following functions and procedures:
- function _ABAPPLYKE( Arg1, Arg2 )
- static function _ABLOCK( Arg1, Arg2 )
- function _ABSETCOLU( Arg1, Arg2, Arg3 )
- static function _ABSKIP( Arg1, Arg2 )
- function _ABNEW( Arg1, Arg2, Arg3, Arg4, Arg5 )
- function __DBGHTTST( Arg1, Arg2, Arg3, Arg4, Arg5, Arg6 )
Note: Because this is raw decompiler output, the code is closer
to that seen in a .PPO file, rather than a .PRG file. In other
words, you must allow for the preprocessor conversions normally
performed based on the contents of STD.CH and other .CH files
#include "common.ch"
#include "inkey.ch"
//---------------------------------------------------[top]-
// _ABAPPLYKE( Arg1, Arg2 )
//
function _ABAPPLYKE( Arg1, Arg2 )
local Local1, Local2, Local3, Local4, Local5
dispbegin()
do case
case Arg2 == 1002
Local2 := mrow()
Local3 := mcol()
Local5 := Arg1:ntop() + ( Arg1:nbottom() - Arg1:ntop() + 1 ) - ;
Arg1:rowcount()
do case
case Local2 < Local5
case Local3 < Arg1:nleft()
case Local2 > Arg1:nbottom()
case Local3 <= Arg1:nright()
Local4 := Local2 - Local5 + 1
do while ( !Arg1:hitbottom() .AND. Arg1:rowpos() < Local4 )
Arg1:down()
Local4--
enddo
do while ( !Arg1:hittop() .AND. Arg1:rowpos() > Local4 )
Arg1:up()
Local4++
enddo
endcase
case Arg2 == 5
Arg1:up()
case Arg2 == 24
Arg1:down()
case Arg2 == 18
Arg1:pageup()
case Arg2 == 3
Arg1:pagedown()
case Arg2 == 31
Arg1:gotop()
case Arg2 == 30
Arg1:gobottom()
case Arg2 == 29
Arg1:gotop()
case Arg2 == 23
Arg1:gobottom()
case Arg2 == 1
Local1 := Arg1:refreshcur():rowpos()
do while ( Local1 > 1 )
Local1--
Arg1:up():forcestabl()
enddo
case Arg2 == 6
Local1 := Arg1:refreshcur():rowpos()
do while ( Local1 < Arg1:rowcount() )
Local1++
Arg1:down():forcestabl()
enddo
otherwise
dispend()
return .F.
endcase
dispend()
return .T.
//---------------------------------------------------[top]-
// _ABLOCK( Arg1, Arg2 )
//
static function _ABLOCK( Arg1, Arg2 )
return { |_1| iif( ISNIL( _1 ), ;
Arg1[ 1 ][ 2 ][ Arg2 ][ Arg1[ 1 ][ 1 ] ], ;
Arg1[ 1 ][ 2 ][ Arg2 ][ Arg1[ 1 ][ 1 ] ] := _1 ) }
//---------------------------------------------------[top]-
// _ABSETCOLU( Arg1, Arg2, Arg3 )
//
function _ABSETCOLU( Arg1, Arg2, Arg3 )
local Local1
AAdd(Arg1[ 1 ][ 2 ], Arg3)
Local1 := tbcolumnne("", _ablock(Arg1, Arg2))
AAdd(Arg1[ 6 ], Local1)
Arg1[ 12 ] := { || Arg1[ 1 ][ 1 ]:= 1 }
Arg1[ 13 ] := { || Arg1[ 1 ][ 1 ]:= Len(Arg1[ 1 ][ 2 ][ 1 ]) }
Arg1[ 11 ] := { |_1| ( _1:= _abskip(_1, Arg1), Arg1[ 1 ][ 1 ]:= ;
Arg1[ 1 ][ 1 ] + _1, _1 ) }
Arg1:configure()
return Local1
//---------------------------------------------------[top]-
// _ABSKIP( Arg1, Arg2 )
//
static function _ABSKIP( Arg1, Arg2 )
return iif( Arg2[ 1 ][ 1 ] + Arg1 < 1, 0 - Arg2[ 1 ][ 1 ] + 1, ;
iif( Arg2[ 1 ][ 1 ] + Arg1 > Len(Arg2[ 1 ][ 2 ][ 1 ]), ;
Len(Arg2[ 1 ][ 2 ][ 1 ]) - Arg2[ 1 ][ 1 ], Arg1 ) )
//---------------------------------------------------[top]-
// _ABNEW( Arg1, Arg2, Arg3, Arg4, Arg5 )
//
function _ABNEW( Arg1, Arg2, Arg3, Arg4, Arg5 )
local Local1
Local1 := tbrowsenew(Arg1 + 1, Arg2 + 1, Arg3 - 1, Arg4 - 1)
Local1[ 10 ] := Arg5
Local1[ 1 ] := {1, {}}
return Local1
//---------------------------------------------------[top]-
// __DBGHTTST( Arg1, Arg2, Arg3, Arg4, Arg5, Arg6 )
//
function __DBGHTTST( Arg1, Arg2, Arg3, Arg4, Arg5, Arg6 )
local Local1
do case
case Arg5 < Arg1
Local1 := 15
case Arg6 < Arg2
Local1 := 15
case Arg5 > Arg3
Local1 := 15
case Arg6 > Arg4
Local1 := 15
case Arg5 == Arg1
if ( Arg6 == Arg2 )
Local1 := 21
elseif ( Arg6 == Arg4 )
Local1 := 22
elseif ( Arg6 == Arg2 + 3 )
Local1 := 7
else
Local1 := 20
endif
case Arg5 == Arg3
if ( Arg6 == Arg2 )
Local1 := 3
elseif ( Arg6 == Arg4 )
Local1 := 4
else
Local1 := 2
endif
case Arg6 == Arg2
Local1 := 11
case Arg6 == Arg4
Local1 := 17
otherwise
Local1 := 6
endcase
return Local1
//---EOF
Use your Browser's BACK button to return to Function Listings