📄 sub_main.bas
字号:
Attribute VB_Name = "Sub_Main"
Option Explicit
Public Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Public 保存文件 As Boolean
Public STX_KEYWORD As String
Public VB_KEYWORDS As String
Public STX_OPERATOR As String
Public VB_OPERATORS As String
Public STX_FUNCTION As String
Public VB_FUNCTIONS As String
Public STX_PROPERTIE As String
Public VB_PROPERTIES As String
Public VB_FUNCTION As String
Public VB_KEYWORD As String
Public STX_NUMBER As String ' Num
Public VBFont() As String
Sub main()
高亮_Init App.Path & "\VB.ini"
保存文件 = False
frmMain.Show
End Sub
Public Sub 程序退出()
End
End Sub
Public Sub 高亮_Init(File As String)
Dim Tmp, i, n, temp, a
STX_KEYWORD = "ForeColor=12582912,backcolor=,bold=,italic=,underline=,strike=" '8388608
ReDim VBFont(FileLen(File))
Tmp = ReadINI(File, "语法", "VB_KEYWORDS", Tmp)
n = 1
a = 1
For i = 1 To Len(Tmp)
If Mid(Tmp, i, 1) = "," Then
temp = Mid(Tmp, n, i - n)
'If InStr(Temp, ",") <> 0 Then Temp = Mid(Temp, 2, Len(Temp))
'Temp = Mid(Tmp, n, i - n)
temp = Replace$(temp, ",", "", 1, -1, vbBinaryCompare)
VB_KEYWORDS = VB_KEYWORDS & temp & ","
VBFont(a) = temp
n = i
a = a + 1
End If
Next i
VB_KEYWORDS = Mid(VB_KEYWORDS, 1, Len(VB_KEYWORDS) - 1)
STX_OPERATOR = "ForeColor=49152,backcolor=,bold=,italic=,underline=,strike=" '65280
VB_OPERATORS = "&,+,-,*,\,/,^,>,<,>=,<=,<>,=,%"
STX_FUNCTION = "ForeColor=12582912,backcolor=,bold=,italic=,underline=,strike="
Tmp = ""
Tmp = ReadINI(File, "语法", "VB_FUNCTIONS", Tmp)
n = 1
For i = 1 To Len(Tmp)
If Mid(Tmp, i, 1) = "," Then
temp = Mid(Tmp, n, i - n)
'If InStr(Temp, ",") <> 0 Then Temp = Mid(Temp, 2, Len(Temp))
'Temp = Mid(Tmp, n, i - n)
temp = Replace$(temp, ",", "", 1, -1, vbBinaryCompare)
VB_FUNCTIONS = VB_FUNCTIONS & temp & ","
VBFont(a) = temp
n = i
a = a + 1
End If
Next i
VB_FUNCTIONS = Mid(VB_FUNCTIONS, 1, Len(VB_FUNCTIONS) - 1)
VBFont(0) = a
STX_NUMBER = "ForeColor=255,backcolor=,bold=,italic=,underline=,strike=" '65535
' STX_PROPERTIE = "ForeColor=65535,backcolor=,bold=,italic=,underline=,strike="
' VB_PROPERTIES = "0,1,2,3,4,5,6,7,8,9"
End Sub
Public Sub 提示信息()
Dim Tmp, i, n
frmMain.TreeView1.Nodes.Clear
Tmp = frmMain.ActiveForm.GetLine(frmMain.ActiveForm.CurrentLineNumber)
If Tmp = "" Then Exit Sub
If InStr(Tmp, " ") <> 0 Or InStr(Tmp, " ") <> Len(Tmp) Then
For i = 1 To Len(Tmp)
If Mid(Tmp, i, 1) = " " Then n = i
Next i
Tmp = Mid(Tmp, n + 1, Len(Tmp))
End If
For i = 1 To VBFont(0) - 1
If LCase(Tmp) = LCase(Mid(VBFont(i), 1, Len(Tmp))) Then
frmMain.TreeView1.Nodes.add , , , VBFont(i), 1
End If
Next i
End Sub
Public Sub 弹出提示(提示内容 As String)
Dim i, Tmp, n, a, b
frmMain.TreeView1.Nodes.Clear
n = 1
For i = 1 To Len(提示内容)
If Mid(提示内容, i, 1) = "=" Then
Tmp = Mid(提示内容, n + 1, i - n - 1)
frmMain.TreeView1.Nodes.add , , Tmp, Tmp, 2
n = i
For a = n To Len(提示内容)
If Mid(提示内容, a, 1) = ";" Then
add Tmp, Mid(提示内容, n + 1, a - n)
i = i + a
n = n + a
End If
Next a
ElseIf Mid(提示内容, i, 1) = "," Then
Tmp = Mid(提示内容, n, i - n)
Tmp = Mid(提示内容, n + 1, i - n - 1)
frmMain.TreeView1.Nodes.add , , , Tmp, 1
n = i
End If
Next i
End Sub
Public Sub add(aaa, 提示内容, Optional aa As Variant)
Dim i, Tmp, n, a, b
n = 1
For i = 1 To Len(提示内容)
If Mid(提示内容, i, 1) = "=" Then
Tmp = Mid(提示内容, n + 1, i - n - 1)
frmMain.TreeView1.Nodes.add aaa, tvwChild, Tmp, Tmp, 2
n = i
ElseIf Mid(提示内容, i, 1) = "," Then
Tmp = Mid(提示内容, n, i - n)
Tmp = Mid(提示内容, n + 1, i - n - 1)
frmMain.TreeView1.Nodes.add aaa, tvwChild, Tmp, Tmp, 1
n = i
End If
Next i
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -