Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
1-1131994208
Sam Stone
2005-11-14 21:50
2005.12.11
Метод при наследовании


14-1132583518
ArtemESC
2005-11-21 17:31
2005.12.11
Как програмно выключить или перезагрузить компьютер?


2-1132818133
VadimSpb
2005-11-24 10:42
2005.12.11
Проблема запроса


4-1129093499
SANEK_10289
2005-10-12 09:04
2005.12.11
Где в реестре взять имя пользователя?


2-1132735366
yrbanchik
2005-11-23 11:42
2005.12.11
светомузыка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский