113 lines
4.1 KiB
VB.net
113 lines
4.1 KiB
VB.net
Imports System.Text.RegularExpressions
|
|
Imports DigitalData.Modules.Windream.Constants
|
|
|
|
Public Class Helpers
|
|
Private Shared ReadOnly VectorIndicies As New List(Of Integer) From {
|
|
INDEX_TYPE_VECTOR_BOOLEAN,
|
|
INDEX_TYPE_VECTOR_CURRENCY,
|
|
INDEX_TYPE_VECTOR_DATE,
|
|
INDEX_TYPE_VECTOR_DATE_TIME,
|
|
INDEX_TYPE_VECTOR_FIXED_POINT,
|
|
INDEX_TYPE_VECTOR_FLOAT,
|
|
INDEX_TYPE_VECTOR_INTEGER,
|
|
INDEX_TYPE_VECTOR_INTEGER_64BIT,
|
|
INDEX_TYPE_VECTOR_STRING,
|
|
INDEX_TYPE_VECTOR_TIME
|
|
}
|
|
|
|
Friend Shared Function ConvertVectorType(vType As Object, value As String)
|
|
Dim myArray
|
|
ReDim myArray(0)
|
|
Select Case vType
|
|
Case INDEX_TYPE_HASH ' 36865
|
|
'Umwandeln in String
|
|
myArray(0) = CStr(value)
|
|
Return myArray
|
|
Case INDEX_TYPE_VECTOR_STRING '4097
|
|
'Umwandeln in String
|
|
myArray(0) = CStr(value)
|
|
Return myArray
|
|
Case INDEX_TYPE_VECTOR_INTEGER '4098
|
|
'Umwandeln in Integer
|
|
myArray(0) = CInt(value.Replace(" ", ""))
|
|
Return myArray
|
|
Case INDEX_TYPE_VECTOR_FLOAT '4099
|
|
value = value.
|
|
Replace(" ", "").
|
|
Replace(".", ",")
|
|
'Umwandeln in Double
|
|
myArray(0) = CDbl(value)
|
|
Return myArray
|
|
Case INDEX_TYPE_VECTOR_BOOLEAN '4100
|
|
'Umwandeln in Boolean
|
|
myArray(0) = CBool(value)
|
|
Return myArray
|
|
Case INDEX_TYPE_VECTOR_DATE '4101
|
|
'Umwandeln in Date
|
|
myArray(0) = CDate(value)
|
|
Return myArray
|
|
Case INDEX_TYPE_VECTOR_INTEGER_64BIT '4107
|
|
myArray(0) = Convert.ToInt64(value)
|
|
Return myArray
|
|
Case INDEX_TYPE_VECTOR_DATE_TIME '4103
|
|
'Umwandeln in Datum Uhrzeit
|
|
Return value
|
|
Case 8204
|
|
'Umwandeln in Integer
|
|
myArray(0) = CInt(value.Replace(" ", ""))
|
|
Return myArray
|
|
Case Else
|
|
'Umwandeln in String
|
|
myArray(0) = CStr(value)
|
|
Return myArray
|
|
End Select
|
|
End Function
|
|
|
|
Friend Shared Function ConvertIndexValue(Type As Integer, Value As String) As Object
|
|
' Leerzeichen an Anfang und Ende entfernen
|
|
Value = Value.Trim()
|
|
|
|
Select Case Type
|
|
Case INDEX_TYPE_HASH
|
|
Return Value
|
|
Case INDEX_TYPE_STRING
|
|
Return Value
|
|
Case INDEX_TYPE_VECTOR_STRING
|
|
Return Value
|
|
Case INDEX_TYPE_INTEGER
|
|
Value = Value.Replace(" ", String.Empty)
|
|
Return Convert.ToInt16(Value)
|
|
Case INDEX_TYPE_VECTOR_INTEGER
|
|
Value = Value.Replace(" ", String.Empty)
|
|
Return Convert.ToInt16(Value)
|
|
Case INDEX_TYPE_VECTOR_INTEGER_64BIT
|
|
Value = Value.Replace(" ", String.Empty)
|
|
Return Convert.ToInt64(Value)
|
|
Case INDEX_TYPE_VECTOR_BOOLEAN
|
|
Return Convert.ToBoolean(Value)
|
|
Case INDEX_TYPE_BOOLEAN
|
|
Return Convert.ToBoolean(Value)
|
|
Case INDEX_TYPE_DATE
|
|
Return Convert.ToDateTime(Value)
|
|
Case INDEX_TYPE_DATE_TIME
|
|
Return Convert.ToDateTime(Value)
|
|
Case INDEX_TYPE_TIME
|
|
Return Convert.ToDateTime(Value)
|
|
Case INDEX_TYPE_VECTOR_DATE_TIME
|
|
Return Convert.ToDateTime(Value)
|
|
Case INDEX_TYPE_VECTOR_DATE
|
|
Return Convert.ToDateTime(Value)
|
|
Case INDEX_TYPE_FLOAT
|
|
Return Convert.ToDouble(Value)
|
|
Case INDEX_TYPE_VECTOR_FLOAT
|
|
Return Convert.ToDouble(Value)
|
|
Case Else
|
|
Return Value
|
|
End Select
|
|
End Function
|
|
|
|
Friend Shared Function IsVectorIndex(indexType As Integer)
|
|
Return VectorIndicies.Contains(indexType)
|
|
End Function
|
|
End Class
|