sábado, 23 de maio de 2009

Alterando o netdir

{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,
'DRIVERSPARADOXINIT', 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; //Usa-se assim:

procedure TForm1.Button1Click(Sender: TObject);
begin
ChangeNetDir('H');
end;

Nenhum comentário:

Postar um comentário