jj: Write Vector fields \o/
This commit is contained in:
@@ -1427,17 +1427,17 @@ Public Class ClassWindream
|
||||
''' <param name="werte">Der Wert/die Werte die dem Index zugewiesen werden sollen</param>
|
||||
''' <returns>Liefert True wenn das Indexieren erfolgreich war, sonst False</returns>
|
||||
''' <remarks></remarks>
|
||||
Private Shared Function Indexiere(ByVal filenameZiel As String, ByVal index As String, ByVal werte As Object)
|
||||
Public Shared Function Indexiere(ByVal filenameZiel As String, ByVal index As String, ByVal werte As Object) As Boolean
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - In Indexierungsvorgang für: " & filenameZiel, False)
|
||||
Try
|
||||
Dim WMObject As WINDREAMLib.WMObject = Nothing '= CreateObject("WINDREAMLib.WMObject") '= New WINDREAMLib.WMObject 'CreateObject("WINDREAMLib.WMObject")
|
||||
'MsgBox("Indexiere: " & vbNewLine & filenameZiel)
|
||||
'werte Is Nothing Or _
|
||||
' überprüfen ob alle notwendigen Informationen angegeben wurden (sonst abbrechen)
|
||||
If filenameZiel Is Nothing Or _
|
||||
filenameZiel = "" Or _
|
||||
index Is Nothing Or _
|
||||
index = "" Or _
|
||||
If filenameZiel Is Nothing Or
|
||||
filenameZiel = "" Or
|
||||
index Is Nothing Or
|
||||
index = "" Or
|
||||
Not ExistIndexInObjekttyp(_WDObjekttyp, index) Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("=> Hinweis: Die Datei wurde auf Grund eines Problems in der Initialisierung nicht vollständig indexiert.", False)
|
||||
Return False
|
||||
@@ -1624,23 +1624,36 @@ Public Class ClassWindream
|
||||
' wenn es sich um einen TypVektorIndex handelt
|
||||
If TypDesIndexes >= 4096 And TypDesIndexes < 8192 Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("- Es handelt sich um einen Vektorindex", False)
|
||||
Dim temp_arr As New ArrayList
|
||||
'Dim temp_arr As New ArrayList
|
||||
|
||||
Dim arrayIndex = 0
|
||||
Dim temp_arr As Object
|
||||
Dim arrayLength As Integer = 0
|
||||
For Each element In werte
|
||||
arrayLength = arrayLength + 1
|
||||
Next
|
||||
|
||||
ReDim temp_arr(arrayLength - 1)
|
||||
|
||||
Select Case (TypDesIndexes - WMObjectVariableValueTypeVector)
|
||||
'VektorIndex vom Typ String 64'
|
||||
Case 1
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("- VektorIndex vom Typ String 1", False)
|
||||
|
||||
For Each wert As Object In werte
|
||||
'Führende Nullen Entfernen
|
||||
If werte.ToString.StartsWith("0") Then
|
||||
Dim werteString As String = CStr(CInt(wert.ToString))
|
||||
wert = werteString
|
||||
temp_arr.Add(CStr(wert))
|
||||
temp_arr(arrayIndex) = CStr(wert)
|
||||
ClassLogger.Add("- Führende Nullen wurden entfernt", False)
|
||||
Else
|
||||
temp_arr.Add(CStr(wert))
|
||||
temp_arr(arrayIndex) = CStr(wert)
|
||||
|
||||
End If
|
||||
|
||||
arrayIndex = arrayIndex + 1
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("- Wert " & CStr(wert) & " konvertiert", False)
|
||||
Next
|
||||
Case WMObjectVariableValueTypeUndefined
|
||||
@@ -1652,61 +1665,72 @@ Public Class ClassWindream
|
||||
'Führende Nullen Entfernen
|
||||
If werte.ToString.StartsWith("0") Then
|
||||
wert = CInt(wert)
|
||||
temp_arr.Add(CStr(wert))
|
||||
temp_arr(arrayIndex) = CStr(wert)
|
||||
ClassLogger.Add("- Führende Nullen wurden entfernt", False)
|
||||
Else
|
||||
temp_arr.Add(CStr(wert))
|
||||
temp_arr(arrayIndex) = CStr(wert)
|
||||
End If
|
||||
|
||||
arrayIndex = arrayIndex + 1
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("- Wert " & CStr(wert) & " konvertiert", False)
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeInteger
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("- VektorIndex vom Typ Integer", False)
|
||||
For Each wert As Object In werte
|
||||
temp_arr.Add(CInt(wert))
|
||||
temp_arr(arrayIndex) = CInt(wert)
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeFloat
|
||||
For Each wert As Object In werte
|
||||
wert = wert.ToString.Replace(".", ",")
|
||||
temp_arr.Add(CDbl(wert))
|
||||
temp_arr(arrayIndex) = CDbl(wert)
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeBoolean
|
||||
For Each wert As Object In werte
|
||||
Try
|
||||
temp_arr.Add(CBool(wert))
|
||||
temp_arr(arrayIndex) = CBool(wert)
|
||||
Catch ex As Exception
|
||||
' Nothing zuweisen damit SetVariableValue nicht ausgeführt wird
|
||||
temp_arr = Nothing
|
||||
End Try
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeDate
|
||||
For Each wert As Object In werte
|
||||
'wert =
|
||||
temp_arr.Add(CDate(wert))
|
||||
temp_arr(arrayIndex) = CDate(wert)
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeFixedPoint
|
||||
For Each wert As Object In werte
|
||||
temp_arr.Add(CDbl(wert))
|
||||
temp_arr(arrayIndex) = CDbl(wert)
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeTimeStamp
|
||||
For Each wert As Object In werte
|
||||
temp_arr.Add(CInt(wert))
|
||||
temp_arr(arrayIndex) = CInt(wert)
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeCurrency
|
||||
For Each wert As Object In werte
|
||||
Dim aValue As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(werte)
|
||||
temp_arr.Add(aValue)
|
||||
temp_arr(arrayIndex) = aValue
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeTime
|
||||
For Each wert As Object In werte
|
||||
temp_arr.Add(CDate(wert))
|
||||
temp_arr(arrayIndex) = CDate(wert)
|
||||
arrayIndex = arrayIndex + 1
|
||||
Next
|
||||
|
||||
Case WMObjectVariableValueTypeVariant
|
||||
@@ -1714,13 +1738,8 @@ Public Class ClassWindream
|
||||
|
||||
End Select
|
||||
|
||||
If temp_arr.Count > 0 Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("- Einträge in temp_arr also Speichern des Arrays in convertValue", False)
|
||||
' convertValue = Nothing
|
||||
' convertValue = temp_arr.ToArray
|
||||
Else
|
||||
' convertValue = vbEmpty
|
||||
End If
|
||||
werte = temp_arr
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add("- Werte erfolgreich konvertiert", False)
|
||||
Else
|
||||
' convertValue = vbEmpty
|
||||
@@ -1760,28 +1779,10 @@ Public Class ClassWindream
|
||||
WMObject.unlock()
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - die Sperrung des Dokuments aufheben", False)
|
||||
Catch ex As Exception
|
||||
|
||||
' nichts tun (Datei war nicht gesperrt)
|
||||
End Try
|
||||
|
||||
'Catch ex As Exception
|
||||
' ' auch wenn ein Fehler aufgetreten ist muss das Dokument gespeichert werden, um den Dokumenttypen zu speichern
|
||||
' WMObject.Save()
|
||||
|
||||
' ' Unlock in einem unbehandelten Try-Block um Fehler abzufangen,
|
||||
' ' wenn eine Datei nicht gelocked ist
|
||||
' Try
|
||||
' WMObject.unlock()
|
||||
' Catch ex2 As Exception
|
||||
' ' nichts tun (Datei war nicht gesperrt)
|
||||
' End Try
|
||||
|
||||
|
||||
' ' Nachricht für den TreeView-Log
|
||||
' indexBeschreibung &= "konnte nicht indexiert werden"
|
||||
' ClassLogger.Add(" DATEI konnte nicht indexiert werden", True)
|
||||
'End Try
|
||||
|
||||
|
||||
' die Indexierungsinformationen für den TreeView-Log zurückgeben
|
||||
Return True
|
||||
Else
|
||||
|
||||
Reference in New Issue
Block a user