Configuração do Net Dir

Delphi

01/10/2003

Olá para todos!
É possível configurar o Net Dir via programação em tempo de execução?
Gostaria de uma dica!
Obrigado


Rdare

Rdare

Curtidas 0

Respostas

Joilson_gouveia

Joilson_gouveia

01/10/2003

Siga a dica abaixo:

679 - 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;


GOSTEI 0
Rdare

Rdare

01/10/2003

Muito obrigado pela dica!
Ronan

Siga a dica abaixo: 679 - 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;



GOSTEI 0
POSTAR