mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 21:55:17 -07:00
135 lines
3.1 KiB
Plaintext
135 lines
3.1 KiB
Plaintext
|
' vim: filetype=vb shiftwidth=4 expandtab
|
||
|
'
|
||
|
' START_INDENT
|
||
|
Public Type GEmployeeRecord ' Create user-defined type.
|
||
|
ID As Integer ' Define elements of data type.
|
||
|
Name As String * 20
|
||
|
Address As String * 30
|
||
|
Phone As Long
|
||
|
HireDate As Date
|
||
|
End Type
|
||
|
|
||
|
Public Enum InterfaceColors
|
||
|
icMistyRose = &HE1E4FF&
|
||
|
icSlateGray = &H908070&
|
||
|
icDodgerBlue = &HFF901E&
|
||
|
icDeepSkyBlue = &HFFBF00&
|
||
|
icSpringGreen = &H7FFF00&
|
||
|
icForestGreen = &H228B22&
|
||
|
icGoldenrod = &H20A5DA&
|
||
|
icFirebrick = &H2222B2&
|
||
|
End Enum
|
||
|
|
||
|
Enum SecurityLevel
|
||
|
IllegalEntry = -1
|
||
|
SecurityLevel1 = 0
|
||
|
SecurityLevel2 = 1
|
||
|
End Enum
|
||
|
|
||
|
Public Function TestConditional (number As Integer, ext As String) As Boolean
|
||
|
Dim inRange As Boolean
|
||
|
|
||
|
Select Case number
|
||
|
Case <= 0
|
||
|
inRange = False
|
||
|
Case > 10
|
||
|
inRange = False
|
||
|
Case Else
|
||
|
inRange = True
|
||
|
End Select
|
||
|
|
||
|
' This is a special case identified in the indent script.
|
||
|
Select Case number
|
||
|
End Select
|
||
|
|
||
|
If ext = ".xlm" Then
|
||
|
If inRange Then
|
||
|
TestConditional = True
|
||
|
Else
|
||
|
TestConditional = False
|
||
|
End If
|
||
|
ElseIf ext = ".xlsx" Then
|
||
|
If inRange Then
|
||
|
TestConditional = False
|
||
|
Else
|
||
|
TestConditional = True
|
||
|
End If
|
||
|
Else
|
||
|
TestConditional = False
|
||
|
End If
|
||
|
End Function
|
||
|
|
||
|
Private Sub TestIterators (lLimit As Integer, uLimit As Integer)
|
||
|
Dim a() As Variant
|
||
|
Dim elmt As Variant
|
||
|
Dim found As Boolean
|
||
|
Dim indx As Integer
|
||
|
Const specialValue As Integer = 5
|
||
|
|
||
|
If uLimit < lLimit Then
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
ReDim a(lLimit To uLimit)
|
||
|
For indx=lLimit To Ulimit
|
||
|
a(indx) = 2 * indx
|
||
|
Next indx
|
||
|
|
||
|
found = False
|
||
|
For Each elmt in a
|
||
|
If elmt = specialValue Then
|
||
|
found = True
|
||
|
End If
|
||
|
Next elmt
|
||
|
|
||
|
If found then
|
||
|
indx = uLimit
|
||
|
Do While indx >= lLimit
|
||
|
indx = indx - 1
|
||
|
Loop
|
||
|
End If
|
||
|
|
||
|
End Sub
|
||
|
|
||
|
Public Sub TestMultiline (cellAddr As String, rowNbr As Long)
|
||
|
Dim rng As Range
|
||
|
|
||
|
Set rng = Range(cellAddr)
|
||
|
With rng
|
||
|
.Cells(1,1).Value = _
|
||
|
"Line 1 of multiline string; " & _
|
||
|
"Line 2 of multiline string; " & _
|
||
|
"Line 3 of multiline string"
|
||
|
End With
|
||
|
|
||
|
' The following lines have whitespace after the underscore character
|
||
|
' and therefore do not form a valid multiline statement. The indent
|
||
|
' script correctly treats them as four single line statements contrary
|
||
|
' to the author's obvious indent.
|
||
|
rng..Cells(1,1).Value = _
|
||
|
"Line 1 of multiline string; " & _
|
||
|
"Line 2 of multiline string; " & _
|
||
|
"Line 3 of multiline string"
|
||
|
|
||
|
End Sub
|
||
|
|
||
|
Private Sub TestStmtLabel()
|
||
|
GoTo stmtLabel
|
||
|
|
||
|
' Statement labels are never indented
|
||
|
stmtLabel:
|
||
|
|
||
|
End Sub
|
||
|
|
||
|
Sub TestTypeKeyword()
|
||
|
Type EmployeeRecord ' Create user-defined type.
|
||
|
ID As Integer ' Define elements of data type.
|
||
|
Name As String * 20
|
||
|
Address As String * 30
|
||
|
Phone As Long
|
||
|
HireDate As Date
|
||
|
End Type
|
||
|
Dim varType As EmployeeRecord
|
||
|
End Sub
|
||
|
' END_INDENT
|