This repository has been archived by the owner on Nov 18, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
/
frmManager.frm
291 lines (275 loc) · 9.22 KB
/
frmManager.frm
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
VERSION 5.00
Begin VB.Form frmManager
BorderStyle = 4 'Fixed ToolWindow
Caption = "Index manager"
ClientHeight = 2415
ClientLeft = 45
ClientTop = 285
ClientWidth = 4095
KeyPreview = -1 'True
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 2415
ScaleWidth = 4095
ShowInTaskbar = 0 'False
StartUpPosition = 1 'CenterOwner
Begin VB.CommandButton cmdAdd
Caption = "&Add"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3240
TabIndex = 6
Top = 1260
Width = 735
End
Begin VB.CommandButton cmdRemove
Caption = "&Remove"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3240
TabIndex = 5
Top = 900
Width = 735
End
Begin VB.CommandButton cmdEnd
Caption = "&End"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3240
TabIndex = 2
Top = 2040
Width = 735
End
Begin VB.CommandButton cmdStart
Caption = "&Start"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3240
TabIndex = 1
Top = 120
Width = 735
End
Begin VB.CommandButton cmdDown
Caption = "&Down"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3240
TabIndex = 4
Top = 1680
Width = 735
End
Begin VB.CommandButton cmdUp
Caption = "&Up"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3240
TabIndex = 3
Top = 480
Width = 735
End
Begin VB.ListBox lstI
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 2205
Left = 120
TabIndex = 0
Top = 120
Width = 3015
End
End
Attribute VB_Name = "frmManager"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public bolL As Boolean
Dim bytL As Byte
Private Sub cmdAdd_Click()
Dim p As Byte
If lstI.ListIndex = lstI.ListCount - 1 + bytL Then frmMain.cmbIndex.ListIndex = lstI.ListCount - 2 Else: frmMain.cmbIndex.ListIndex = lstI.ListIndex: If lstI.ListIndex = lstI.ListCount - 2 Then Me.Tag = "-"
bolL = True
frmMain.cmdI_Click
bolL = False
If Me.Tag = " " Then
Me.Tag = vbNullString
bytL = 0
GoTo E
ElseIf Me.Tag = " " Then
Me.Tag = vbNullString
If cmdAdd.Caption <> "&Add" Then If frmMain.Filled(lstI.ListCount - 1) Then bytL = 1: lstI_Click
lstI.SetFocus
Exit Sub
End If
If lstI.ListIndex = lstI.ListCount - 1 + bytL Then
lstI.AddItem lstI.ListCount & Mid$(lstI.list(lstI.ListCount - 1), InStr(lstI.list(lstI.ListCount - 1), vbTab))
lstI.RemoveItem lstI.ListCount - 2
If frmMain.Filled(lstI.ListCount - 1) Then bytL = 1 Else: bytL = 0
E:
lstI.AddItem lstI.ListCount + 1 & vbTab
lstI.ListIndex = lstI.ListCount - 1
lstI.SetFocus
Else: Unload Me
End If
End Sub
Private Sub cmdRemove_Click()
frmMain.cmbIndex.ListIndex = lstI.ListIndex
bolL = True
frmMain.cmdR_Click
bolL = False
If StrPtr(Me.Tag) = 0 Then lstI.SetFocus: Exit Sub
If frmMain.cmbIndex.ListCount = 1 Then Unload Me: Exit Sub
Me.Tag = vbNullString
bytL = 0
Dim p As Byte, a As Byte
p = lstI.ListIndex
lstI.RemoveItem p
SetListboxScrollbar1 lstI
For a = p To lstI.ListCount - 1
ChO a
Next
If frmMain.Filled(lstI.ListCount - 1) Then lstI.AddItem lstI.ListCount + 1 & vbTab
lstI.ListIndex = p
lstI_Click
lstI.SetFocus
End Sub
Private Sub cmdStart_Click()
StartEnd
End Sub
Private Sub cmdUp_Click()
UpDown
End Sub
Private Sub cmdDown_Click()
UpDown -1
End Sub
Private Sub cmdEnd_Click()
StartEnd -1
End Sub
Private Sub StartEnd(Optional bytT As Integer = 1)
frmMain.lblStatus.Caption = "Shifting indexes..."
frmMain.lblStatus.Refresh
Screen.MousePointer = 11
Dim p As Byte, s As Byte
p = lstI.ListIndex
If bytT = -1 Then s = lstI.ListCount - 2 + bytL Else: s = 0
lstI.Tag = Mid$(lstI.list(p), InStr(lstI.list(p), vbTab) + 1)
frmMain.SLInd p
lstI.RemoveItem p
lstI.AddItem CInt(s) + 1 & vbTab & lstI.Tag, s
If frmMain.cmbIndex.ListIndex = p Then frmMain.cmbIndex.ListIndex = p - bytT: frmMain.cmbIndex.Tag = p Else: If frmMain.cmbIndex.ListIndex = s Then frmMain.cmbIndex.ListIndex = s + bytT: frmMain.cmbIndex.Tag = "-1"
Do While p <> s
frmMain.ChngI p, p - bytT
ChO p
p = p - bytT
Loop
frmMain.SLInd s, True
If frmMain.cmbIndex.Tag <> vbNullString Then If frmMain.cmbIndex.Tag <> "-1" Then frmMain.cmbIndex.ListIndex = frmMain.cmbIndex.Tag: frmMain.cmbIndex.Tag = vbNullString Else: frmMain.cmbIndex.ListIndex = s: frmMain.cmbIndex.Tag = vbNullString
lstI.ListIndex = s
Cmp
End Sub
Private Sub UpDown(Optional bytT As Integer = 1)
frmMain.lblStatus.Caption = "Shifting indexes..."
frmMain.lblStatus.Refresh
Screen.MousePointer = 11
Dim p As Byte: p = lstI.ListIndex
lstI.Tag = Mid$(lstI.list(p), InStr(lstI.list(p), vbTab) + 1)
frmMain.SLInd p
lstI.RemoveItem p
lstI.AddItem (CInt(p) - bytT) + 1 & vbTab & lstI.Tag, p - bytT
frmMain.ChngI p, p - bytT
If frmMain.cmbIndex.ListIndex = p Then frmMain.cmbIndex.ListIndex = p - bytT: frmMain.cmbIndex.Tag = "0" Else: If frmMain.cmbIndex.ListIndex = p - bytT Then frmMain.cmbIndex.ListIndex = p: frmMain.cmbIndex.Tag = "1"
frmMain.SLInd p - bytT, True
If frmMain.cmbIndex.Tag = "0" Then frmMain.cmbIndex.ListIndex = p: frmMain.cmbIndex.Tag = vbNullString Else: If frmMain.cmbIndex.Tag = "1" Then frmMain.cmbIndex.ListIndex = p - bytT: frmMain.cmbIndex.Tag = vbNullString
ChO p
lstI.ListIndex = p - bytT
Cmp
End Sub
Private Sub Cmp()
If Left$(frmMain.Caption, 1) <> "*" Then frmMain.Caption = "*" & frmMain.Caption
Screen.MousePointer = 0
frmMain.lblStatus.Caption = "Idle..."
lstI.SetFocus
End Sub
Private Sub ChO(p As Byte)
lstI.Tag = Mid$(lstI.list(p), InStr(lstI.list(p), vbTab))
lstI.RemoveItem p
lstI.AddItem CInt(p) + 1 & lstI.Tag, p
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then Unload Me
End Sub
Private Sub Form_Load()
If frmMain.chkOnTop.Checked Then SetTopMostWindow Me.hWnd, True
bytL = 0
If frmMain.bytLimit = frmMain.cmbIndex.ListCount - 1 Then If frmMain.Filled(frmMain.cmbIndex.ListCount - 1) Then bytL = 1
End Sub
Private Sub lstI_Click()
If lstI.ListIndex = 0 Or lstI.ListIndex = lstI.ListCount - 1 + bytL Then cmdUp.Enabled = False Else: cmdUp.Enabled = True
If lstI.ListIndex < 2 Or lstI.ListIndex = lstI.ListCount - 1 + bytL Then cmdStart.Enabled = False Else: cmdStart.Enabled = True
If lstI.ListIndex > lstI.ListCount - 4 + bytL Then cmdEnd.Enabled = False Else: cmdEnd.Enabled = True
If lstI.ListIndex > lstI.ListCount - 3 + bytL Then cmdDown.Enabled = False Else: cmdDown.Enabled = True
If lstI.ListIndex = lstI.ListCount - 1 + bytL Then cmdRemove.Enabled = False: cmdAdd.Caption = "&Add pr.": cmdAdd.ToolTipText = "Duplicate previous index" Else: cmdRemove.Enabled = True: cmdAdd.Caption = "&Add": cmdAdd.ToolTipText = vbNullString
End Sub
Private Sub lstI_DblClick()
frmMain.cmbIndex.ListIndex = lstI.ListIndex
Unload Me
End Sub
Private Sub lstI_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 And lstI.ListIndex <> -1 Then lstI_DblClick
End Sub