Самое простое и самое древнее решение - это брать параметры инициализации приложения из *.ini файла.
Допустим создаем файл Initial.ini в каталоге с программой с содержанием:
[database]
path=
Вот код приложения для примера, можно усложнить под собственные нужды
procedure TForm1.ADOConnection1BeforeConnect(Sender: TObject);
var path,str:string;
begin
if ADOConnection1.Connected then
ADOConnection1.Close;
with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Initial.ini') do
try
path :=ReadString('batabase', 'path', '');
if path='' then
if OpenDialog1.Execute then
begin
path:=OpenDialog1.FileName;
WriteString('batabase', 'path',path);
end;
str:='';
str:=str+'Provider=Microsoft.Jet.OLEDB.4.0;';
str:=str+'Password="";';
str:=str+'Data Source='+path+';';
str:=str+'Persist Security Info=True';
ADOConnection1.ConnectionString:=str;
finally
Free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OpenDialog1.Filter:='Файлы Access|*.mdb';
ADOConnection1.Open;
end;
В раздел модулей добавляем IniFiles.
Можно по аналогии брать настройки из реестра.