Как правильно задать путь к файлу...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Как правильно задать путь к файлу...

Сообщение Ramzes » 12.07.2003 (Сб) 1:27

При работе с посторонними файлами у меня возникает проблема: я задаю програмным кодо путь к файлу (в основном этот файл находится рядом с моей прогой), а если пользователь переместит мою программу, как задать имя файла через (\..\) или чтото в этом роде, я точно н знаю. Помогите пожалуйста, ну очень надо. :oops:

Хой
Не математик
Не математик
 
Сообщения: 541
Зарегистрирован: 26.08.2002 (Пн) 0:21
Откуда: Россия

Сообщение Хой » 12.07.2003 (Сб) 1:52

Ну смотри:
'-------------------------------
Dim Pyt As String
Pyt=App.Path & "\File.dat"
'-------------------------------
App.Path показывает путь к папке из каторой запушена программа,
то есть, если я запускаю прогу из "D:\QWERTY", то App.Path вернёт значение "D:\QWERTY".

переменная Pyt будет содержать путь к файлу File.dat
ты можешь укозать и поддиректорию ("\FDFD\CWA\File.dat")
Ну яя думаю понятно.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 12.07.2003 (Сб) 10:39

Спасибо, я все понял, РАБОТАЕТ. А есть други варианты, так просто интересно :oops:

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 14.07.2003 (Пн) 11:47

Есть.

Dim Pyt As String

Pyt=App.Path
If Right (Pyt,1) <>"\" Then
Pyt = Pyt + "\File.dat"
Else
Pyt = Pyt + "File.dat"
End if
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

Urvin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 518
Зарегистрирован: 04.06.2003 (Ср) 10:47
Откуда: с Марса

Сообщение Urvin » 14.07.2003 (Пн) 20:05

Кстати, вторым вариантом пользоваться лучше - если запуск идет сразу с диска (D:), APP.PATH вернет "D:\", а если нет, то "D:\Muzdie"
Не так страшен русский танк, как его пьяный экипаж

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 15.07.2003 (Вт) 0:17

Лично я для краткости использую

FilePath = IIf(Right(app.path, 1) = "\", app.path, app.path & "\") & "FileName.dat"

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 15.07.2003 (Вт) 9:32

dir\\file эквивалентно dir\file, так что вылавливание "\" ни к чему хорошему не приведет. Потому как системным разделителем может быть и не "\", а, например, "/".

dir\\file == dir/\file == dir//file == dir/file

Поэтому App.Path & "\File.dat" - простое и грамотное решение.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 15.07.2003 (Вт) 10:19

Для того, чтобы развеять ваши опасные заблуждения, рекомендую нижеследующий код скомпилировать, поместить ехе в корень любого диска и запустить. После чего поместить ехе в любую папку, запустить и сравнить результаты.
Код: Выделить всё
Sub Form_Load()
msgbox(App.Path)
End Sub

ЗЫ "\\" считается за "\" в 2000 (на других НТ не проверял), но в 9х "\\" может вызвать неправильную работу кода и сильное торможение программы. Вот это я проверял. На собственной, так сказать...
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 12

    TopList  
cron