Continuando o nosso artigo, agora, nosso sistema já esta pronto para ler o arquivo conexão e carregar seus dados para o objeto IXMLConexaoType.
Voltamos ao nosso form e vamos chamar as funções de carregar XML, salvar XML, e finalmente conectar.
No btLoad, evento onClick iremos adicionar o seguinte código.
var
xml : IXMLConexaoType;
begin
//limpar o XML caso ja esteja aberto... (Muito importante)
FreeAndNil(xml);
//Indicar onde encontramos o arquivo
xml := Loadconexao('conexao.xml');
//Pegar as propriedades do objeto e carrega-las para os edits
edHost.Text := xml.Host;
edDataBase.Text := xml.Database;
edUser.Text := xml.Username;
edSenha.Text := xml.Password;
end;
No btSave, evento onClick iremos adicionar o seguinte código.
var
xml : TStrings;
begin
//Criar e inicializar stringList
xml := TStringList.Create;
//Limpar Lista
xml.Clear;
//Adicionar texto como xml
xml.Add('<?xml version="1.0" encoding="UTF-8"?>');
xml.Add('<conexao>');
xml.Add(' <host>' + edHost.Text +'</host>');
xml.Add(' <database>' + edDataBase.Text +'</database>');
xml.Add(' <username>' + edUser.Text +'</username>');
xml.Add(' <password>' + edSenha.Text +'</password>');
xml.Add('</conexao>');
xml.SaveToFile('conexao.xml');
FreeAndNil(xml);
end;
No btConnect, evento onClick iremos adicionar o seguinte código.
begin
with sqlConn do
begin
//Desconecta caso esteja conectado
Connected := False;
//Passa os parametros
Params.Values['Host'] := edHost.Text;
Params.Values['DataBase'] := edDataBase.Text;
Params.Values['User_Name'] := edUser.Text;
Params.Values['Password'] := edSenha.Text;
//Tenta conectar!!!
try
Connected := True;
except
//Se falhar, exibi erro!
MessageDlg('Não foi possivel conectar-se ao banco de dados ' + edUser.Text + '@' + edHost.Text + '. Tente novamente!', mtError, [mbOK], 0);
end;
//Senão falhar, exibi Sucesso!
MessageDlg('Conexão realizada com sucesso!!!', mtInformation, [mbOK], 0);
end;
end;
Pronto, feito isso vamos rodar nossa aplicação e testar!
Esse exemplo esta direcionado ao dbExpress, porem podemos utilizar essa rotina para qualquer tipo de parâmetros que precisarmos deixar fora do sistema. Isso ira substituir os famosos arquivos .ini, dando a sua aplicação um diferencial e facilitando a leitura dos arquivos externos.
Conclusão:
Com o XML Data Binding, é muito fácil a utilização de arquivos XML com nossos sistemas. Com isso ganhamos tempo, praticidade e damos um ar mais profissional ao nosso aplicativo.
Um abraço
William Galleti.