User Tools

Site Tools


vba:cast:readablename

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
vba:cast:readablename [31.08.2015 11:19:20]
yaslaw vba:functions:readablename renamed to vba:cast:readablename
vba:cast:readablename [31.08.2015 11:27:26]
yaslaw
Line 1: Line 1:
 +<​const>​
 +    version=1.1.0
 +    vdate=28.01.2015
 +    fname=cast_readableName.bas
 +    ns=%NAMESPACE%
 +    fpath=/​vba/​cast
 +</​const>​
 ====== [VBA] readableName() ====== ====== [VBA] readableName() ======
-Diese Funktion erstellt aus einem technischen Namen ein halbwegs lesbarer Namen. ​Ich verwende die Funktion häufig um automatisch generierte Reports mit besser lesbaren Titeln zu versehen. +//Diese Funktion erstellt aus einem technischen Namen ein halbwegs lesbarer Namen.//
-Insofern ist die Funktion das Gegenpart von [[vba:​functions:​techname]].+
  
-{{:​vba:​functions:​udf_readablename.bas|Download ​udf_readablename.bas}}+==Version %%version%% - %%vdate%%== 
 +{{%%fname%%|Download ​%%fname%% (V-%%version%%)}} 
 + 
 +>Siehe auch [[vba:​cast:​techname]]
  
 ===== Definition ===== ===== Definition =====
Line 27: Line 36:
  
 ===== Code ===== ===== Code =====
-<code vb udf_readableName.bas>​'------------------------------------------------------------------------------- +<source ​'%%fpath%%/%%fname%%' ​vb>
-'​File ​        : udf_readableName.bas +
-' ​              ​Copyright mpl by ERB software +
-' ​              All rights reserved +
-' ​              http://​wiki.yaslaw.info/​dokuwiki/​doku.php/​vba/​cast/​strtodate +
-'Environment ​ : VBA 2007 + +
-'​Version ​     : 1.0.1 +
-'​Name ​        : readableName +
-'​Author ​      : Stefan Erb (ERS) +
-'​History ​     : 17.06.2014 - ERS - Creation +
-' ​              ​08.07.2014 - ERS - kleinere Korrekturen +
-'​------------------------------------------------------------------------------- +
-Option Explicit +
- +
-Public Enum rnTechNameType +
-    rnUnderline ​    '​Die Wörter sind beim technischen Namen mit Unterstriche getrennt. FOO_BAR -> Foo Bar +
-    rnCamelCase ​    '​Die Wörter sind mit CamelCase getrennt. FooBar -> Foo Bar +
-    rnAutomaitc ​    '​Die Funktion findet selber heraus, welcher Type es ist. Kommt ein : im Text for, ist es rnUnderline,​ ansonsten rnCamelCase +
-End Enum +
- +
-Private rxCacheCamelCase As Object +
- +
-'/** +
-' * Entspricht dem Gegenteil von techName. macht aus Technischen Namen lesbare Namen +
-' * +
-' *     name = readableName(technischer Name [, Type des technischen Namens]) +
-' * +
-' * @param ​ String ​         Der Technische Name +
-' * @param ​ rnTechNameType ​ Art der Worttrennung +
-' * @return String +
-' */ +
-Public Function readableName( _ +
-        ByVal iTechName As String, _ +
-        Optional ByVal iType As rnTechNameType = rnAutomaitc _ +
-) As String +
-    Dim words() As String +
-    Dim idx As Integer +
-    +
-PARSE: +
-    Select Case iType +
-        Case rnAutomaitc +
-            iType = IIf(InStr(iTechName,​ "​_"​) > 0, rnUnderline,​ rnCamelCase) +
-            GoTo PARSE  'Try with the neu type +
-         +
-        Case rnUnderline +
-            words = split(iTechName,​ "​_"​) +
-         +
-        Case rnCamelCase +
-            '​initialize cached regExp +
-            If rxCacheCamelCase Is Nothing Then +
-                Set rxCacheCamelCase = CreateObject("​VBScript.RegExp"​) +
-                rxCacheCamelCase.Global = True +
-                rxCacheCamelCase.pattern = "​([A-Z][a-z_]*|[a-z_]+|[\d_]+)"​ +
-            End If +
-             +
-            If Not rxCacheCamelCase.Test(iTechName) Then +
-                ReDim words(0): words(0) = iTechName +
-            Else +
-                Dim mc As Object: Set mc = rxCacheCamelCase.execute(iTechName) +
-                ReDim words(mc.count - 1): For idx = 0 To mc.count() - 1 +
-                    words(idx) = mc(idx) +
-                Next idx +
-            End If +
-    End Select +
-     +
-    readableName = StrConv(join(words,​ " "), vbProperCase) +
-End Function</​code>+
vba/cast/readablename.txt · Last modified: 31.08.2015 11:27:41 by yaslaw