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(pIndexType As Integer, pValue As String) Dim myArray ReDim myArray(0) Select Case pIndexType Case INDEX_TYPE_HASH ' 36865 'Umwandeln in String myArray(0) = CStr(pValue) Return myArray Case INDEX_TYPE_VECTOR_STRING '4097 'Umwandeln in String myArray(0) = CStr(pValue) Return myArray Case INDEX_TYPE_VECTOR_INTEGER '4098 'Umwandeln in Integer myArray(0) = CInt(pValue.Replace(" ", "")) Return myArray Case INDEX_TYPE_VECTOR_FLOAT '4099 pValue = pValue. Replace(" ", ""). Replace(".", ",") 'Umwandeln in Double myArray(0) = CDbl(pValue) Return myArray Case INDEX_TYPE_VECTOR_BOOLEAN '4100 'Umwandeln in Boolean myArray(0) = CBool(pValue) Return myArray Case INDEX_TYPE_VECTOR_DATE '4101 'Umwandeln in Date myArray(0) = CDate(pValue) Return myArray Case INDEX_TYPE_VECTOR_INTEGER_64BIT '4107 myArray(0) = Convert.ToInt64(pValue) Return myArray Case INDEX_TYPE_VECTOR_DATE_TIME '4103 'Umwandeln in Datum Uhrzeit Return pValue Case 8204 'Umwandeln in Integer myArray(0) = CInt(pValue.Replace(" ", "")) Return myArray Case Else 'Umwandeln in String myArray(0) = CStr(pValue) Return myArray End Select End Function Friend Shared Function ConvertIndexValue(Type As Integer, pValue As String) As Object ' Leerzeichen an Anfang und Ende entfernen pValue = pValue.Trim() Select Case Type Case INDEX_TYPE_HASH Return pValue Case INDEX_TYPE_STRING Return pValue Case INDEX_TYPE_VECTOR_STRING Return pValue Case INDEX_TYPE_INTEGER pValue = pValue.Replace(" ", String.Empty) Return Convert.ToInt32(pValue) Case INDEX_TYPE_VECTOR_INTEGER pValue = pValue.Replace(" ", String.Empty) Return Convert.ToInt32(pValue) Case INDEX_TYPE_VECTOR_INTEGER_64BIT pValue = pValue.Replace(" ", String.Empty) Return Convert.ToInt64(pValue) Case INDEX_TYPE_VECTOR_BOOLEAN Return Convert.ToBoolean(pValue) Case INDEX_TYPE_BOOLEAN Return Convert.ToBoolean(pValue) Case INDEX_TYPE_DATE Return Convert.ToDateTime(pValue) Case INDEX_TYPE_DATE_TIME Return Convert.ToDateTime(pValue) Case INDEX_TYPE_TIME Return Convert.ToDateTime(pValue) Case INDEX_TYPE_VECTOR_DATE_TIME Return Convert.ToDateTime(pValue) Case INDEX_TYPE_VECTOR_DATE Return Convert.ToDateTime(pValue) Case INDEX_TYPE_FLOAT Return Convert.ToDouble(pValue) Case INDEX_TYPE_VECTOR_FLOAT Return Convert.ToDouble(pValue) Case INDEX_TYPE_CURRENCY 'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(pValue)) Return aValueWrapper Case Else Return pValue End Select End Function Friend Shared Function IsVectorIndex(indexType As Integer) Return VectorIndicies.Contains(indexType) End Function End Class