|
|
|
VERSION 5.00
|
|
|
|
Begin VB.Form Form_Favourite
|
|
|
|
AutoRedraw = -1 'True
|
|
|
|
BorderStyle = 1 'Fixed Single
|
|
|
|
Caption = "�ҵ��ղ�"
|
|
|
|
ClientHeight = 4590
|
|
|
|
ClientLeft = 45
|
|
|
|
ClientTop = 390
|
|
|
|
ClientWidth = 6750
|
|
|
|
LinkTopic = "Form1"
|
|
|
|
MaxButton = 0 'False
|
|
|
|
MinButton = 0 'False
|
|
|
|
ScaleHeight = 4590
|
|
|
|
ScaleWidth = 6750
|
|
|
|
StartUpPosition = 2 '��Ļ����
|
|
|
|
Begin VB.Timer Timer_Debug
|
|
|
|
Interval = 200
|
|
|
|
Left = 0
|
|
|
|
Top = 0
|
|
|
|
End
|
|
|
|
Begin VB.TextBox Text_Debug
|
|
|
|
Height = 4365
|
|
|
|
Left = 6750
|
|
|
|
MultiLine = -1 'True
|
|
|
|
TabIndex = 8
|
|
|
|
Top = 120
|
|
|
|
Width = 2895
|
|
|
|
End
|
|
|
|
Begin VB.TextBox Text_Code
|
|
|
|
Alignment = 2 'Center
|
|
|
|
BeginProperty Font
|
|
|
|
Name = "���ź�"
|
|
|
|
Size = 15
|
|
|
|
Charset = 134
|
|
|
|
Weight = 400
|
|
|
|
Underline = 0 'False
|
|
|
|
Italic = 0 'False
|
|
|
|
Strikethrough = 0 'False
|
|
|
|
EndProperty
|
|
|
|
Height = 495
|
|
|
|
Left = 3720
|
|
|
|
Locked = -1 'True
|
|
|
|
TabIndex = 7
|
|
|
|
Top = 3975
|
|
|
|
Width = 1935
|
|
|
|
End
|
|
|
|
Begin VB.CommandButton Command_Confirm
|
|
|
|
Caption = "ȷ��"
|
|
|
|
Height = 495
|
|
|
|
Left = 5640
|
|
|
|
TabIndex = 6
|
|
|
|
Top = 3975
|
|
|
|
Width = 975
|
|
|
|
End
|
|
|
|
Begin VB.CommandButton Command_Delete
|
|
|
|
Caption = "ɾ��"
|
|
|
|
Height = 480
|
|
|
|
Left = 5640
|
|
|
|
TabIndex = 5
|
|
|
|
Top = 3510
|
|
|
|
Width = 975
|
|
|
|
End
|
|
|
|
Begin VB.CommandButton Command_Modify
|
|
|
|
Caption = "��"
|
|
|
|
Height = 480
|
|
|
|
Left = 4680
|
|
|
|
TabIndex = 4
|
|
|
|
Top = 3510
|
|
|
|
Width = 975
|
|
|
|
End
|
|
|
|
Begin VB.CommandButton Command_Add
|
|
|
|
Caption = "����"
|
|
|
|
Height = 480
|
|
|
|
Left = 3720
|
|
|
|
TabIndex = 3
|
|
|
|
Top = 3510
|
|
|
|
Width = 975
|
|
|
|
End
|
|
|
|
Begin VB.CommandButton Command_Down
|
|
|
|
Caption = "����"
|
|
|
|
Height = 465
|
|
|
|
Left = 5160
|
|
|
|
TabIndex = 2
|
|
|
|
Top = 3060
|
|
|
|
Width = 1455
|
|
|
|
End
|
|
|
|
Begin VB.CommandButton Command_Up
|
|
|
|
Caption = "����"
|
|
|
|
Height = 465
|
|
|
|
Left = 3720
|
|
|
|
TabIndex = 1
|
|
|
|
Top = 3060
|
|
|
|
Width = 1455
|
|
|
|
End
|
|
|
|
Begin VB.ListBox List_Favourite
|
|
|
|
Height = 2940
|
|
|
|
ItemData = "Form_Favourite.frx":0000
|
|
|
|
Left = 3720
|
|
|
|
List = "Form_Favourite.frx":0002
|
|
|
|
TabIndex = 0
|
|
|
|
Top = 120
|
|
|
|
Width = 2895
|
|
|
|
End
|
|
|
|
Begin VB.Timer Timer
|
|
|
|
Interval = 100
|
|
|
|
Left = 0
|
|
|
|
Top = 0
|
|
|
|
End
|
|
|
|
End
|
|
|
|
Attribute VB_Name = "Form_Favourite"
|
|
|
|
Attribute VB_GlobalNameSpace = False
|
|
|
|
Attribute VB_Creatable = False
|
|
|
|
Attribute VB_PredeclaredId = True
|
|
|
|
Attribute VB_Exposed = False
|
|
|
|
Option Explicit
|
|
|
|
Dim change_mode As Boolean
|
|
|
|
Dim Block(0 To 9) As Block_struct
|
|
|
|
Dim start_x As Integer, start_y As Integer, square_width As Integer, gap As Integer
|
|
|
|
Private Sub Form_Load()
|
|
|
|
start_x = 135
|
|
|
|
start_y = 135
|
|
|
|
square_width = 770
|
|
|
|
gap = 75
|
|
|
|
If debug_mode = True Then
|
|
|
|
Form_Favourite.width = 9860
|
|
|
|
Text_Debug.Visible = True
|
|
|
|
Else
|
|
|
|
Form_Favourite.width = 6845
|
|
|
|
Text_Debug.Visible = False
|
|
|
|
End If
|
|
|
|
If on_top = True Then
|
|
|
|
SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 1 Or 2
|
|
|
|
Else
|
|
|
|
SetWindowPos Me.hwnd, -2, 0, 0, 0, 0, 1 Or 2
|
|
|
|
End If
|
|
|
|
Call Get_Data
|
|
|
|
Print_Block start_x, start_y, square_width * 4 + gap * 5, square_width * 5 + gap * 6, case_line_width, case_color, case_line_color
|
|
|
|
If Not List_Favourite.ListCount = 0 Then List_Favourite.ListIndex = 0
|
|
|
|
End Sub
|
|
|
|
Private Sub Command_Confirm_Click()
|
|
|
|
Dim temp As String
|
|
|
|
If List_Favourite.ListCount = 0 Then Exit Sub
|
|
|
|
temp = List_Favourite.List(List_Favourite.ListIndex)
|
|
|
|
change_case_title = Left(temp, Len(temp) - 9)
|
|
|
|
change_case_code = Text_Code
|
|
|
|
change_case = True
|
|
|
|
Unload Form_Favourite
|
|
|
|
End Sub
|
|
|
|
Private Sub Command_Up_Click()
|
|
|
|
Dim temp As String, num As Integer
|
|
|
|
If List_Favourite.ListCount <= 1 Then Exit Sub
|
|
|
|
If List_Favourite.ListIndex = 0 Then Exit Sub
|
|
|
|
num = List_Favourite.ListIndex
|
|
|
|
temp = List_Favourite.List(num)
|
|
|
|
List_Favourite.RemoveItem num
|
|
|
|
List_Favourite.AddItem temp, num - 1
|
|
|
|
List_Favourite.ListIndex = num - 1
|
|
|
|
Call Save_Data
|
|
|
|
End Sub
|
|
|
|
Private Sub Command_Down_Click()
|
|
|
|
Dim temp As String, num As Integer
|
|
|
|
If List_Favourite.ListCount <= 1 Then Exit Sub
|
|
|
|
If List_Favourite.ListIndex = List_Favourite.ListCount - 1 Then Exit Sub
|
|
|
|
num = List_Favourite.ListIndex
|
|
|
|
temp = List_Favourite.List(num)
|
|
|
|
List_Favourite.RemoveItem num
|
|
|
|
List_Favourite.AddItem temp, num + 1
|
|
|
|
List_Favourite.ListIndex = num + 1
|
|
|
|
Call Save_Data
|
|
|
|
End Sub
|
|
|
|
Private Sub Command_Add_Click()
|
|
|
|
change_mode = False
|
|
|
|
favourite_add_save = False
|
|
|
|
favourite_add_init_name = ""
|
|
|
|
favourite_add_init_code = ""
|
|
|
|
Form_Favourite_Add.Show 1
|
|
|
|
End Sub
|
|
|
|
Private Sub Command_Modify_Click()
|
|
|
|
Dim temp As String
|
|
|
|
If List_Favourite.ListCount = 0 Then Exit Sub
|
|
|
|
change_mode = True
|
|
|
|
favourite_add_save = False
|
|
|
|
temp = List_Favourite.List(List_Favourite.ListIndex)
|
|
|
|
favourite_add_init_name = Left(temp, Len(temp) - 9)
|
|
|
|
favourite_add_init_code = Left(Right(temp, 8), 7)
|
|
|
|
Form_Favourite_Add.Show 1
|
|
|
|
End Sub
|
|
|
|
Private Sub Command_Delete_Click()
|
|
|
|
Dim temp As Integer
|
|
|
|
If List_Favourite.ListCount = 0 Then Exit Sub
|
|
|
|
temp = List_Favourite.ListIndex
|
|
|
|
List_Favourite.RemoveItem temp
|
|
|
|
If List_Favourite.ListCount = temp Then
|
|
|
|
List_Favourite.ListIndex = List_Favourite.ListCount - 1
|
|
|
|
Else
|
|
|
|
List_Favourite.ListIndex = temp
|
|
|
|
End If
|
|
|
|
If List_Favourite.ListCount = 0 Then
|
|
|
|
Text_Code = ""
|
|
|
|
Print_Block start_x, start_y, square_width * 4 + gap * 5, square_width * 5 + gap * 6, case_line_width, case_color, case_line_color
|
|
|
|
End If
|
|
|
|
Call Save_Data
|
|
|
|
End Sub
|
|
|
|
Private Sub List_Favourite_Click()
|
|
|
|
Dim temp As String
|
|
|
|
temp = List_Favourite.List(List_Favourite.ListIndex)
|
|
|
|
Text_Code = Mid(temp, Len(temp) - 7, 7)
|
|
|
|
Call Analyse_Code(Text_Code)
|
|
|
|
Call Output_Graph
|
|
|
|
End Sub
|
|
|
|
Private Sub Timer_Timer()
|
|
|
|
If favourite_add_confirm = True Then
|
|
|
|
If change_mode = True Then Call Command_Delete_Click
|
|
|
|
If List_Favourite.ListCount = 0 Then
|
|
|
|
List_Favourite.AddItem favourite_add_name & "(" & favourite_add_code & ")"
|
|
|
|
List_Favourite.ListIndex = 0
|
|
|
|
Else
|
|
|
|
List_Favourite.AddItem favourite_add_name & "(" & favourite_add_code & ")", List_Favourite.ListIndex
|
|
|
|
List_Favourite.ListIndex = List_Favourite.ListIndex - 1
|
|
|
|
End If
|
|
|
|
favourite_add_confirm = False
|
|
|
|
Call Save_Data
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub Get_Data()
|
|
|
|
Dim i As Long
|
|
|
|
Call Get_Favourite_Cases
|
|
|
|
For i = 1 To UBound(Favourite_Cases_name)
|
|
|
|
List_Favourite.AddItem Favourite_Cases_name(i) & "(" & Favourite_Cases_code(i) & ")"
|
|
|
|
Next i
|
|
|
|
End Sub
|
|
|
|
Private Sub Save_Data()
|
|
|
|
Dim i As Integer, temp As String
|
|
|
|
ReDim Favourite_Cases_code(List_Favourite.ListCount)
|
|
|
|
ReDim Favourite_Cases_name(List_Favourite.ListCount)
|
|
|
|
For i = 0 To List_Favourite.ListCount - 1
|
|
|
|
temp = List_Favourite.List(i)
|
|
|
|
Favourite_Cases_code(i + 1) = Left(Right(temp, 8), 7)
|
|
|
|
Favourite_Cases_name(i + 1) = Left(temp, Len(temp) - 9)
|
|
|
|
Next i
|
|
|
|
Call Save_Favourite_Cases
|
|
|
|
End Sub
|
|
|
|
Private Sub Output_Graph()
|
|
|
|
Dim m, X, Y As Integer
|
|
|
|
Dim width As Integer, height As Integer
|
|
|
|
Print_Block start_x, start_y, square_width * 4 + gap * 5, square_width * 5 + gap * 6, case_line_width, case_color, case_line_color
|
|
|
|
For m = 0 To 9
|
|
|
|
If Block(m).address <> 25 Then
|
|
|
|
X = (Block(m).address Mod 4) * (square_width + gap) + gap + start_x
|
|
|
|
Y = Int(Block(m).address / 4) * (square_width + gap) + gap + start_y
|
|
|
|
If Block(m).style = 0 Or Block(m).style = 1 Then
|
|
|
|
width = square_width * 2 + gap
|
|
|
|
Else
|
|
|
|
width = square_width
|
|
|
|
End If
|
|
|
|
If Block(m).style = 0 Or Block(m).style = 2 Then
|
|
|
|
height = square_width * 2 + gap
|
|
|
|
Else
|
|
|
|
height = square_width
|
|
|
|
End If
|
|
|
|
Print_Block X, Y, width, height, block_line_width, block_color, block_line_color
|
|
|
|
End If
|
|
|
|
Next m
|
|
|
|
End Sub
|
|
|
|
Private Sub Print_Block(print_start_x, print_start_y, print_width, print_height, print_line_width, print_color, print_line_color)
|
|
|
|
If print_width < 0 Or print_height < 0 Then Exit Sub
|
|
|
|
FillStyle = 0
|
|
|
|
DrawWidth = print_line_width
|
|
|
|
FillColor = print_color
|
|
|
|
Line (print_start_x, print_start_y)-(print_start_x + print_width, print_start_y + print_height), print_color, B
|
|
|
|
Line (print_start_x, print_start_y)-(print_start_x + print_width, print_start_y + print_height), print_line_color, B
|
|
|
|
End Sub
|
|
|
|
Private Sub Analyse_Code(code As String)
|
|
|
|
On Error Resume Next
|
|
|
|
Dim temp(1 To 12) As Integer
|
|
|
|
Dim i, addr, style As Integer
|
|
|
|
Dim type_1, type_2, type_3 As Integer
|
|
|
|
Dim Table(0 To 19) As Integer
|
|
|
|
Dim num As Integer, b1 As Integer, b2 As Integer
|
|
|
|
Dim dat As String
|
|
|
|
For i = 1 To 6
|
|
|
|
dat = Mid(code, i + 1, 1)
|
|
|
|
If Asc(dat) >= 48 And Asc(dat) <= 57 Then num = Int(dat)
|
|
|
|
If Asc(dat) >= 65 And Asc(dat) <= 70 Then num = Asc(dat) - 55
|
|
|
|
b1 = num Mod 4
|
|
|
|
b2 = (num - b1) / 4 Mod 4
|
|
|
|
temp(i * 2 - 1) = b2
|
|
|
|
temp(i * 2) = b1
|
|
|
|
Next i
|
|
|
|
type_1 = 0: type_2 = 0: type_3 = 5
|
|
|
|
For i = 0 To 19
|
|
|
|
Table(i) = 69
|
|
|
|
Next i
|
|
|
|
For i = 0 To 9
|
|
|
|
Block(i).address = 69
|
|
|
|
Block(i).style = 69
|
|
|
|
Next i
|
|
|
|
dat = Left(code, 1)
|
|
|
|
If Asc(dat) >= 48 And Asc(dat) <= 57 Then num = Int(dat)
|
|
|
|
If Asc(dat) >= 65 And Asc(dat) <= 70 Then num = Asc(dat) - 55
|
|
|
|
Block(0).address = num
|
|
|
|
Block(0).style = 0
|
|
|
|
If Block(0).address > 14 Then GoTo err
|
|
|
|
Table(Block(0).address) = 0
|
|
|
|
Table(Block(0).address + 1) = 0
|
|
|
|
Table(Block(0).address + 4) = 0
|
|
|
|
Table(Block(0).address + 5) = 0
|
|
|
|
addr = 0
|
|
|
|
For i = 1 To 11
|
|
|
|
Do While Table(addr) <> 69
|
|
|
|
If addr < 19 Then
|
|
|
|
addr = addr + 1
|
|
|
|
Else
|
|
|
|
Exit Do
|
|
|
|
End If
|
|
|
|
Loop
|
|
|
|
style = temp(i)
|
|
|
|
If style = 0 Then
|
|
|
|
Table(addr) = 10
|
|
|
|
ElseIf style = 1 Then
|
|
|
|
If type_2 < 5 Then type_2 = type_2 + 1
|
|
|
|
If addr > 18 Then GoTo err
|
|
|
|
Block(type_2).style = 1
|
|
|
|
Block(type_2).address = addr
|
|
|
|
Table(addr) = type_2
|
|
|
|
Table(addr + 1) = type_2
|
|
|
|
ElseIf style = 2 Then
|
|
|
|
If type_2 < 5 Then type_2 = type_2 + 1
|
|
|
|
If addr > 15 Then GoTo err
|
|
|
|
Block(type_2).style = 2
|
|
|
|
Block(type_2).address = addr
|
|
|
|
Table(addr) = type_2
|
|
|
|
Table(addr + 4) = type_2
|
|
|
|
ElseIf style = 3 Then
|
|
|
|
If type_3 < 9 Then type_3 = type_3 + 1
|
|
|
|
Block(type_3).style = 3
|
|
|
|
Block(type_3).address = addr
|
|
|
|
Table(addr) = type_3
|
|
|
|
End If
|
|
|
|
Next i
|
|
|
|
err:
|
|
|
|
End Sub
|
|
|
|
Private Sub Timer_Debug_Timer()
|
|
|
|
Dim debug_dat As String
|
|
|
|
debug_dat = debug_dat & "Favourite_Cases_name->" & UBound(Favourite_Cases_name) & vbCrLf
|
|
|
|
debug_dat = debug_dat & "Favourite_Cases_code->" & UBound(Favourite_Cases_code) & vbCrLf
|
|
|
|
debug_dat = debug_dat & vbCrLf
|
|
|
|
debug_dat = debug_dat & "favourite_add_name" & vbCrLf & "=" & favourite_add_name & vbCrLf & vbCrLf
|
|
|
|
debug_dat = debug_dat & "favourite_add_code" & vbCrLf & "=" & favourite_add_code & vbCrLf & vbCrLf
|
|
|
|
debug_dat = debug_dat & "favourite_add_init_name" & vbCrLf & "=" & favourite_add_init_name & vbCrLf & vbCrLf
|
|
|
|
debug_dat = debug_dat & "favourite_add_init_code" & vbCrLf & "=" & favourite_add_init_code & vbCrLf & vbCrLf
|
|
|
|
debug_dat = debug_dat & "favourite_add_confirm=" & favourite_add_confirm & vbCrLf & vbCrLf
|
|
|
|
debug_dat = debug_dat & "favourite_add_save=" & favourite_add_save & vbCrLf & vbCrLf
|
|
|
|
debug_dat = debug_dat & "change_mode=" & change_mode & vbCrLf
|
|
|
|
Text_Debug = debug_dat
|
|
|
|
End Sub
|