*!*******************************************************************
*! Function..........: Letter()
*! Author............: David Lee Powell
*! Project...........: Common
*! Created...........: 1-Jan-1994
*! Copyright.........: None: Public Domain
*) Description.......: Alpha key struck, look it up
*! Syntax............: None
*! Parameter list....: None
*! Platform..........: DOS
*! Major change list.: None
*! Called by.........: BigMover
*! Calls.............: None
*!*******************************************************************
FUNC Letter
jcKeyIn = UPPE( CHR( LASTKEY() ))
jlMatch = .F.
IF jnWindow = 1
FOR jj = 1 TO jaTotRecs[ 1 ]
IF LEFT( jaAvail[ jj ], 1 ) = jcKeyIn
jlMatch = .T.
EXIT
ENDI
NEXT
ELSE (jnWindow = 2)
FOR jj = 1 TO jaTotRecs[ 2 ]
IF LEFT( jaSelect[ jj ], 1 ) = jcKeyIn
jlMatch = .T.
EXIT
ENDI
NEXT
ENDI
IF ! jlMatch
=Alarm()
RETU
ENDI
* ---- If found item was before current top or after bottom of
* ---- current page, rewrite page; otherwise, change highlight.
=Dim()
IF jj jaPointer[ jnWindow ] + Max
jaPointer[ jnWindow ] = jj -1
=WinClean()
ELSE
IF jnWindow = 1
j1 = jaPointer[ 1 ] && jj
ELSE
j2 = jaPointer[ 2] && jj
ENDI
=Bright()
ENDI
*!*******************************************************************
*! Function..........: WinClean()
*! Author............: David Lee Powell
*! Project...........: Common
*! Created...........: 1-Jan-1994
*! Copyright.........: None: Public Domain
*) Description.......: Controls window displays, sorting and keeping
*) : current choices visible
*! Syntax............: None
*! Parameter list....: None
*! Platform..........: DOS
*! Major change list.: None
*! Called by.........: BigMover
*! Calls.............: None
*!*******************************************************************
FUNC WinClean
DO CASE
CASE jnWindow = 1
ACTI WIND wrAvail
CLEA
IF jaTotRecs[ 1 ] = 0
RETU
ENDI
=ASOR( jaAvail )
FOR jj = 1 TO Max
IF jj + jaPointer[ 1 ] <= jaTotRecs[ 1 ]
@ jj - 1, 01 SAY jaAvail[ jj + jaPointer[ 1 ] ] COLO ( jcNormVid
ENDI
NEXT
j1 = 1 + jaPointer[ 1 ] && Highlight 1st entry on screen
OTHE
ACTI WIND wrSelect
CLEA
IF jaTotRecs[ 2 ] = 0
RETU
ENDI
=ASOR( jaSelect )
FOR jj = 1 TO Max
IF jj + jaPointer[ 2 ] <= jaTotRecs[ 2 ]
@ jj - 1, 01 SAY jaSelect[ jj + jaPointer[ 2 ] ] COLO ( jcNormVid
)
ENDI
NEXT
j2 = 1 + jaPointer[ 2 ]
ENDC
=Bright()
RETU
*!*******************************************************************
*! Function..........: Alarm()
*! Author............: David Lee Powell
*! Project...........: Common
*! Created...........: 1-Jan-1994
*! Copyright.........: None: Public Domain
*) Description.......: Sounds tones for errors
*! Syntax............: None
*! Parameter list....: None
*! Platform..........: DOS
*! Major change list.: None
*! Called by.........: BigMover
*! Calls.............: None
*!*******************************************************************
FUNC Alarm
PUSH KEY CLEA
SET BELL TO 330,1
?? CHR( 7 )
SET BELL TO 440,1
?? CHR( 7 )
SET BELL TO 550,1
?? CHR( 7 )
SET BELL TO 660,1
?? CHR( 7 )
POP KEY
RETU
*!*******************************************************************
*! Function..........: WinSwitch()
*! Author............: David Lee Powell
*! Project...........: Common
*! Created...........: 1-Jan-1994
*! Copyright.........: None: Public Domain
*) Description.......: Sets focus to other window
*! Syntax............: None
*! Parameter list....: None
*! Platform..........: DOS
*! Major change list.: None
*! Called by.........: BigMover
*! Calls.............: None
*!*******************************************************************
FUNC WinSwitch
IF (jnWindow = 1 AND jaTotRecs[ 2 ] = 0) OR ;
(jnWindow = 2 AND jaTotRecs[ 1 ] = 0)
=Alarm()
RETU
ENDI
DO CASE
CASE jnWindow = 1
IF jaTotRecs[ 1 ] > 0
@ j1 - 1 - jaPointer[ 1 ],01 SAY jaAvail[ j1 ] COLO ( jcNormVid )
ENDI
OTHE
IF jaTotRecs[ 2 ] > 0
@ j2 - 1 - jaPointer[ 2 ],01 SAY jaSelect[ j2 ] COLO ( jcNormVid )
ENDI
ENDC
IF jnWindow = 1
jnWindow = 2
ACTI WIND wrSelect
ELSE
jnWindow = 1
ACTI WIND wrAvail
ENDI
IF jnWindow = 1
j1 = jaPointer[ 1 ] +1
IF jaTotRecs[ 1 ] > 0
@ j1 - 1 - jaPointer[ 1 ], 01 SAY jaAvail[ j1 ] COLO ( jcHighVid )
ENDI
ELSE
j2 = jaPointer[ 2 ] +1
IF jaTotRecs[ 2 ] > 0
@ j2 - 1 - jaPointer[ 2 ], 01 SAY jaSelect[ j2 ] COLO ( jcHighVid )
ENDI
ENDI
--- Maximus/2 3.01
---------------
* Origin: * MacSavvy OS/2 BBS * Dallas, Texas * 972-250-4479 * (1:124/1208)
|