More logging, attempt at fixing empty lines in grid control, add checkbox validation
This commit is contained in:
@@ -133,301 +133,305 @@ Public Class ClassPMWindream
|
||||
|
||||
Dim i As Integer = 0
|
||||
Dim indexname As String
|
||||
|
||||
If aValues.Length = 1 And aValues(0) = "" Then
|
||||
LOGGER.Debug("Indexwert ist leer/Nothing - Keine Indexierung")
|
||||
End If
|
||||
'Jetzt jeden Indexwert durchlaufen
|
||||
For Each aName As String In Indizes
|
||||
indexname = aName
|
||||
' das entsprechende Attribut aus windream auslesen
|
||||
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i))
|
||||
' den Variablentyp (String, Integer, ...) auslesen
|
||||
vType = oAttribute.getVariableValue("dwAttrType")
|
||||
' wenn in aValues an Position i ein Wert steht
|
||||
Else
|
||||
'Jetzt jeden Indexwert durchlaufen
|
||||
For Each aName As String In Indizes
|
||||
indexname = aName
|
||||
' das entsprechende Attribut aus windream auslesen
|
||||
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i))
|
||||
' den Variablentyp (String, Integer, ...) auslesen
|
||||
vType = oAttribute.getVariableValue("dwAttrType")
|
||||
' wenn in aValues an Position i ein Wert steht
|
||||
|
||||
If IsNotEmpty(aValues(i)) Then
|
||||
Dim _int As Boolean = False
|
||||
Dim _date As Boolean = False
|
||||
Dim _dbl As Boolean = False
|
||||
Dim _bool As Boolean = False
|
||||
'If indexname = "Tournr" Then
|
||||
' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
|
||||
'End If
|
||||
LOGGER.Debug(" ### Indexierung von Index: " & indexname & " ####")
|
||||
'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
|
||||
Dim value = aValues(i)
|
||||
Dim convertValue
|
||||
Dim vektor As Boolean = False
|
||||
'Den Typ des Index-Feldes auslesen
|
||||
'MsgBox(value.GetType.ToString)
|
||||
Select Case vType
|
||||
'Case WMObjectVariableValueTypeUndefined
|
||||
Case WMObjectVariableValueTypeString
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeInteger
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
|
||||
If IsNumeric(value) = False Then
|
||||
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
|
||||
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End If
|
||||
convertValue = CInt(value)
|
||||
_int = True
|
||||
Case WMObjectVariableValueTypeInteger64bit
|
||||
LOGGER.Debug("Typ des windream-Indexes: Integer64bit")
|
||||
If IsNumeric(value) = False Then
|
||||
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
|
||||
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End If
|
||||
convertValue = CInt(value)
|
||||
_int = True
|
||||
Case WMObjectVariableValueTypeFloat
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
|
||||
Try
|
||||
convertValue = CDbl(value)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Case WMObjectVariableValueTypeFixedPoint
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
|
||||
Try
|
||||
convertValue = CDbl(value)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End Try
|
||||
|
||||
_dbl = True
|
||||
Case WMObjectVariableValueTypeBoolean
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
|
||||
convertValue = CBool(value)
|
||||
_bool = True
|
||||
Case WMObjectVariableValueTypeDate
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
|
||||
_date = True
|
||||
'Dim _date As Date = value
|
||||
convertValue = value
|
||||
Case WMObjectVariableValueTypeTimeStamp
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
|
||||
convertValue = CInt(value)
|
||||
Case WMObjectVariableValueTypeCurrency
|
||||
LOGGER.Info(" >> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
|
||||
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
|
||||
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
|
||||
convertValue = aValueWrapper
|
||||
Case WMObjectVariableValueTypeTime
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTime", False)
|
||||
'If ((value)) Then
|
||||
' convertValue = CDate(value)
|
||||
'Else
|
||||
' convertValue = ""
|
||||
'End If
|
||||
'Dim _date As Date = value
|
||||
convertValue = convertValue '*_date.ToShortTimeString
|
||||
Case WMObjectVariableValueTypeFloat
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False)
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeVariant
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeVariant", False)
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeFulltext
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext", False)
|
||||
convertValue = CStr(value)
|
||||
Case 4100
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4100 Vektor Boolean", False)
|
||||
vektor = True
|
||||
Case 4101
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4101 Vektor Date", False)
|
||||
vektor = True
|
||||
Case 4104
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4104 Vektor Currency", False)
|
||||
vektor = True
|
||||
Case 4097
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4097 Vektor alphanumerisch", False)
|
||||
vektor = True
|
||||
Case 4098
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4098 Vektor Numerisch", False)
|
||||
vektor = True
|
||||
Case 4099
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl", False)
|
||||
vektor = True
|
||||
Case 36865
|
||||
LOGGER.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch", False)
|
||||
vektor = True
|
||||
Case Else
|
||||
LOGGER.Debug("Typ des windream-Indexes konnte nicht bestimmt werden!", False)
|
||||
LOGGER.Debug("Versuch des Auslesens (vType): " & vType)
|
||||
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
|
||||
convertValue = ""
|
||||
End Select
|
||||
If vektor = False Then
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
LOGGER.Debug("Konvertierter Wert: '" & convertValue.ToString & "'", False)
|
||||
End If
|
||||
End If
|
||||
'############################################################################################
|
||||
'####################### Der eigentliche Indexierungsvorgang ################################
|
||||
'############################################################################################
|
||||
If vektor = False Then
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
Try
|
||||
LOGGER.Debug("Jetzt indexieren: oDocument.SetVariableValue(" & aName & ", " & convertValue.ToString & ")", False)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info(" >> Unexpected Error in Logging SetVariableValue for " & aName & ": " & ex.Message, False)
|
||||
End Try
|
||||
|
||||
'Dim ArrValues()
|
||||
'ReDim ArrValues(0)
|
||||
'ArrValues(0) = convertValue
|
||||
'Dim ArrName()
|
||||
'ReDim ArrName(0)
|
||||
'ArrName(0) = "Tournr"
|
||||
'oDocument.SetValues(ArrName, ArrValues)
|
||||
If _int = True Then
|
||||
oDocument.SetVariableValue(aName, CInt(convertValue))
|
||||
ElseIf _date = True Then
|
||||
oDocument.SetVariableValue(aName, CDate(convertValue))
|
||||
ElseIf _bool Then
|
||||
oDocument.SetVariableValue(aName, CBool(convertValue))
|
||||
ElseIf _dbl Then
|
||||
oDocument.SetVariableValue(aName, CDbl(convertValue))
|
||||
Else
|
||||
oDocument.SetVariableValue(aName, convertValue)
|
||||
End If
|
||||
LOGGER.Debug("Index '" & aName & "' wurde geschrieben", False)
|
||||
Else
|
||||
LOGGER.Info(" >> Kein Indexwert vorhanden", False)
|
||||
End If
|
||||
Else
|
||||
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
|
||||
LOGGER.Debug("VEKTORFELD: Vorbereiten des Arrays", False)
|
||||
Dim myArray()
|
||||
'Dim anz As Integer = 0
|
||||
'For Each obj In aValues
|
||||
'ReDim Preserve myArray(anz)
|
||||
If IsNotEmpty(aValues(i)) Then
|
||||
Dim _int As Boolean = False
|
||||
Dim _date As Boolean = False
|
||||
Dim _dbl As Boolean = False
|
||||
Dim _bool As Boolean = False
|
||||
'If indexname = "Tournr" Then
|
||||
' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
|
||||
'End If
|
||||
LOGGER.Debug(" ### Indexierung von Index: " & indexname & " ####")
|
||||
'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
|
||||
Dim value = aValues(i)
|
||||
Dim convertValue
|
||||
Dim vektor As Boolean = False
|
||||
'Den Typ des Index-Feldes auslesen
|
||||
'MsgBox(value.GetType.ToString)
|
||||
Select Case vType
|
||||
'Case WMObjectVariableValueTypeUndefined
|
||||
Case WMObjectVariableValueTypeString
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeInteger
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
|
||||
If IsNumeric(value) = False Then
|
||||
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
|
||||
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End If
|
||||
convertValue = CInt(value)
|
||||
_int = True
|
||||
Case WMObjectVariableValueTypeInteger64bit
|
||||
LOGGER.Debug("Typ des windream-Indexes: Integer64bit")
|
||||
If IsNumeric(value) = False Then
|
||||
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
|
||||
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End If
|
||||
convertValue = CInt(value)
|
||||
_int = True
|
||||
Case WMObjectVariableValueTypeFloat
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
|
||||
Try
|
||||
convertValue = CDbl(value)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Case WMObjectVariableValueTypeFixedPoint
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
|
||||
Try
|
||||
convertValue = CDbl(value)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
End Try
|
||||
|
||||
_dbl = True
|
||||
Case WMObjectVariableValueTypeBoolean
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
|
||||
convertValue = CBool(value)
|
||||
_bool = True
|
||||
Case WMObjectVariableValueTypeDate
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
|
||||
_date = True
|
||||
'Dim _date As Date = value
|
||||
convertValue = value
|
||||
Case WMObjectVariableValueTypeTimeStamp
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
|
||||
convertValue = CInt(value)
|
||||
Case WMObjectVariableValueTypeCurrency
|
||||
LOGGER.Info(" >> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
|
||||
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
|
||||
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
|
||||
convertValue = aValueWrapper
|
||||
Case WMObjectVariableValueTypeTime
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTime", False)
|
||||
'If ((value)) Then
|
||||
' convertValue = CDate(value)
|
||||
'Else
|
||||
' convertValue = ""
|
||||
'End If
|
||||
'Dim _date As Date = value
|
||||
convertValue = convertValue '*_date.ToShortTimeString
|
||||
Case WMObjectVariableValueTypeFloat
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False)
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeVariant
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeVariant", False)
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeFulltext
|
||||
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext", False)
|
||||
convertValue = CStr(value)
|
||||
Case 4100
|
||||
'Vektortyp Boolean
|
||||
'Umwandeln in Boolean
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
Select Case obj.ToString.ToLower
|
||||
Case "falsch"
|
||||
obj = False
|
||||
Case "wahr"
|
||||
obj = True
|
||||
Case "nein"
|
||||
obj = False
|
||||
Case "ja"
|
||||
obj = True
|
||||
End Select
|
||||
myArray(i1) = CBool(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4100 Vektor Boolean", False)
|
||||
vektor = True
|
||||
Case 4101
|
||||
'Vektortyp Date
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CDate(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4101 Vektor Date", False)
|
||||
vektor = True
|
||||
Case 4104
|
||||
'Vektortyp Currency
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(obj))
|
||||
myArray(i1) = aValueWrapper
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4104 Vektor Currency", False)
|
||||
vektor = True
|
||||
Case 4097
|
||||
'Vektortyp ALPHANUMERISCH
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CStr(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4097 Vektor alphanumerisch", False)
|
||||
vektor = True
|
||||
Case 4098
|
||||
'Umwandeln in Integer
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CInt(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4098 Vektor Numerisch", False)
|
||||
vektor = True
|
||||
Case 4099
|
||||
'Umwandeln in Double
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
Dim Str As String = obj
|
||||
myArray(i1) = CDbl(Str.Replace(".", ","))
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
|
||||
LOGGER.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl", False)
|
||||
vektor = True
|
||||
Case 36865
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CStr(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
LOGGER.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch", False)
|
||||
vektor = True
|
||||
Case Else
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CStr(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
LOGGER.Debug("Typ des windream-Indexes konnte nicht bestimmt werden!", False)
|
||||
LOGGER.Debug("Versuch des Auslesens (vType): " & vType)
|
||||
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
|
||||
convertValue = ""
|
||||
End Select
|
||||
If vektor = False Then
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
LOGGER.Debug("Konvertierter Wert: '" & convertValue.ToString & "'", False)
|
||||
End If
|
||||
End If
|
||||
'############################################################################################
|
||||
'####################### Der eigentliche Indexierungsvorgang ################################
|
||||
'############################################################################################
|
||||
If vektor = False Then
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
Try
|
||||
LOGGER.Debug("Jetzt indexieren: oDocument.SetVariableValue(" & aName & ", " & convertValue.ToString & ")", False)
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info(" >> Unexpected Error in Logging SetVariableValue for " & aName & ": " & ex.Message, False)
|
||||
End Try
|
||||
|
||||
'Jetzt die Nachindexierung für Vektor-Felder
|
||||
oDocument.SetVariableValue(aName, myArray)
|
||||
LOGGER.Debug("'SetVariableValue' für VEKTOR erfolgreich", False)
|
||||
'Dim ArrValues()
|
||||
'ReDim ArrValues(0)
|
||||
'ArrValues(0) = convertValue
|
||||
'Dim ArrName()
|
||||
'ReDim ArrName(0)
|
||||
'ArrName(0) = "Tournr"
|
||||
'oDocument.SetValues(ArrName, ArrValues)
|
||||
If _int = True Then
|
||||
oDocument.SetVariableValue(aName, CInt(convertValue))
|
||||
ElseIf _date = True Then
|
||||
oDocument.SetVariableValue(aName, CDate(convertValue))
|
||||
ElseIf _bool Then
|
||||
oDocument.SetVariableValue(aName, CBool(convertValue))
|
||||
ElseIf _dbl Then
|
||||
oDocument.SetVariableValue(aName, CDbl(convertValue))
|
||||
Else
|
||||
oDocument.SetVariableValue(aName, convertValue)
|
||||
End If
|
||||
LOGGER.Debug("Index '" & aName & "' wurde geschrieben", False)
|
||||
Else
|
||||
LOGGER.Info(" >> Kein Indexwert vorhanden", False)
|
||||
End If
|
||||
Else
|
||||
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
|
||||
LOGGER.Debug("VEKTORFELD: Vorbereiten des Arrays", False)
|
||||
Dim myArray()
|
||||
'Dim anz As Integer = 0
|
||||
'For Each obj In aValues
|
||||
'ReDim Preserve myArray(anz)
|
||||
Select Case vType
|
||||
Case 4100
|
||||
'Vektortyp Boolean
|
||||
'Umwandeln in Boolean
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
Select Case obj.ToString.ToLower
|
||||
Case "falsch"
|
||||
obj = False
|
||||
Case "wahr"
|
||||
obj = True
|
||||
Case "nein"
|
||||
obj = False
|
||||
Case "ja"
|
||||
obj = True
|
||||
End Select
|
||||
myArray(i1) = CBool(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4101
|
||||
'Vektortyp Date
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CDate(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4104
|
||||
'Vektortyp Currency
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(obj))
|
||||
myArray(i1) = aValueWrapper
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4097
|
||||
'Vektortyp ALPHANUMERISCH
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CStr(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
|
||||
Case 4098
|
||||
'Umwandeln in Integer
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CInt(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4099
|
||||
'Umwandeln in Double
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
Dim Str As String = obj
|
||||
myArray(i1) = CDbl(Str.Replace(".", ","))
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
|
||||
Case 36865
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CStr(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case Else
|
||||
'Umwandeln in String
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(aValues.Length - 1)
|
||||
Dim i1 As Integer = 0
|
||||
'Das Array durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each obj In aValues
|
||||
myArray(i1) = CStr(obj)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
End Select
|
||||
|
||||
LOGGER.Debug("Wert für Index vor Indexierung: [{0}]", myArray)
|
||||
|
||||
'Jetzt die Nachindexierung für Vektor-Felder
|
||||
oDocument.SetVariableValue(aName, myArray)
|
||||
LOGGER.Debug("'SetVariableValue' für VEKTOR erfolgreich", False)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
i += 1
|
||||
i += 1
|
||||
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
|
||||
' oDocument.LockRights()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user