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