dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: VB6,VBS
Expertise: Intermediate
Mar 18, 2000

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


GetShortenedFileName - Make a filename shorter using ellipses

' return a file path not longer than the number of character
' specified in the 2nd argument
'
' If necessary, it replaces directory names with ellipsises
'
' Author: Fred Block
'         CuzWare Systems
'         E-mail: fblock@cuzware.com
'         Web Site: http://www.cuzware.com

Function GetShortenedFileName(ByVal strFilePath As String, _
    ByVal maxLength As Long) As String
    Dim astrTemp() As String
    Dim lngCount As Long
    Dim strTemp As String
    Dim index As Long
    
    ' if the path is shorter than the max allowed length, just return it
    If Len(strFilePath) <= maxLength Then
        GetShortenedFileName = strFilePath
    Else
        ' split the path in its constituent dirs
        astrTemp() = Split(strFilePath, "\")
        lngCount = UBound(astrTemp)
        
        ' lets replace each part with ellipsis, until the length is OK
        ' but never substitute drive and file name
        For index = 1 To lngCount - 1
            astrTemp(index) = "..."
            ' rebuild the result
            GetShortenedFileName = Join(astrTemp, "\")
            If Len(GetShortenedFileName) <= maxLength Then Exit For
        Next
    End If
    
End Function
Fred Block
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date