This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
vba:cast:cvalue [05.12.2014 14:17:21] yaslaw |
vba:cast:cvalue [19.10.2015 12:37:18] yaslaw |
||
---|---|---|---|
Line 1: | Line 1: | ||
<const> | <const> | ||
- | version=1.0.0 | + | version=1.3.0 |
- | vdate=05.12.2014 | + | vdate=19.10.2015 |
fname=cast_cvalue.bas | fname=cast_cvalue.bas | ||
ns=%NAMESPACE% | ns=%NAMESPACE% | ||
Line 9: | Line 9: | ||
====== [VBA] cValue(), cV() ====== | ====== [VBA] cValue(), cV() ====== | ||
- | ==Version %%version%% - %%vdate%%== | + | //cValue versucht einen String in ein Nativetyp zu casten.// |
- | cValue versucht einen String in ein Nativetyp zu casten. Die Funktion wird zum Beispiel in [[vba:cast:cdict]] verwendet. | + | ==Version %%version%% - %%vdate%%== |
+ | Die Funktion wird zum Beispiel in [[vba:cast:cdict]] verwendet. | ||
{{%%fname%%|Download %%fname%% (V-%%version%%)}} | {{%%fname%%|Download %%fname%% (V-%%version%%)}} | ||
Line 159: | Line 160: | ||
<code vb>'/** | <code vb>'/** | ||
' * Dies ist die Minimalversion von cValue (V1.0.0): http://wiki.yaslaw.info/dokuwiki/doku.php/vba/cast/cvalue | ' * Dies ist die Minimalversion von cValue (V1.0.0): http://wiki.yaslaw.info/dokuwiki/doku.php/vba/cast/cvalue | ||
- | ' * Der 2te Paramtersteuert das Null-Verhalten('seb'): n: Der Text Null ohne Delemiter wird als Wert Null intepretiert, e: Ein leerer String wird als Null intepretiert, b: Boolean-Text wird als Boolean intepretiert | + | ' * Der 2te Paramtersteuert das Null-Verhalten('seb'): |
+ | ' * n: Der Text Null ohne Delemiter wird als Wert Null intepretiert, | ||
+ | ' * e: Ein leerer String wird als Null intepretiert, | ||
+ | ' * b: Boolean-Text wird als Boolean intepretiert | ||
+ | ' * d: Bei Delemited Strings den Delemiter entfernen. ' oder " gelten als Delemiter | ||
' */ | ' */ | ||
Public Function cV(ByVal iValue As Variant, Optional ByVal iFlags As String) As Variant | Public Function cV(ByVal iValue As Variant, Optional ByVal iFlags As String) As Variant | ||
Line 175: | Line 180: | ||
If rxDa Is Nothing Then Set rxDa = CreateObject("VBScript.RegExp"): rxDa.pattern = "^#(.*)#$" | If rxDa Is Nothing Then Set rxDa = CreateObject("VBScript.RegExp"): rxDa.pattern = "^#(.*)#$" | ||
If rxDa.Test(str) Then cV = CDate(rxDa.execute(str)(0).subMatches(0)): Exit Function | If rxDa.Test(str) Then cV = CDate(rxDa.execute(str)(0).subMatches(0)): Exit Function | ||
- | If rsDs Is Nothing Then Set rsDs = CreateObject("VBScript.RegExp"): rsDs.pattern = "^([""'])(.*)\1$" | + | If InStr(flg, "D") Then |
- | If rsDs.Test(str) Then Set sm = rsDs.execute(str)(0).subMatches: cV = Replace(sm(1), "\" & sm(0), sm(0)): Exit Function | + | If rsDs Is Nothing Then Set rsDs = CreateObject("VBScript.RegExp"): rsDs.pattern = "^([""'])(.*)\1$" |
+ | If rsDs.Test(str) Then Set sm = rsDs.execute(str)(0).subMatches: cV = Replace(sm(1), "\" & sm(0), sm(0)): Exit Function | ||
+ | End If | ||
cV = iValue | cV = iValue | ||
- | End Function</code> | + | End Function |
+ | </code> |