Skip to content

VBMAN.Formater - Formatting Tool Object ​

Overview ​

VBMAN.Formater provides various data formatting functions, including number, date, file size, and other formatting displays.

Usage: Use through chain calling Data(Value).ReturnXXX() method.

Core Features ​

  • Number Formatting: Currency, percentage, thousands separator, Roman numerals
  • Date Formatting: Multiple date/time formats, relative time
  • File Size: Automatic conversion to B/KB/MB/GB/TB/PB
  • Text Formatting: Alignment, padding, truncation, naming style conversion
  • Mask Formatting: Phone number, ID card, email desensitization
  • Encoding Conversion: HTML encoding, URL encoding, Base64, hexadecimal

Methods ​

Data ​

Set data source, returns Me to support chain calling (entry method)

vb
Public Function Data(ByVal Source As Variant) As cFormater

File Size Formatting ​

ReturnFileSize ​

Return formatted file size string (B/KB/MB/GB/TB/PB)

vb
Public Function ReturnFileSize(Optional ByVal DecimalPlaces As Long = 2, Optional ByVal ForceUnit As String = "") As String

Time Formatting ​

ReturnTimeAgo ​

Return relative time description (just now, 5 seconds ago, 3 minutes ago, etc.)

vb
Public Function ReturnTimeAgo() As String

ReturnDateTime ​

Return formatted date and time

vb
Public Function ReturnDateTime(Optional ByVal FormatStr As String = "yyyy-MM-dd HH:mm:ss") As String

ReturnShortDate ​

Return date (short format yyyy-MM-dd)

vb
Public Function ReturnShortDate() As String

ReturnShortTime ​

Return time (short format HH:mm:ss)

vb
Public Function ReturnShortTime() As String

Number Formatting ​

ReturnNumber ​

Return formatted number (thousands separator)

vb
Public Function ReturnNumber(Optional ByVal DecimalPlaces As Long = 0) As String

ReturnCurrency ​

Return currency format

vb
Public Function ReturnCurrency(Optional ByVal Symbol As String = "$") As String

ReturnPercent ​

Return percentage

vb
Public Function ReturnPercent(Optional ByVal DecimalPlaces As Long = 0) As String

ReturnRoman ​

Return Roman numeral (supports 1-3999)

vb
Public Function ReturnRoman() As String

Text Formatting ​

ReturnTruncate ​

Return text with limited length, show ellipsis if too long

vb
Public Function ReturnTruncate(ByVal MaxLength As Long, Optional ByVal Suffix As String = "...") As String

ReturnPadLeft ​

Return left-padded text

vb
Public Function ReturnPadLeft(ByVal TotalWidth As Long, Optional ByVal PadChar As String = " ") As String

ReturnPadRight ​

Return right-padded text

vb
Public Function ReturnPadRight(ByVal TotalWidth As Long, Optional ByVal PadChar As String = " ") As String

ReturnProperCase ​

Return proper case (first letter capitalized)

vb
Public Function ReturnProperCase() As String

ReturnCamelCase ​

Return camelCase (helloWorldExample)

vb
Public Function ReturnCamelCase() As String

ReturnPascalCase ​

Return PascalCase (HelloWorldExample)

vb
Public Function ReturnPascalCase() As String

ReturnSnakeCase ​

Return snake_case (hello_world_example)

vb
Public Function ReturnSnakeCase() As String

ReturnKebabCase ​

Return kebab-case (hello-world-example)

vb
Public Function ReturnKebabCase() As String

ReturnHtmlEncode ​

Return HTML escaped text

vb
Public Function ReturnHtmlEncode() As String

ReturnUrlEncode ​

Return URL encoded text

vb
Public Function ReturnUrlEncode() As String

Mask Formatting ​

ReturnMaskedPhone ​

Return phone number mask (138****8888)

vb
Public Function ReturnMaskedPhone() As String

ReturnMaskedIDCard ​

Return ID card mask (110101********1234)

vb
Public Function ReturnMaskedIDCard() As String

ReturnMaskedEmail ​

Return email mask (a***@gmail.com)

vb
Public Function ReturnMaskedEmail() As String

Other Formatting ​

ReturnHex ​

Return hexadecimal string

vb
Public Function ReturnHex() As String

ReturnBase64 ​

Return Base64 encoding

vb
Public Function ReturnBase64() As String

ReturnBooleanText ​

Return friendly text for boolean value

vb
Public Function ReturnBooleanText(Optional ByVal TrueText As String = "Yes", Optional ByVal FalseText As String = "No") As String

ReturnFileName ​

Return filename (with extension)

vb
Public Function ReturnFileName() As String

ReturnFileNameWithoutExt ​

Return filename (without extension)

vb
Public Function ReturnFileNameWithoutExt() As String

ReturnFileExt ​

Return file extension

vb
Public Function ReturnFileExt() As String

ReturnFilePath ​

Return file path (without filename)

vb
Public Function ReturnFilePath() As String

Comprehensive Examples ​

Example 1: Basic Formatting ​

vb
Private Sub BasicFormat()
    ' Currency display
    Dim price As Currency
    price = 1234567.89
    LabelPrice.Caption = VBMAN.Formater.Data(price).ReturnCurrency("$")
    ' Result: $1,234,567.89
    
    ' File size
    Dim fileSize As Currency
    fileSize = 1536000000
    LabelSize.Caption = VBMAN.Formater.Data(fileSize).ReturnFileSize()
    ' Result: 1.43 GB
    
    ' Percentage
    Dim rate As Double
    rate = 0.8567
    LabelRate.Caption = VBMAN.Formater.Data(rate).ReturnPercent(2)
    ' Result: 85.67%
    
    ' Relative time
    Dim postTime As Date
    postTime = DateAdd("h", -2, Now)
    LabelTime.Caption = VBMAN.Formater.Data(postTime).ReturnTimeAgo()
    ' Result: 2 hours ago
End Sub

Example 2: Text Formatting ​

vb
Private Sub TextFormat()
    Dim text As String
    text = "hello world example"
    
    ' CamelCase
    Debug.Print VBMAN.Formater.Data(text).ReturnCamelCase()
    ' Result: helloWorldExample
    
    ' PascalCase
    Debug.Print VBMAN.Formater.Data(text).ReturnPascalCase()
    ' Result: HelloWorldExample
    
    ' Truncate text
    Debug.Print VBMAN.Formater.Data("This is a very long text").ReturnTruncate(6)
    ' Result: This i...
    
    ' Left pad
    Debug.Print VBMAN.Formater.Data("123").ReturnPadLeft(6, "0")
    ' Result: 000123
End Sub

Example 3: Data Desensitization ​

vb
Private Sub MaskSensitiveData()
    ' Phone number mask
    Debug.Print VBMAN.Formater.Data("13812345678").ReturnMaskedPhone()
    ' Result: 138****5678
    
    ' ID card mask
    Debug.Print VBMAN.Formater.Data("110101199001011234").ReturnMaskedIDCard()
    ' Result: 110101********1234
    
    ' Email mask
    Debug.Print VBMAN.Formater.Data("admin@gmail.com").ReturnMaskedEmail()
    ' Result: a***@gmail.com
End Sub

Example 4: List Formatting Display ​

vb
Private Sub FormatListView()
    Dim li As ListItem
    For Each li In ListView1.ListItems
        ' Format amount column
        li.SubItems(2) = VBMAN.Formater.Data(li.SubItems(2)).ReturnCurrency()
        
        ' Format date column
        li.SubItems(3) = VBMAN.Formater.Data(CDate(li.SubItems(3))).ReturnShortDate()
        
        ' Format file size column
        li.SubItems(4) = VBMAN.Formater.Data(li.SubItems(4)).ReturnFileSize()
    Next li
End Sub

Best Practices ​

  1. Chain Calling: Use Data(Value).ReturnXXX() to keep code concise
  2. Type Checking: Ensure data type is correct before formatting, wrong types return default values
  3. Localization: Use appropriate currency symbols and date formats based on user region
  4. Consistency: Use the same formatting method for the same type of data

VB6 and LOGO copyright of Microsoft Corporation