TIP: Click on subject to list as thread! ANSI
echo: foxpro
to: ALL
from: DAVID POWELL
date: 1997-01-26 18:22:00
subject: FPLib(): BigMover, pt.4

*!*******************************************************************
*! 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)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.