1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
-
|
|
|
|
|
|
|
-
-
|
!
|
|
|
|
|
!
|
|
|
|
|
|
|
|
|
|
|
-
|
|
-
|
-
|
!
|
|
!
|
|
|
|
-
|
|
-
|
-
|
!
|
|
!
|
|
|
|
-
|
|
-
|
-
|
!
|
-
|
-
|
|
!
!
|
|
|
!
-
|
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
!
!
|
OnShowPage{
_list =PAGER.List
_start=TOINT(reference0)
_end =_start+PAGER.ShowNum
_max =ARRAYSIZE(_list)
_showlist=''
for _i=_start ; _i<_end ; _i++ {
if _i > _max - 1 {
break
}
_key=_list[_i][0,PAGER.Separator]
_val=_list[_i][1,PAGER.Separator]
_showlist+="%(PAGER.Marker)\q[%(_key),%(_val)]\n"
}
_nowpage =TOINT(_start / PAGER.ShowNum)
_startpage=_nowpage-TOINT(PAGER.PageNum/2)
_maxpage =CEIL(_max/PAGER.ShowNum) - 1
_prevstr=''
_nextstr=''
if _startpage < 0 {
_startpage=0
_prevstr='< '
}else{
_prevpage=_nowpage-PAGER.PageNum
if _prevpage < 0 {
_prevpage=0
}
_prevstart=_prevpage * PAGER.ShowNum
_prevstr="\f[bold,true]\q[<,OnShowPage,%(_prevstart)]\f[bold,false] "
}
_endpage=_startpage+PAGER.PageNum-1 if _endpage >= _maxpage {
_endpage=_maxpage
_nextstr='> '
}else{
_nextpage=_nowpage+PAGER.PageNum
if _nextpage >= _maxpage {
_nextpage=_maxpage
}
_nextstart=_nextpage * PAGER.ShowNum
_nextstr="\f[bold,true]\q[>,OnShowPage,%(_nextstart)]\f[bold,false] "
}
_pagelist=''
for _i=_startpage ; _i<=_endpage ; _i++ {
_pagestr=''
if _i < 10 {
_pagestr='0'+TOSTR(_i+1) }else{
_pagestr=TOSTR(_i+1) }
if _i == _nowpage {
_pagelist+=_pagestr+' '
}else{
_pagestart=_i*PAGER.ShowNum
_pagelist+="\f[bold,true]\q[%(_pagestr),OnShowPage,%(_pagestart)]\f[bold,false] "
}
}
"%(PAGER.ShowHeader)%(_showlist)%(PAGER.PageHeader)%(_prevstr)%(_pagelist)%(_nextstr)%(PAGER.Footer)"
}
OnKeyPress{
CVSTR(reference0)
case reference0 {
when 'd' {
PAGER.List=( /
"リスト01|list1", /
"リスト02|list2", /
"リスト03|list3", /
"リスト04|list4", /
"リスト05|list5", /
"リスト06|list6", /
"リスト07|list7", /
"リスト08|list8", /
"リスト09|list9", /
"リスト10|lista", /
"リスト11|listb", /
"リスト12|listc", /
"リスト13|listd", /
"リスト14|liste", /
"リスト15|listf", /
"リスト16|listg", /
"リスト17|listh", /
"リスト18|listi", /
"リスト19|listj", /
"リスト20|listk", /
)
PAGER.ShowHeader='\_q■タイトル■\n' PAGER.PageHeader='■ページ■\n' PAGER.Footer='\n\![*]\q[CLOSE,close]\_q' PAGER.Marker='\![*]' PAGER.Separator='|' PAGER.ShowNum=5 PAGER.PageNum=3 reference0=0 OnShowPage }
}
}
|