Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.13;
Скачать: CL | DM;

Вниз

Указание пути к базе данных   Найти похожие ветки 

 
VinRaider ©   (2003-01-27 01:35) [0]

Вопрос такой: Есть программа, использующая базу данных. У меня установлена BDE, где и добавлена эта база(указан конкретный путь). При установке на другой компьютер месторасположение(путь к программе) будет совсем другое и BDE его не найдет. Считаем, что BDE установлена или устанавливается вместе с программой, но тогда как в ней прописать новый путь(програмно)? Если кто знает, пожалуйста объясните или укажите доступный источник(желательно электронный), где можно об этом подробно прочитать. Заранее спасибо.


 
mad0max   (2003-01-27 05:54) [1]

Самое простое - писать в INI файл или в реестр при установке. При загрузке программы считываешь и в путь......
Чего уж проще...


 
VinRaider ©   (2003-01-27 22:35) [2]

Я никогда не работал с реестром, поэтому я хотел бы увидеть пример, как обращаться к нему(писать, считывать) в данном случае. Если не трудно, покажи как. Заранее спасибо.


 
mad0max   (2003-01-28 04:51) [3]

Вот народ ленивый!!!!!

F1 - вам поможет.....

Можешь использовать TRegIniFile и работать как с обычным INI файлом, А если хочешь работать как с реестром (по настоящему :)
TRegistry...
Только нафига это геморрой. Ну будет у тебя еще один файл (INI) и делай с ним что хошь! А так придется пр инсталляци в реестр что-то писать...


 
НАХАЛ   (2003-01-28 05:33) [4]

Пока не проснулся Анатолий Подгорецкий, я хочу поделиться с тобой своим опытом.

Небольшой код:

o1 - это диалог;
T1 - TTable;
DaataBase1 - TDataBase;

у DaataBase1 - "DatabaseName" поставь "Al"(или что-то другое);
у T1 - "DatabaseName" поставь "Al" (или как у DaataBase1);


var pt: string;//Глобальна

procedure TForm1.Open1Click(Sender: TObject);
var vF,pF: string;
S: array[0..110] of Char;
c: Cardinal;
c1,c2: integer;
begin
if o1.Execute then
begin
T1.Close;
DataBase1.Close;

Database1.DriverName:= "STANDARD";
Database1.Params.Clear;

pt:=o1.FileName;
pF:=string(NamePart(PChar(pt)));

//Здесь не надо вы..... я знаю как, и тем не менее... -------------------------------
c:=Length(pt)-Length(pF);
c1:=Length(pt);
c2:=Length(pF);
c:=c-1;
StrLCopy(S,PChar(pt),c);

//----------------------------------------
Database1.Params.Add("PATH="+string(S));
vF:=string(S);
T1.TableName:=pF;
T1.Open;
pt:=DataBase1.Params.GetText;
end;
end;

Открывает любую таблицу "PARADOX" без всяких Алиасов,
которые, ну уж очень любит Анатолий Подгорецкий.

Ну, а если, что не так - пиши на мыло;





 
mad0max   (2003-01-28 05:50) [5]

to НАХАЛ

Все это классно! А каждый раз не замучаешься выбирать ? Ж)


 
chudaks ©   (2003-01-28 06:33) [6]

to НАХАЛ.

Используя компонент Table перекрываешь доступ для других пользователей. Лучше использовать компонент Query и использовать SQL запросы.


 
VinRaider ©   (2003-01-29 08:12) [7]

А как добавить Alias к BDE для Paradox? Заранее спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
9-37997
_serg
2002-09-06 16:57
2003.02.13
Печать из OpenGL


1-38386
NAlexey
2003-02-04 10:32
2003.02.13
Сохранение *.bmp в DLL


3-38026
Nikola62
2003-01-29 00:51
2003.02.13
Как узнать значение autoincrement поля в IB5


1-38212
Урри
2003-02-04 12:53
2003.02.13
try ... finally


1-38153
AlexanderSK
2003-02-04 12:50
2003.02.13
Разбиение приложение на модули