Skip to content

Commit c37ce7c

Browse files
authored
Merge pull request #7 from Theadd/dev-1.6.1
Dev 1.6.1
2 parents 817adc6 + 554eaa0 commit c37ce7c

File tree

10 files changed

+12
-11
lines changed

10 files changed

+12
-11
lines changed

ArrayListLib.twinproj

3.3 KB
Binary file not shown.

ArrayListLib/Settings

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@
3232
"project.settingsVersion": 1,
3333
"project.useProjectIdForTypeLibraryId": true,
3434
"project.versionAutoIncrement": "Revision",
35-
"project.versionBuild": 0,
35+
"project.versionBuild": 1,
3636
"project.versionLegalCopyright": "This is free and unencumbered software released into the public domain. For more information, please refer to <https://unlicense.org>",
3737
"project.versionMajor": 1,
3838
"project.versionMinor": 6,
3939
"project.versionProductName": "ArrayList",
40-
"project.versionRevision": 141,
40+
"project.versionRevision": 151,
4141
"project.warnings": {
4242
"errors": [],
4343
"ignored": []

ArrayListLib/Sources/ArrayList.twin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,8 +307,8 @@ Public Class ArrayList
307307
ReassignArrayTo ToArray, t
308308
End Function
309309

310-
Public Function ToString(Optional TextQualifier As String = "'") As String Implements IArrayList.ToString
311-
Return CommonModule.Stringify(Me, TextQualifier)
310+
Public Function ToString(Optional TextQualifier As String = """", Optional ByVal UseNullAsEmpty As Boolean = True) As String Implements IArrayList.ToString
311+
Return CommonModule.Stringify(Me, TextQualifier, UseNullAsEmpty)
312312
End Function
313313

314314
Public Sub AddRange(Target As Variant) Implements IArrayList.AddRange

ArrayListLib/Sources/IArrayList.twin

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Public Interface IListRange Extends IList
5353
Sub RemoveRange(ByVal Index As Long, ByVal GetCount As Long)
5454
Sub SetRange(ByVal Index As Long, Target As Variant)
5555
Function ToArray() As Variant()
56-
Function ToString(TextQualifier As String) As String
56+
Function ToString(TextQualifier As String, ByVal UseNullAsEmpty As Boolean) As String
5757
[ Description ("Sorts the elements in a section of this list. The sort compares the elements to each other using the given IComparer interface.") ]
5858
Sub Sort(Optional ByVal Index As Variant, Optional ByVal GetCount As Variant, Optional ByRef Comparer As IComparer = Nothing)
5959
Function BinarySearch(ByVal Index As Long, ByVal GetCount As Long, ByRef Value As Variant, Optional ByRef Comparer As IComparer = Nothing) As Long

ArrayListLib/Sources/ListRange.twin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,8 @@ Public Class ListRange
331331
ReassignArrayTo ToArray, t
332332
End Function
333333

334-
Public Function ToString(Optional TextQualifier As String = "'") As String Implements ArrayList.ToString, IArrayList.ToString
335-
Return CommonModule.Stringify(Me, TextQualifier)
334+
Public Function ToString(Optional TextQualifier As String = """", Optional ByVal UseNullAsEmpty As Boolean = True) As String Implements ArrayList.ToString, IArrayList.ToString
335+
Return CommonModule.Stringify(Me, TextQualifier, UseNullAsEmpty)
336336
End Function
337337

338338
#Region "HIDDEN METHODS IN MSCORLIB"

ArrayListLib/Sources/Modules/CommonModule.twin

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
Module CommonModule
22

33
[ Hidden ]
4-
Public Function Stringify(Value As Variant, TextQualifier As String) As String
4+
Public Function Stringify(Value As Variant, TextQualifier As String, ByVal UseNullAsEmpty As Boolean) As String
55
Select Case VarType(Value)
66
Case vbString: Return TextQualifier & Replace(Value, TextQualifier, TextQualifier & TextQualifier) & TextQualifier
7-
Case vbNull, vbEmpty, vbError: Return vbNullString
7+
Case vbNull: Return "null"
8+
Case vbEmpty, vbError: Return IIf(UseNullAsEmpty, "null", vbNullString)
89
Case vbDate: Return TextQualifier & VBA.Format$(ToUTC(CDate(Value)), "yyyy-mm-ddTHH:mm:ss.000Z") & TextQualifier
910
Case Is >= vbArray, vbObject
1011
Dim v As Variant, s As String
1112
On Error Resume Next
1213
If IsObject(Value) AndAlso TypeOf Value Is ListRange Then
1314
For Each v In CListRange(Value)
14-
s = s & ", " & Stringify(v, TextQualifier)
15+
s = s & ", " & Stringify(v, TextQualifier, UseNullAsEmpty)
1516
Next v
1617
Else
1718
For Each v In Value
18-
s = s & ", " & Stringify(v, TextQualifier)
19+
s = s & ", " & Stringify(v, TextQualifier, UseNullAsEmpty)
1920
Next v
2021
End If
2122
On Error GoTo 0

Build/ArrayListLib_win32.dll

1 KB
Binary file not shown.

Build/ArrayListLib_win32.twinpack

3.3 KB
Binary file not shown.

Build/ArrayListLib_win64.dll

1 KB
Binary file not shown.

Build/ArrayListLib_win64.twinpack

3.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)