Как получить путь только без последнего \? - PullRequest
0 голосов
/ 10 сентября 2009

Использование VB 6

Я хочу выбрать только путь?

Выбранный путь - C:\Documents and Settings\Administrator\My Documents\1.txt

код:

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

Из приведенного выше кода я получаю.

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

Я не хочу отображать последнее "\" также

Ожидаемый результат

C:\Documents and Settings\Administrator\My Documents

Как изменить код?

Нужен справочный код vb6.

Ответы [ 2 ]

3 голосов
/ 10 сентября 2009
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 голос
/ 10 сентября 2009

Не будет ли проще (и быстрее, поскольку нет цикла For) использовать 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

Примечание ... не проверено, но должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...