• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 191
  • Last Modified:

Converting Dir's to \..\..\

If Name = "a111a111a111" Then Exit Sub

Hi,
I would like to do the following,
(real sorry for the points)

How do you convert a string with a file path from this C:\Canada\ONT\Ottawa
to this
..\..\
assuming I wanted to add a Link to Canada while the inital HTML file was saved in Ottawa.

Again, sorry for the points.
0
idcanada
Asked:
idcanada
  • 2
1 Solution
 
jfaylingCommented:
I use a function that I wrote that will split up a a string by a userdefined character.


I would do something like this

dim total as long
dim tmpArray as variant

  total=parsestring(tmpFilePath,"\",tmpArray)

 

  using the example you gave us:
      total = 3
      tmpArray(0)="C:"
      tmpArray(1)="Canada"
      tmpArray(2)="ONT"
      tmpArray(3)="Ottawa"

  notice that the 3 was the number of \ is found!

Good Luck!

Here is the function:

Function ParseString(LookIn As String, Search As String, ByRef ReturnArray As Variant) As Long
'
' Function Name:    ParseString
'
' Author:           JF Software (Jason R. Fayling)
'                   jfayling@glasscity.net
' Date:             1/10/97
'
' Inputs:           LookIn  (STRING)        String to use
'                   Search  (STRING)        What to look for in string
'                   ReturnARRAY (VARIANT)   Any found will be stored here
'
' Outputs:          ParseString (INTEGER)   Number of items in ReturnArray
'                                           starting with zero. If no item
'                                           was found, then returns -1
'
'                   ReturnArray (VARIANT)   Found items from string
'
' Purpose:          ParseString will take a string and seperate it into
'                   user-defined parts.
'                   Example:
'
'                       Dim i as Integer
'                       Dim j as integer
'                       dim Temp as variant
'
'                       i=ParseString("10/24/97","/",Temp)
'
'                       for j=0 to i
'                           msgbox Temp(j)
'                       next j
'
'                   This will display 10 then 24 then 97
'
'
' You are granted royalty free use of this code in your projects.   You may
' remove this comment block in your own projects.   If you intend to redistribute
' this function as part of a library or outside of your own VB project then you
' must leave this block in tact.


Dim X As Long
Dim start As Long
Dim pos As Long
Dim track As Long
ReDim TempHolder(Len(LookIn)) As String


    track = 0
    start = 1
   
    ' Start at the beginning of string and move down until it finds
    ' character it is looking for. Once it finds the character, it
    ' places everything before it and after the last found item into
    ' a new element in an array
   
    Do
        pos = InStr(start, LookIn, Search, vbBinaryCompare)
        If pos > 0 Then
            TempHolder(track) = Mid$(LookIn, start, (pos - start))
            track = track + 1
            start = pos + Len(Search)
        End If
    Loop Until pos = 0
   
    ' Make sure everything has been copied into Temp array
    TempHolder(track) = Mid$(LookIn, start, Len(LookIn))
       
    ReDim tempholder2(track)
   
    ' Move only elements with data in them
    For X = 0 To track
        tempholder2(X) = TempHolder(X)
    Next X
   
    Erase TempHolder
   
    ' Return Array is a variant so it can be passed an array
    ReturnArray = tempholder2
   
    If track = 0 Then
        ' Nothing was found
        ParseString = -1
    Else
        ParseString = track
    End If

End Function


0
 
idcanadaAuthor Commented:
Thats a very good function,
although, would you mind helping me achieve the task asked in the Question?

I have a few problems,
How to read the last array?
(contains the filename)
and convert the rest to \..\..\ ???


0
 
idcanadaAuthor Commented:
Okay,

I can read the last array.


0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now