Clique aqui para ver a parte 1: Criando um arquivo XML: Delphi

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.