vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Variablen/Strings · Sonstiges   |   VB-Versionen: VB4, VB5, VB619.05.01
Sichere Datentyp-Umwandlung

Mit Hilfe dieser Routine lassen sich Fehler bei einer Typenumwandlung vermeiden.

Autor:   Torsten KerzBewertung:     [ Jetzt bewerten ]Views:  16.104 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Mit den folgenden Routinen lassen sich Umwandlungsfehler effektiv vermeiden. Dies ist sowohl beim Auslesen von Einstellungen mittels GetSettings, als auch beim Auslesen von Datenbankfeldern sehr nützlich.

Über den optionalen Default-Parameter kann ein Vorgabewert angegeben werden, der im Fehlerfalle verwendet werden soll.

Sicher könnten Sie jetzt sagen: Visual-Basic liefert doch von Haus aus entsprechende Typen-Umwandlungsfunktionen, wie CStr, CLng, usw.

Aber: Wenden Sie die CStr-Funktion einmal an, wenn die der Funktion übergebeenen Variable den Inhalt NULL hat. In diesem und andern Fällen erhalten Sie stets einen Laufzeitfehler...

' Variable in Datentyp "String" umwandeln
Public Function V2Str(vTemp As Variant, _
  Optional Default As String) As String
 
  On Error Resume Next
  V2Str = CStr(vTemp)
  If Err.Number Then 
    Err.Clear
    V2Str = Default
  End If
End Function
 
' Variable in Datentyp "Boolean" umwandeln
Public Function V2Bool(Value As Variant, _
  Optional Default As Boolean) As Boolean
 
  On Local Error Resume Next
  V2Bool = CBool(Value)
  If Err.Number Then 
    Err.Clear
    V2Bool = Default
  End If
End Function
 
' Variable in Datentyp "Byte" umwandeln
Public Function V2Byte(Value As Variant, _
  Optional Default As Byte) As Byte
 
  On Local Error Resume Next
  V2Byte = CByte(Value)
  If Err.Number Then 
    Err.Clear
    V2Byte = Default
  End If
End Function
 
' Variable in Datentyp "Integer" umwandeln
Public Function V2Int(Value As Variant, _
  Optional Default As Integer) As Integer
 
  On Local Error Resume Next
  V2Int = CInt(Value)
  If Err.Number Then
    Err.Clear
    V2Int = Default
  End If
End Function
 
' Variable in Datentyp "Long" umwandeln
Public Function V2Lng(Value As Variant, _
  Optional Default As Long) As Long
 
  On Local Error Resume Next
  V2Lng = CLng(Value)
  If Err.Number Then 
    Err.Clear
    V2Lng = Default
  End If
End Function
 
' Variable in Datentyp "Single" umwandeln
Public Function V2Sng(Value As Variant, _
  Optional Default As Single) As Single
 
  On Local Error Resume Next
  V2Sng = CSng(Value)
  If Err.Number Then
    Err.Clear
    V2Sng = Default
  End If
End Function
 
' Variable in Datentyp "Double" umwandeln
Public Function V2Dbl(Value As Variant, _
  Optional Default As Double) As Double
 
  On Local Error Resume Next
  V2Dbl = CDbl(Value)
  If Err.Number Then
    Err.Clear
    V2Dbl = Default
  End If
End Function
 
' Variable in Datentyp "Decimal" umwandeln
Public Function V2Dec(Value As Variant) As Variant
  On Local Error Resume Next
  V2Dec = CDec(Value)
  If Err.Number Then
    Err.Clear
    V2Dec = CDec(0)
  End If
End Function
 
' Variable in Datentyp "Currency" umwandeln
Public Function V2Cur(Value As Variant, _
  Optional Default As Currency) As Currency
 
  On Local Error Resume Next
  V2Cur = CCur(Value)
  If Err.Number Then 
    Err.Clear
    V2Cur = Default
  End If
End Function
 
' Variable in Datentyp "Date" umwandeln
Public Function V2Date(Value As Variant, _
  Optional Default As Date) As Date
 
  On Local Error Resume Next
  V2Date = CDate(Value)
  If Err.Number Then
    Err.Clear
    V2Date = Default
  End If
End Function

Anwendungsbeispiel:

Dim sName as String
Dim Rs as Recordset
 
' Datenbankinitialisierung
...
sName = V2Str(Rs.Fields("Vorname").Value, "")
 
' oder
sName = V2Str(Rs.Fields("Vorname").Value, "keine Angabe")

Dieser Tipp wurde bereits 16.104 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2019 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel