Olá galera, nesta Quick Tips, irei mostra como podemos criar um arquivo .ini, de configuração para o nosso disparador de s. Vamos às implementações.

 

Iniciaremos criando 2 métodos, na seção private, vamos dar uses em IniFiles

 

    procedure LoadINI;

    procedure SaveIni(vBooMensagem:Boolean = False);

 

procedure TFrmPrincipal.LoadINI;

var

   IniFile: TIniFile;

begin

   if not FileExists(ExtractFilePath(Application.ExeName) + 'smtp.ini') then

      ShowMessage('Arquivo ini não localizado!!! '+ #13 +

                                 'Os dados serão carregados em branco' );

   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'smtp.ini');

   with IniFile do

   begin

      EdtConfigSMTP.Text := ReadString('SMTP', 'Host' , '' );

      EdtConfigUsuario.Text := ReadString('SMTP', 'Username' , '' );

      EdtConfigSenha.Text := ReadString('SMTP', 'Password' , '' );

      EdtConfigPorta.Text := ReadString('SMTP', 'Porta' , '' );

      EdtConfigEMail.Text := ReadString('From', 'Address' , '' );

      EdtConfigTempo.Text := ReadString('SERVIDOR', 'Tempo' , '' );

      ChckBxConfigAutenticacao.Checked := ReadBool('SMTP','Autenticacao',True);

      EdtNomeRemetente.Text := ReadString('CONTATO', 'NomeRemetente' , '' );

      EdtEmailRemetente.Text := ReadString('CONTATO', 'EmailReposta' , '' );

      EdtEmailResposta.Text := ReadString('CONTATO', 'EmailRemetente' , '' );

      EdtCC.Text := ReadString('CONTATO', 'CC' , '' );

      EdtCCO.Text := ReadString('CONTATO', 'CCO' , '' );

      EdtAssuntoEmail.Text := ReadString('CONTATO', 'Assunto' , '' );

      with IdSMTP do

      begin

            Host := ReadString ('SMTP', 'Host' , '' );

            Username := ReadString ('SMTP', 'Username' , '' );

            Password := ReadString ('SMTP', 'Password' , '' );

            Port := ReadInteger('SMTP', 'Porta' , 0 );

            Username := ReadString ('From', 'Address' , '' );

            PipeLine := True;

      end;

    end;

end;

 

procedure TFrmPrincipal.SaveIni(vBooMensagem: Boolean);

var

Ini: TIniFile;

begin

   Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'smtp.ini') ;

   try

   with Ini do

   begin

      WriteString('SMTP', 'Host', EdtConfigSMTP.Text);

      WriteString('SMTP', 'Username', EdtConfigUsuario.Text);

      WriteString('SMTP', 'Password', EdtConfigSenha.Text);

      WriteString('SMTP', 'Porta', EdtConfigPorta.Text);

      WriteString('From', 'Address', EdtConfigEMail.Text);

      WriteString('SERVIDOR', 'Tempo', EdtConfigTempo.Text);

      WriteBool('SMTP', 'Autenticacao', ChckBxConfigAutenticacao.Checked);

      WriteString('CONTATO', 'NomeRemetente', EdtNomeRemetente.Text);

      WriteString('CONTATO', 'EmailReposta', EdtEmailRemetente.Text);

      WriteString('CONTATO', 'EmailRemetente', EdtEmailResposta.Text);

      WriteString('CONTATO', 'CC', EdtCC.Text);

      WriteString('CONTATO', 'CCO', EdtCCO.Text);

      WriteString('CONTATO', 'Assunto', EdtAssuntoEmail.Text);

      end;

   finally

         FreeAndNil(Ini);

   end;

   if vBooMensagem then

      ShowMessage('Operação efetuada com sucesso!!!!');

end;

 

procedure TFrmPrincipal.BtnSalvarClick(Sender: TObject);

begin

   SaveIni(True);

end;

 

procedure TFrmPrincipal.FormShow(Sender: TObject);

begin

   LoadINI;

end;

 

Com estes dois métodos criados já podemos utilizar nosso arquivo ini, observe que onde seu exe for criado haverá um arquivo 'smtp.ini' junto a ele, pode ser aberto com o bloco de notas por exemplo.

No próximo artigo vamos em fim enviar o de acordo com a configuração desta nossa aba.

Fico por aqui ate à próxima Quick Tips.

Um abraço

 

Y

wyamazack@lithic.com.br