comparison runtime/indent/testdir/vb.in @ 31579:7d68a90cbf5c

Update runtime files Commit: https://github.com/vim/vim/commit/f1dcd14fc5d4370476cd82895a4479ca2d252e54 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Dec 31 15:30:45 2022 +0000 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sat, 31 Dec 2022 16:45:06 +0100
parents
children f8e7e00787b5
comparison
equal deleted inserted replaced
31578:e90cb8fbfbb6 31579:7d68a90cbf5c
1 ' vim: filetype=vb shiftwidth=4 expandtab
2 '
3 ' START_INDENT
4 Public Type GEmployeeRecord ' Create user-defined type.
5 ID As Integer ' Define elements of data type.
6 Name As String * 20
7 Address As String * 30
8 Phone As Long
9 HireDate As Date
10 End Type
11
12 Public Enum InterfaceColors
13 icMistyRose = &HE1E4FF&
14 icSlateGray = &H908070&
15 icDodgerBlue = &HFF901E&
16 icDeepSkyBlue = &HFFBF00&
17 icSpringGreen = &H7FFF00&
18 icForestGreen = &H228B22&
19 icGoldenrod = &H20A5DA&
20 icFirebrick = &H2222B2&
21 End Enum
22
23 Enum SecurityLevel
24 IllegalEntry = -1
25 SecurityLevel1 = 0
26 SecurityLevel2 = 1
27 End Enum
28
29 Public Function TestConditional (number As Integer, ext As String) As Boolean
30 Dim inRange As Boolean
31
32 Select Case number
33 Case <= 0
34 inRange = False
35 Case > 10
36 inRange = False
37 Case Else
38 inRange = True
39 End Select
40
41 ' This is a special case identified in the indent script.
42 Select Case number
43 End Select
44
45 If ext = ".xlm" Then
46 If inRange Then
47 TestConditional = True
48 Else
49 TestConditional = False
50 End If
51 ElseIf ext = ".xlsx" Then
52 If inRange Then
53 TestConditional = False
54 Else
55 TestConditional = True
56 End If
57 Else
58 TestConditional = False
59 End If
60 End Function
61
62 Private Sub TestIterators (lLimit As Integer, uLimit As Integer)
63 Dim a() As Variant
64 Dim elmt As Variant
65 Dim found As Boolean
66 Dim indx As Integer
67 Const specialValue As Integer = 5
68
69 If uLimit < lLimit Then
70 Exit Sub
71 End If
72
73 ReDim a(lLimit To uLimit)
74 For indx=lLimit To Ulimit
75 a(indx) = 2 * indx
76 Next indx
77
78 found = False
79 For Each elmt in a
80 If elmt = specialValue Then
81 found = True
82 End If
83 Next elmt
84
85 If found then
86 indx = uLimit
87 Do While indx >= lLimit
88 indx = indx - 1
89 Loop
90 End If
91
92 End Sub
93
94 Public Sub TestMultiline (cellAddr As String, rowNbr As Long)
95 Dim rng As Range
96
97 Set rng = Range(cellAddr)
98 With rng
99 .Cells(1,1).Value = _
100 "Line 1 of multiline string; " & _
101 "Line 2 of multiline string; " & _
102 "Line 3 of multiline string"
103 End With
104
105 ' The following lines have whitespace after the underscore character
106 ' and therefore do not form a valid multiline statement. The indent
107 ' script correctly treats them as four single line statements contrary
108 ' to the author's obvious indent.
109 rng..Cells(1,1).Value = _
110 "Line 1 of multiline string; " & _
111 "Line 2 of multiline string; " & _
112 "Line 3 of multiline string"
113
114 End Sub
115
116 Private Sub TestStmtLabel()
117 GoTo stmtLabel
118
119 ' Statement labels are never indented
120 stmtLabel:
121
122 End Sub
123
124 Sub TestTypeKeyword()
125 Type EmployeeRecord ' Create user-defined type.
126 ID As Integer ' Define elements of data type.
127 Name As String * 20
128 Address As String * 30
129 Phone As Long
130 HireDate As Date
131 End Type
132 Dim varType As EmployeeRecord
133 End Sub
134 ' END_INDENT