2009-09-10 10 views
0

Utilisation de VB 6Comment obtenir le chemin uniquement sans dernier ?

Je veux uniquement sélectionner un chemin?

chemin sélectionné - C:\Documents and Settings\Administrator\My Documents\1.txt

Code

:

Public Function Getpath01(sFile As String) As String 
    Dim iPos As Long 
    For iPos = Len(sFile) To 1 Step -1 
    If Mid$(sFile, iPos, 1) = "\" Then 
     Getpath01 = Left$(sFile, iPos) 
     Exit Function 
    End If 
    Next 
    Getpath01 = sFile 
End Function 

À partir du code ci-dessus je reçois.

C:\Documents and Settings\Administrator\My Documents\ 

Je ne veux pas afficher le dernier "\" aussi

Résultats escomptés

C:\Documents and Settings\Administrator\My Documents 

Comment modifier un code?

Besoin de code v6 Aide.

Répondre

3
Public Function Getpath01(sFile As String) As String 
    Dim iPos As Long 
    For iPos = Len(sFile) To 1 Step -1 
    If Mid$(sFile, iPos, 1) = "\" Then 
     Getpath01 = Left$(sFile, iPos-1) 
     Exit Function 
    End If 
    Next 
    Getpath01 = sFile 
End Function 
1

Ne serait-il pas plus facile (et plus rapide car il n'y a pas de boucle For) d'utiliser InStrRev?

Public Function GetPath01 (sFile as string) as string 
    Dim iPos As Long 

    iPos = InStrRev(sFile, "\") 
    If iPos > 0 Then 
     GetPath01 = Left$(sFile, iPos - 1) 
    Else 
     GetPath01 = sFile 
    End If 
End Function 

Remarque ... non testé, mais devrait fonctionner.

Questions connexes