Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2009, 12:10   #1
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию Редактирование BDE

Здравствуйте. Как из Delphi отредактировать в BDE параметры БД? В частности LANGDRIVER? На DelphiWorld6 не отсылать (там есть компонент ConfigBde, но он не компилится).
kraw2 вне форума Ответить с цитированием
Старый 23.08.2009, 12:45   #2
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Код:
procedure SetLanguage(Tbl: TTable; Lang: DbiName);
var
pOptDesc: pFLDDesc;
pOptData: pBYTE;
hDb: hDbiDb;
TblDesc: CRTblDesc;
Dir: string;
begin
pOptDesc := AllocMem(sizeof(FLDDesc));
pOptData := AllocMem(20);
SetLength(Dir, dbiMaxNameLen + 1);
Tbl.Active := True;
Check(DbiGetDirectory(Tbl.DBHandle, False, PChar(Dir)));
SetLength(Dir, StrLen(PChar(Dir)));
try
   FillChar(TblDesc, sizeof(CRTblDesc), #0);
   Tbl.DisableControls;
   Tbl.Close;
   Check(DbiOpenDatabase(nil, nil, dbiReadWrite, dbiOpenExcl, nil, 0, nil, nil,
     hDb));
   Check(DbiSetDirectory(hDb, PChar(Dir)));
   pOptDesc.iOffset := 0;
   pOptDesc.iLen := Length(Lang) + 1;
   StrPCopy(pOptDesc.szName, 'LANGDRIVER');
   StrPCopy(PChar(pOptData), Lang);
   TblDesc.iOptParams := 1;
   TblDesc.pfldOptParams := pOptDesc;
   TblDesc.pOptData := pOptData;
   StrPCopy(TblDesc.szTblName, Tbl.TableName);
   StrCopy(TblDesc.szTblType, szParadox);
   Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, False));
finally
   Check(DbiCloseDatabase(hDb));
   FreeMem(pOptDesc, sizeof(FLDDesc));
   FreeMem(pOptData, 20);
   Tbl.EnableControls;
end;
end;
(с) DRKB3_FULL
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 23.08.2009, 20:51   #3
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию Шульцу

Здравствуйте, Шульц. Спасибо за ответ. В этом коде рассматривается таблица Paradox. Хотелось бы для Ms SQL, Interbase и т.п. БД. Параметр входа строка - имя алиаса. Или я что-то не пропариваю?
kraw2 вне форума Ответить с цитированием
Старый 23.08.2009, 22:09   #4
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Не знаю как под ИБ или СКЛ переделать, рабоатет под парадокс, аксес, байсу.

В DRKB есть еще пару примеров, советую посмотреть, в поиске DRKB поищите фразу LANGDRIVER.
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Alias в BDE Шульц БД в Delphi 5 25.06.2009 23:17
Движок BDE Македонский БД в Delphi 10 17.09.2008 19:31
BDE Arsgun БД в Delphi 4 29.05.2007 22:24
BDE Administrator Prisian БД в Delphi 0 29.05.2007 17:49