![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
SS |
![]()
Сообщение
#1
|
Гость ![]() |
Как сделать так чтобы, при запуске проги с БД, прога знала где искать файлы БД. Или создавала бы сама папку допустим C:/d , а в этой папке создавала или копировала файлы БД.
|
Ozzя |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
InstallshieldExpress, входящий в поставку Delphi, позволяет все это делать.
|
Бродяжник |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
...а если хочется чего-то другого, то можно
- юзать реестр - юзать INI-файлы - танцевать от автоматического определения пути к ЕХЕ-файлу (это можно сделать через объект Application. То ли Application.ExeName, то ли еще как-то так) - в самом тупом случае действительно можно просто потребовать, чтобы юзеры непременно ставили нашу прогу в C:\MyProg\. Ах, им это неудобно?! ![]() |
Gothic_Snake |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
...а если хочется чего-то другого, то можно - юзать реестр - юзать INI-файлы - танцевать от автоматического определения пути к ЕХЕ-файлу (это можно сделать через объект Application. То ли Application.ExeName, то ли еще как-то так) - в самом тупом случае действительно можно просто потребовать, чтобы юзеры непременно ставили нашу прогу в C:\MyProg\. Ах, им это неудобно?! ![]() paramstr(0) - выдает путь к екзешнику запущенной программы.. extractfiledir(paramstr(0)) - выдает текущую папку.. |
SS |
![]()
Сообщение
#5
|
Гость ![]() |
Дело такое... проэкт проги на БД будет передан преподу. Препод будет запускать прогу не через экзешник, а делфи->открыть->проэкт и уже там F9.
Я хочу поместить файлы БД в папку, где будет находица проэкт, как сделать так, чтобы прога обращалась за БД, в ту папку откуда она запущена? |
Ozzя |
![]()
Сообщение
#6
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Дельфя же компилит экзешник туда же где проект, послушай Gothic_Snake (см.выше) ExtractFileDir(paramstr(0)) или ExtractFilePath(paramstr(0)) или вместо paramstr(0) впиши Application.ExeName, тоже работает
![]() |
Ozzя |
![]()
Сообщение
#8
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
YurKaluga
Речь же идет не об этом. Цитата Я хочу поместить файлы БД в папку, где будет находица проэкт, как сделать так, чтобы прога обращалась за БД, в ту папку откуда она запущена? |
YurKaluga |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я, например, прописываю путь прямо в компоненте, что-то типа
Table1.DataBaseName:= ExtractFilePath(paramstr(0)). Вот я о чем... |
GoodWind |
![]()
Сообщение
#10
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
уж простите тупого меня... если я ошибаюсь...
![]() Код AddStandardAlias('MYDBDEMOS', 'C:\TESTING\DEMOS\', 'Paradox'); создает алиас... параметры
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Gothic_Snake |
![]()
Сообщение
#11
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
|
GoodWind |
![]()
Сообщение
#12
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
не знаю... посмотри в дельфовом хелпе
![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
GoodWind, если я не ошибаюсь, AddStandardAlias это метод класса TSession, следовательно в модуле DBTables...
|
GoodWind |
![]()
Сообщение
#14
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
volvo скорее всего... не установлена Дельфи сейчас...
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
![]() ![]() |
![]() |
Текстовая версия | 10.07.2025 9:02 |