Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| SS |
Сообщение
#1
|
|
Гость |
Как сделать так чтобы, при запуске проги с БД, прога знала где искать файлы БД. Или создавала бы сама папку допустим C:/d , а в этой папке создавала или копировала файлы БД.
|
![]() ![]() |
| Ozzя |
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
InstallshieldExpress, входящий в поставку Delphi, позволяет все это делать.
|
| Бродяжник |
Сообщение
#3
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
...а если хочется чего-то другого, то можно
- юзать реестр - юзать INI-файлы - танцевать от автоматического определения пути к ЕХЕ-файлу (это можно сделать через объект Application. То ли Application.ExeName, то ли еще как-то так) - в самом тупом случае действительно можно просто потребовать, чтобы юзеры непременно ставили нашу прогу в C:\MyProg\. Ах, им это неудобно?! |
| Gothic_Snake |
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
...а если хочется чего-то другого, то можно - юзать реестр - юзать INI-файлы - танцевать от автоматического определения пути к ЕХЕ-файлу (это можно сделать через объект Application. То ли Application.ExeName, то ли еще как-то так) - в самом тупом случае действительно можно просто потребовать, чтобы юзеры непременно ставили нашу прогу в C:\MyProg\. Ах, им это неудобно?! paramstr(0) - выдает путь к екзешнику запущенной программы.. extractfiledir(paramstr(0)) - выдает текущую папку.. |
| SS |
Сообщение
#5
|
|
Гость |
Дело такое... проэкт проги на БД будет передан преподу. Препод будет запускать прогу не через экзешник, а делфи->открыть->проэкт и уже там F9.
Я хочу поместить файлы БД в папку, где будет находица проэкт, как сделать так, чтобы прога обращалась за БД, в ту папку откуда она запущена? |
| Ozzя |
Сообщение
#6
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
1. http://forum.sources.ru/index.php?showtopic=62261
2. Можно через ADO Я делал так Код OpenDialog1.Filter := 'Ôàéëû ÁÄ Access (*.mdb)|*.mdb|All files (*.*)|*.*'; OpenDialog1.FilterIndex := 1; { start the dialog showing all files } if OpenDialog1.Execute then fn := Opendialog1.FileName; DataModule2.ADOConnection1.ConnectionString := '"Provider=MSDASQL.1;'+ 'Persist Security Info=False;'+ 'Extended Properties="'+ 'DBQ='+fn+';'+ 'DefaultDir='+ExtractFilePath(fn)+';'+ 'Driver={Driver do Microsoft Access (*.mdb)};'+ 'DriverId=25;'+ 'FIL=MS Access;'+ 'FILEDSN='+ExtractFilePath(fn)+'\db1.mdb.dsn;'+ 'MaxBufferSize=2048;'+ 'MaxScanRows=8;'+ 'PageTimeout=5;'+ 'SafeTransactions=0;'+ 'Threads=3;'+ 'UID=admin;'+ 'UserCommitSync=Yes;"'; DataModule2.ADOConnection1.Connected := True; DataModule2.ADOTable1.Active := True; DataModule2.ADOTable3.Active := True; DataModule2.ADOTable2.Active := True; DataModule2.ADOTable4.Active := True; DataModule2.ADOTable5.Active := True; |
| YurKaluga |
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: 0 |
Дельфя же компилит экзешник туда же где проект, послушай Gothic_Snake (см.выше) ExtractFileDir(paramstr(0)) или ExtractFilePath(paramstr(0)) или вместо paramstr(0) впиши Application.ExeName, тоже работает
|
| Ozzя |
Сообщение
#8
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
YurKaluga
Речь же идет не об этом. Цитата Я хочу поместить файлы БД в папку, где будет находица проэкт, как сделать так, чтобы прога обращалась за БД, в ту папку откуда она запущена? |
| YurKaluga |
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: 0 |
Я, например, прописываю путь прямо в компоненте, что-то типа
Table1.DataBaseName:= ExtractFilePath(paramstr(0)). Вот я о чем... |
| GoodWind |
Сообщение
#10
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
уж простите тупого меня... если я ошибаюсь...
Код AddStandardAlias('MYDBDEMOS', 'C:\TESTING\DEMOS\', 'Paradox'); создает алиас... параметры
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
| Gothic_Snake |
Сообщение
#11
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
|
| GoodWind |
Сообщение
#12
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
не знаю... посмотри в дельфовом хелпе
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
| volvo |
Сообщение
#13
|
|
Гость |
GoodWind, если я не ошибаюсь, AddStandardAlias это метод класса TSession, следовательно в модуле DBTables...
|
| GoodWind |
Сообщение
#14
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
volvo скорее всего... не установлена Дельфи сейчас...
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
![]() ![]() |
|
Текстовая версия | 23.11.2025 5:36 |