MS Bugfixing mit Vektofeld Boolean

This commit is contained in:
2019-12-20 10:08:48 +01:00
parent e743baf415
commit 37693a8fc0
47 changed files with 462 additions and 143 deletions

View File

@@ -40,6 +40,7 @@ Public Class clsWindream_Index
Sub New(LogConf As LogConfig)
MyBase.New(LogConf)
Logger = LogConf.GetLogger
LogConf.Debug = True
End Sub
Private Function IsNotEmpty(ByVal aValue As Object)
@@ -141,6 +142,8 @@ Public Class clsWindream_Index
Logger.Debug("Typ des windream-Indexes: 4098 Vektor Numerisch")
Case 4099
Logger.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl")
Case 4100
Logger.Debug("Typ des windream-Indexes: 4100 Vektor Boolean")
Case 4101
Logger.Debug("Typ des windream-Indexes: 4101 Vektor Date")
Case 4103
@@ -165,7 +168,8 @@ Public Class clsWindream_Index
Dim str As String = aValues(0)
str = str.ToString.Replace(" ", "")
myArray(0) = CDbl(str.Replace(".", ","))
Case 4100
myArray(0) = CBool(aValues(0))
Case 4101
myArray(0) = CDate(aValues(0))
Case 4103
@@ -207,6 +211,8 @@ Public Class clsWindream_Index
myArray(i1) = OConvertValue
Case 4099
myArray(i1) = CDbl(aValue.Replace(".", ",").Replace(" ", ""))
Case 4100
myArray(i1) = CBool(aValue)
Case 4101
myArray(i1) = CDate(aValue)
Case 4103
@@ -299,6 +305,7 @@ Public Class clsWindream_Index
Case WMObjectVariableValueTypeString
Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
OConvertValue = CStr(value)
Logger.Debug($"OConvertValue.Length [{OConvertValue.ToString.Length}] - Content/Value: [{OConvertValue}]")
Case WMObjectVariableValueTypeInteger
Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
value = value.ToString.Replace(" ", "")
@@ -313,6 +320,7 @@ Public Class clsWindream_Index
Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
value = value.ToString.Replace(" ", "")
OConvertValue = CDbl(value)
Case WMObjectVariableValueTypeFixedPoint
Logger.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
value = value.ToString.Replace(" ", "")
@@ -365,6 +373,9 @@ Public Class clsWindream_Index
Logger.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl")
'Vektor Kommazahl
oIsVector = True
Case 4100
Logger.Debug("Typ des windream-Indexes: 4100 Vektor Boolean")
oIsVector = True
Case 4101
Logger.Debug("Typ des windream-Indexes: 4101 Vektor Date")
'Vektor Kommazahl
@@ -381,7 +392,7 @@ Public Class clsWindream_Index
'Vektor Kommazahl
oIsVector = True
Case Else
Logger.Debug("Typ des windream-Indexes konnte nicht bestimmt werden!")
Logger.Debug($"Typ des windream-Indexes [{indexname} - Typ: {vType.ToString} ] konnte nicht bestimmt werden!")
Logger.Debug("Versuch des Auslesens (vType): " & vType)
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
OConvertValue = ""
@@ -396,7 +407,6 @@ Public Class clsWindream_Index
'############################################################################################
If oIsVector = False Then
If OConvertValue.ToString Is Nothing = False Then
Logger.Debug("Versuch dem Dok einen Index zuzuweisen: oDocument.SetVariableValue(" & aName & ", " & OConvertValue & ")")
If _int = True Then
OConvertValue = OConvertValue.ToString.Replace(" ", "")
@@ -409,7 +419,14 @@ Public Class clsWindream_Index
OConvertValue = OConvertValue.ToString.Replace(" ", "")
oDocument.SetVariableValue(aName, CDbl(OConvertValue))
Else
oDocument.SetVariableValue(aName, OConvertValue)
If OConvertValue.ToString.Length <= 512 Then
oDocument.SetVariableValue(aName, OConvertValue)
Else
Logger.Info($"Will not set indexvalue of index [{aName}] with the full length as Length > 512 [{OConvertValue.ToString.Length}]")
oDocument.SetVariableValue(aName, OConvertValue.ToString.Substring(0, 511))
End If
End If
Logger.Info(String.Format("Index '{0}' was written with value '{1}'", aName, OConvertValue))
@@ -444,7 +461,7 @@ Public Class clsWindream_Index
'Next
Dim Anzahl As Integer = aValues.Length
'Vektorfeld wird mit EINEM Wert gefüllt
If Anzahl = 1 Then
If Anzahl = 1 And vType = 4100 Then
Logger.Debug("Vektorfeld wird mit EINEM Wert gefüllt ")
ReDim myArray(0)
Select Case vType
@@ -463,6 +480,8 @@ Public Class clsWindream_Index
Str = Str.ToString.Replace(" ", "")
'Umwandeln in Double
myArray(0) = CDbl(Str.Replace(".", ","))
Case 4100
myArray(0) = CBool(value)
Case 4101
'Umwandeln in Date
myArray(0) = CDate(value)
@@ -539,6 +558,17 @@ Public Class clsWindream_Index
Logger.Debug("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
i1 = i1 + 1
Next
Case 4100
ReDim myArray(Anzahl - 1)
Dim i1 As Integer = 0
'Die Datatable durchlaufen und Werte für den Index in Array schreiben
For Each NewValue As Object In aValues
Dim Str As String = NewValue.ToString
myArray(i1) = CBool(Str)
Logger.Debug("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
i1 = i1 + 1
Next
Case 4101
'Vektortyp DATE
'Die Größe des Arrays festlegen
@@ -584,7 +614,6 @@ Public Class clsWindream_Index
'SetRights(WMObject, User)
oDocument.Save()
oDocument.unlock()
Logger.Debug("Indexierung erfolgreich beendet (Save und Unlock durchgeführt)")
Logger.Debug("")
@@ -765,6 +794,9 @@ Public Class clsWindream_Index
Case 4099
Logger.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl")
Return True
Case 4100
Logger.Debug("Typ des windream-Indexes: 4100 Vektor Boolean")
Return True
Case 4101
Logger.Debug("Typ des windream-Indexes: 4101 Vektor Date")
Return True
@@ -778,8 +810,7 @@ Public Class clsWindream_Index
Logger.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch")
Return True
Case Else
Logger.Debug("Typ des windream-Indexes konnte nicht bestimmt werden!")
Logger.Debug($"GetCheckISVektor Typ des windream-Indexes [{oIndexname} - Typ: {vType.ToString} ] konnte nicht bestimmt werden!")
End Select
Return False
End Function