home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SeeIn AO
/
ALICE-CD.BIN
/
Šj”ƒlƒbƒg�•‚»‚Ì‘¼
/
nv_mini
/
source
/
nvkey.adv
< prev
next >
Wrap
Text File
|
1998-08-31
|
9KB
|
364 lines
;===============================================================================
; NVSYSTEM-mini âLü[è╓îW programmed by ALICE SOFT
;===============================================================================
;===============================================================================
; InitKey(),RemoveKey()
**InitKey:
~GetKey:
~0,0:
**RemoveKey:
~0,0:
;===============================================================================
; GetKey(),GetKeyMatrix()
**GetKey:
US a01,30:
IM Msx,Msy:
!Mkd:RND!
IK 6:
!Mkd:Mkd|RND!
{(RND&0b01110000)=0b01110000: ; ESC+Space+Return check
~RemoveNvSystem: ;
ZZ 0,0: ;
} ;
~GetKeyMatrix:
{(Mkd&0b01000000)\0:!Mkd:Mkd|0b00100000!} ; ESC é¬ëƒé│éΩé─éóé╜éτSPCé¬ëƒé│éΩé─éóéΘ
IX bIxResult: ; é▒é╞é╔é╖éΘüiÄbÆΦüj
UG a01,30:
~0,0:
**GetKeyMatrix:
US a01,30:
#MatrixTbl,1:
DF kDat[0],kMax,0:
< a01,0,0xffff,1,1:
F3,a02,a01:
{ a02=0xffff:@GetKeyMatrixOut:}
IG kDat[a02],a02,1,0:
>
*GetKeyMatrixOut:
UG a01,30:
~0,0:
;-------------------------------------------------------------------------------
*MatrixTbl:
_KeyMatrix:
*KeyMatrix:
[ 0x0010,0x0011,0x0021,0x0022,0x0024 ] ; shift,ctrl,pageup,pagedown,home
[ 0x0030,0x0031,0x0032,0x0033,0x0034 ] ; 0,1,2,3,4
[ 0x0035,0x0036,0x0037,0x0038,0x0039 ] ; 5,6,7,8,9
[ 0xffff ] ; end-code
;===============================================================================
; PushKeyWait()
**PushKeyWait f01:
US a01,30:
NB a01,f01,1:
~GetRpFlag CurRPage:~~a02:
{(a01=TRUE)*(a02=TRUE):@PKWout:}
~GetIxResult:~~a03:
~GetRp CurRPage:~~a04:
{ (a04=TRUE)*(a03=TRUE):
@PKWout:
}
{ (a04=FALSE)*(a03=TRUE):
~SetIxResult FALSE:
}
{ StrHideFlag = TRUE:
~StopKeyPlus:
@PKWout1:
}
~InitPutPushKey:
{ SpStrCount=NULL:@PKWSkip1:}
*PKWSkip0: ;-------------ô┴ÄΩò╢ÄÜé¬éáéΘÅΩìç
~SetSelSpStrBuff 0:
*PKWSkip0a:
~Select 1,SpStrCount,0b11111:
~~a01:!a02:RND!
{ a01\0xffff:~PutSpMsg a01,TRUE:@PKWSkip0:}
{ a01=0xffff:
{(a02&32)\0 :~SystemMenu:@PKWSkip0:}
{ a02=0x8000:@PKWSkip0:}
{ a02=0x8001:@PKWout:}
}
~GetKey:
<@ Mkd\0:
~PutPushKeyWaitSub:
~GetKey:
~CheckAccelerator:
~CheckShiftKey:~~Res:{ Res=TRUE:!Mkd:0xffff!}
>
@PKWout:
*PKWSkip1: ;-------------ô┴ÄΩò╢ÄÜé¬é╚é⌐é┴é╜ÅΩìç
~GetKey:
<@ Mkd\0:
~PutPushKeyWaitSub:
~GetKey:
~CheckAccelerator:
~CheckShiftKey:~~Res:
{ Res=TRUE:@PKWout:}
>
<@ Mkd=0:
~PutPushKeyWaitSub:
~GetKey:
{(Mkd&0x0020)\0:
~SystemMenu:@PKWSkip1:}
~CheckAccelerator:
~CheckShiftKey:~~Res:
{ Res=TRUE:@PKWout:}
>
<@ Mkd\0:
~PutPushKeyWaitSub:
~GetKey:
~CheckAccelerator:
~CheckShiftKey:~~Res:
{ Res=TRUE:@PKWout:}
>
@PKWout:
*PKWout:
{ PushKeyStatus=TRUE:~PutPushKeyMark PushKeysP,FALSE:}
*PKWout1:
UG a01,30:
~0,0:
;===============================================================================
**InitPutPushKey:
US a01,30:
~CheckLastStr:~~PushKeysP:
!PushKeyStatus:TRUE!
~PutPushKeyMark PushKeysP,TRUE:
~TimerSet 0:
UG a01,30:
~0,0:
**PutPushKeyWaitSub:
US a01,30:
~TimerGet:~~a01:
{ a01>DefPushKeyWaitTime:
!PushKeyStatus:PushKeyStatus^1!
~PutPushKeyMark PushKeysP,PushKeyStatus:
~TimerSet 0:
}
UG a01,30:
~0,0:
**PutPushKeyMark f01,f02:
US a01,30:
NB a01,f01,2:
!a03:16!
!a04:sX[a01]+sFSize[a01]!
!a05:sY[a01]+sFSize[a01]+StrYSpace-(a03+StrYSpace)!
{ a02=TRUE:~SetFSize a03:T a04,a05:'üÑ'}
{ a02=FALSE:CC a04,a05+YSize,a03+StrYSpace,a03+StrYSpace,a04,a05:}
UG a01,30:
~0,0:
**StopKey:
!Mkd:0xffff!
<@ Mkd\0:~GetKey:>
<@ Mkd=0:~GetKey:>
<@ Mkd\0:~GetKey:>
~0,0:
**StopKeyPlus:
!Mkd:0xffff!
<@ Mkd\0:
~GetKey:
~CheckAccelerator:
~CheckShiftKey:~~Res:
{ Res=TRUE:~0,0:}
>
<@ Mkd=0:
~GetKey:
~CheckAccelerator:
~CheckShiftKey:~~Res:
{ Res=TRUE:~0,0:}
>
<@ Mkd\0:
~GetKey:
~CheckAccelerator:
~CheckShiftKey:~~Res:
{ Res=TRUE:~0,0:}
>
~0,0:
**ReleaseKeyMatrix:
US a01,30:
*RKMlp:
~GetKeyMatrix:
< a01,0,kMax-1,1,1:
{ kDat[a01]\0:@RKMlp:}
>
UG a01,30:
~0,0:
**ReleaseKeyMatrixOne f01:
US a01,1:
!a01:f01!
<@ kDat[a01]\0:~GetKeyMatrix:>
UG a01,1:
~0,0:
**ReleaseKey:
US a01,30:
US Res,1:
~GetKey:<@Mkd\0:~GetKey:>
UG Res,1:
UG a01,30:
~0,0:
**GetIxResult:
~0,bIxResult:
**SetIxResult bIxResult:
IY bIxResult:
~0,bIxResult:
**CheckShiftKey:
~GetRp CurRPage:~~RND:
{(kDat[0x0010]\0)*(RND=TRUE):~SetIxResult bIxResult^1:}
*CSKLp:
~ReleaseKeyMatrixOne 0x10:
~0,bIxResult:
;===============================================================================
**CheckAccelerator:
US a01,30:
!a30:TRUE!
{ kDat[0x0031]\0:\CALR0x31:~ReleaseKeyMatrixOne 0x31:@CALRout:}
{ kDat[0x0032]\0:\CALR0x32:~ReleaseKeyMatrixOne 0x32:@CALRout:}
{ kDat[0x0033]\0:\CALR0x33:~ReleaseKeyMatrixOne 0x33:@CALRout:}
{ kDat[0x0034]\0:\CALR0x34:~ReleaseKeyMatrixOne 0x34:@CALRout:}
{ kDat[0x0024]\0:~SetOnLineHelp:~ReleaseKeyMatrixOne 0x24:@CALRout:}
!a30:FALSE!
*CALRout:
!Res:a30!
UG a01,30:
~0,Res:
*CALR0x31:
!FastReadFlag:FastReadFlag^1!
{ FastReadFlag = TRUE:
MS SysStrBuffTop+1,ümî⌐é╜ò╢Å═é≡æ¼é¡üvé≡éÅéÄé╔é╡é▄é╡é╜:
}
{ FastReadFlag \ TRUE:
MS SysStrBuffTop+1,ümî⌐é╜ò╢Å═é≡æ¼é¡üvé≡éÅéåéåé╔é╡é▄é╡é╜:
}
~MessageBox SysStrBuffTop+1:
\0:
*CALR0x32:
!GrpBrightMode:GrpBrightMode^1!
~SetGrpToDib:
CC XSize,0,XSize,YSize,0,YSize:
~SetStrToDib:
CC 0,YSize,XSize,YSize,0,0:
{ GrpBrightMode = TRUE:
MS SysStrBuffTop+1,ümébéfû╛ôxüvé≡ümû╛ôxùªÄwÆΦüné╔é╡é▄é╡é╜:
}
{ GrpBrightMode \ TRUE:
MS SysStrBuffTop+1,ümébéfû╛ôxüvé≡ümÆ╩Åφüné╔é╡é▄é╡é╜:
}
~MessageBox SysStrBuffTop+1:
\0:
*CALR0x33:
MS SysStrBuffTop,û╛ôxùªé≡É▌ÆΦé╡é─é¡é╛é│éó:
~SetGrpBright SysStrBuffTop:
~~a01:
{ a01=TRUE:
!GrpBrightMode:TRUE!
~SetGrpToDib:
CC XSize,0,XSize,YSize,0,YSize:
~SetStrToDib:
CC 0,YSize,XSize,YSize,0,0:
MS SysStrBuffTop+1,û╛ôxùªé≡ò╧ìXé╡é▄é╡é╜üB:
~MessageBox SysStrBuffTop+1:
}
\0:
*CALR0x34:
~SystemMenuClearStr:
~SetGrpToDib:
CC XSize,0,XSize,YSize,0,YSize:
~SetStrToDib:
CC 0,YSize,XSize,YSize,0,0:
\0:
;===============================================================================
**SetOnLineHelp:
US a01,30:
!a01:16!
!a04:a01*29+16!
!a05:(a01+StrYSpace)*20+16!
!a02:(XSize-a04)/2!
!a03:(YSize-a05)/2!
!a11:a02!
!a12:a03!
CC 0,0,XSize,YSize,XSize,YSize:
WZ 0,0:
CC XSize,0,XSize,YSize,0,0:
CK 1,a02,a03,a04,a05,SelStrColor,224,0,0:
CB a02+1,a03+1,a04-1,a05-1,SelStrColor:
CB a02 ,a03 ,a04-1,a05-1,StrNrmColor:
~SetFSize a01:
~SetFColor StrNrmColor:
#OnLineTbl,1:
< a13,0,19,1,1:
F1,SysStrBuffTop,0: ; [data read]
T a11+8,a12+8:
X SysStrBuffTop:
!a12:a12+a01+StrYSpace!
>
WZ 0,1:
~StopKey:
CC XSize,YSize,XSize,YSize,0,0:
~SetFSize StrFontSize:
~SetFColor StrFontColor:
UG a01,30:
~0,0:
*OnLineTbl:
_OnLineStrTbl:
*OnLineStrTbl:
;éPéQéRéSéTéUéVéWéXéOéPéQéRéSéTéUéVéWéXéOéPéQéRéSéTéUéVéWéX
"ü|ü@éméuéréxérésédélü|éìéëéÄéëü@ü@ü@âIâôâëâCâôüEâwâïâvü@ü|" ; 01
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@" ; 02
"îêÆΦü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@üFâ}âEâXì╢âNâèâbâNü@ü@ü@ü@ü@ü@ü@" ; 03
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@édéÄéöéàéÆâLü[ü@ü@ü@ü@ü@ü@ü@ü@" ; 04
"âLâââôâZâïü@ü@ü@ü@ü@ü@ü@ü@üFâ}âEâXëEâNâèâbâNü@ü@ü@ü@ü@ü@ü@" ; 05
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@âXâyü[âXâLü[ü^édérébâLü[ü@ü@ü@" ; 06
"æIæ≡âLü[ü@ü@ü@ü@ü@ü@ü@ü@ü@üFâ}âEâXü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@" ; 07
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@âeâôâLü[éQéSéUéWü^ü¬ü½ü¿ü⌐âLü[" ; 08
"âVâXâeâÇâüâjâàü[ü@ü@ü@ü@ü@üFâ}âEâXëEâNâèâbâNü@ü@ü@ü@ü@ü@ü@" ; 09
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@âXâyü[âXâLü[ü^édérébâLü[ü@ü@ü@" ; 10
"ümî⌐é╜ò╢Å═é═æ¼é¡ünÉ╪éΦæ╓éªüFâVâXâeâÇâüâjâàü[ü@ü@ü@ü@ü@ü@ü@" ; 11
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@éPâLü[ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@" ; 12
"ümébéfû╛ôxünü@ü@ü@É╪éΦæ╓éªüFâVâXâeâÇâüâjâàü[ü@ü@ü@ü@ü@ü@ü@" ; 13
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@éQâLü[ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@" ; 14
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@üiéRâLü[é┼û╛ôxÄwÆΦüjü@ü@ü@ü@ü@" ; 15
"ümò╢ÄÜé≡Å┴é╖ünü@ü@ü@ü@ü@ü@üFâVâXâeâÇâüâjâàü[ü@ü@ü@ü@ü@ü@ü@" ; 16
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@éSâLü[ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@" ; 17
"ümăé╠æIæ≡Äêé▄é┼Éié▐ünü@ü@üFéréxérésédéléRéTâüâjâàü[âoü[ü@" ; 18
"ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@éréêéëéåéöâLü[ü@ü@ü@ü@ü@ü@ü@ü@" ; 19
"âQü[âÇÅIù╣ü@ü@ü@ü@ü@ü@ü@ü@üFédérébü{âXâyü[âXü{édéÄéöéàéÆ" ; 20