Путь к истине

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Путь к истине » Программирование » VB нужности.


VB нужности.

Сообщений 1 страница 3 из 3

1

Здесь будем размещать полезные фрагменты кода.

Встретил в инете вот такой яйцечёс:

Правильная обработка обратной косой черты при использовании свойства App.Path

Public Function AppPath(sFileName As String) As String
    If Right$(App.Path, 1) = "\" Then
        AppPath = App.Path & sFileName
    Else
        AppPath = App.Path & "\" & sFileName
    End If
End Function
И всё я никак не можу понять, зачем делать проверку на слеш\ ,
App.Path всегда без слеша путь к директории передаёт. Ну раз
комуто чешется пусть на слеш проверяют, а ещё пусть на кавычки проверят или на тильду :D

0

2

Нет! App.Path передаёт без слеша во всех случаях, КРОМЕ одного досадного исключения: если программа запущена из корневой директории. Тогда App.Path="C:\" (или "D:\"), со слешем, и добавление к нему какого-либо пути приводит к удвоению этого самого слеша. Совет из интернета всё-таки правильный, хотя сделан глупо, я делаю иначе. Объявляю переменную Путь на глобальном уровне, а в запуск программы вставляю:
   If Right(App.Path,1)="\" then Путь = App.Path else Путь = App.Path & "\"

0

3

Как говориться век живи- век учись! не знал про такой глюк. никогда с корневой директорией не прходилось сталкиваться.

0


Вы здесь » Путь к истине » Программирование » VB нужности.