Текущий архив: 2005.12.11;
Скачать: CL | DM;
ВнизОбращение из папки которой запускается Найти похожие ветки
← →
Mamur © (2005-11-21 08:22) [0]Как сделать чтобы программа обращалась к базе в той папке из которой запускается
← →
palva © (2005-11-21 08:30) [1]Если получить полный путь туда, где расположен exe, то можно извлечь его из строки ParamStr(0). А уж как им воспользоваться, зависит от типа базы данных. Если ADO+Access, то можно указать имя базы с полным путем в строке соединения.
← →
stone © (2005-11-21 10:25) [2]GetCurrentDir
← →
Набережных С. © (2005-11-21 11:30) [3]
> stone © (21.11.05 10:25) [2]
Так не надо.
← →
umbra © (2005-11-21 11:36) [4]
basepath := ExtractFilePath(Application.ExeName) + basename;
← →
Плохиш © (2005-11-21 11:48) [5]
> Набережных С. © (21.11.05 11:30) [3]
>
> > stone © (21.11.05 10:25) [2]
>
> Так не надо.
Почему?
Вопрос может двояко толковаться, поэтому [2] - это один из вариантов.
← →
stone © (2005-11-21 12:36) [6]
> Набережных С. © (21.11.05 11:30) [3]
>
> > stone © (21.11.05 10:25) [2]
>
> Так не надо.
Это почему? Как раз та папка из которой запускается, с ярлыка например, если не указан рабочий каталог. В сабе ведь не спрашивается про папку в которой экзешник расположен.
← →
evvcom © (2005-11-21 15:17) [7]
> В сабе ведь не спрашивается про папку в которой экзешник
> расположен.
Да? А как же тогда это понимать?
> программа обращалась к базе в той папке из которой запускается
← →
stone © (2005-11-21 16:09) [8]
> evvcom © (21.11.05 15:17) [7]
>
> > В сабе ведь не спрашивается про папку в которой экзешник
>
> > расположен.
>
> Да? А как же тогда это понимать?
>
> > программа обращалась к базе в той папке из которой запускается
Ну не знаю, у меня телепатор не работает:)
Создадим следующую ситуацию:
Программа лежит в c:\MyProg
Одна база лежит в c:\db1
Другая в c:\db2
В папках обеих баз создан ярлык к c:\MyProg\myprog.exe, рабочий каталог в ярлыке не прописан.
При запуске программы через ярлык из любой из папок с базой данных, программа будет обращаться к базе в данной папке, откуда и запускалась, не зависимо от того, где программа расположена физически.
← →
Набережных С. © (2005-11-21 16:18) [9]
> stone © (21.11.05 12:36) [6]
> если не указан рабочий каталог
Вот именно. Кроме того, ярлык - не еденствинный способ указать рабочий каталог. Кроме того, рабочий каталог может измениться в процессе работы.
Так что [2] в таком виде не корректен. Вот если бы ты перечислил связанные с этим ограничения, тогда другое дело. Обрати внимание на название конференции.
← →
Anatoly Podgoretsky © (2005-11-21 16:19) [10]stone © (21.11.05 16:09) [8]
А нам не надо твою ситуацию, в вопросе четко сказано в папке из которой запускается.
← →
Набережных С. © (2005-11-21 16:25) [11]
> Mamur ©
Кроме того:), не надо размещать базу в директории программы, если в базу предполагается записывать. Нормальный админ запретит пользователю запись в директорию программ, и твоя программа накроется. Для таких вещей есть папка Application Data.
← →
Плохиш © (2005-11-21 17:11) [12]
> Anatoly Podgoretsky © (21.11.05 16:19) [10]
> stone © (21.11.05 16:09) [8]
> А нам не надо твою ситуацию, в вопросе четко сказано в папке
> из которой запускается.C:\tmp>d:\super\puper.exe
Какая папка будет "папке из которой запускается"?
← →
palva © (2005-11-21 19:47) [13]C:\tmp>d:\super\puper.exe
> Какая папка будет "папке из которой запускается"?
В любом случае папку C:\tmp определить невозможно. Либо надо ставить условие, что текущая директория во время работы программы не меняется.
← →
evvcom © (2005-11-22 11:05) [14]
> Какая папка будет "папке из которой запускается"?
puper.exe запускается из d:\super\
← →
Плохиш © (2005-11-22 11:12) [15]
> palva © (21.11.05 19:47) [13]
> В любом случае папку C:\tmp определить невозможно.
Уверен?
> evvcom © (22.11.05 11:05) [14]
Ещё и автора хотелось бы услышать ;-)
Страницы: 1 вся ветка
Текущий архив: 2005.12.11;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.042 c