Alterando o NetDir via programação
Muitas vezes precisamos alterar o NetDir do BDE para que nossas aplicações
funcionem corretamente. E com poucas linhas de código você poderá deixar para
que sua própria aplicação faça isso.
Abaixo está uma rotina para alterar o NetDir de acordo com o drive informado
como parâmetro:
uses BDE; // não esqueça de incluir esta
unit
// ChangeNetDir
procedure ChangeNetDir(Drive:
Char);
var
hCur: hDBICur;
Config: CFGDesc;
Cont: Boolean;
begin
if DbiInit(nil) = DBIERR_NONE then
begin
hCur := nil;
if DbiOpenCfgInfoList(nil,
dbiREADWRITE, cfgPersistent,
'\DRIVERS\PARADOX\INIT', hCur) = DBIERR_NONE then
begin
if DbiSetToBegin(hCur) =
DBIERR_NONE then
begin
Cont := True;
while Cont do
begin
if (DbiGetNextRecord(hCur,
dbiWRITELOCK, @Config, nil)
<> DBIERR_NONE) then
Cont := False
else if StrIComp(Config.szNodeName,
'NET DIR') = 0 then
begin
StrPCopy(Config.szValue, Drive + ':\');
DbiModifyRecord(hCur, @Config, True);
Cont := False
end;
end;
end;
end;
DbiExit();
end;
end;
O uso deste procedimento pode ser assim:
procedure TForm1.Button1Click(Sender:
TObject);
begin
ChangeNetDir('H');
end;
Nenhum comentário:
Postar um comentário