Buscar

Alterarando o local share via programação

Código

{No WIN 95 você pode alterar diretamente a chave do registro que seta esta opção. Fica em HKEY_LOCAL_MACHINE/Software/ LOCAL SHARE "TRUE" (Pesquise com o regedit). }

Procedure ModifyBDE(Path,Chave,Valor:String);
var ParamList: TParamList;
  Lista:TStringList;
  cfgMode:TConfigMode;
  i:Integer;
begin
  Lista:=TStringList.Create;
  //Recupera Lista de Configurações
  Session.GetConfigParams(Path,'',Lista);
  //Verifica na lista, onde a chave modificada se encontra
  For i:=0 to Lista.Count-1 do
  If Pos(UpperCase(Chave),UpperCase(Lista[i]))<>0 Then
  Lista[i]:=UpperCase(Chave)+'='+Valor;
  //Salva o atual modo de configuração da variável de sessão
  cfgMode:=Session.ConfigMode;
  //Coloca em modo de alteração
  Session.ConfigMode:=cmPersistent;
  //Cria lista de parâmetros
  ParamList := TParamList.Create(Lista);
  //Chama API do BDE para modificar as configurações
  Check(DbiCfgModifyRecord(nil, PChar(Path), ParamList.FieldCount,
  PFLDDesc(ParamList.FieldDescs), ParamList.Buffer));
  //Recupera o modo de configuração da variável de sessão
  Session.ConfigMode:=cfgMode;
  //Salva as configurações da sessão
  Session.SaveConfigFile;
  ParamList.Free;
  Lista.Free;
End;

//Alguns exemplos de chamada da função para modificar o valor no BDE
//Nota: certas chaves possuem alguma diferença quanto ao Path no BDE
ModifyBDE('SystemFORMATSNUMBER','DECIMALSEPARATOR',',');
ModifyBDE('SystemInit','Local Share','TRUE');
ModifyBDE('DriversParadoxInit','Net Dir','F:');

//Após utilizar a função é necessário reiniciar o sistema.

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Windows
Adicionada dia: 27/05/03
Por: Felipe Monteiro
Visualizada: 3984 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009