Olá galera, nesta Quick Tips irei continuar mostrando o uso do MD5, porém agora pondo em prática a nossa Unit  uMD5, agora vamos comparar arquivos como o P2P faz, para ver integridade dos arquivos, um exemplo seria ao enviarmos um arquivo para FTP e como sabermos se o mesmo esta completo ? Utilizando MD5 temos como validar o mesmo.

Vamos fazer uma tela como mostrado abaixo :

2 TLabeledEdit ( EdtArquivo1, EdtArquivo2)

3 TBitBtn(BtnAbrir1, BtnAbrir2,BtnComparar)

1 TOpenDialog

 


 

 

Vamos filtrar as opções do OpenDialog1, através da propriedade Filter coloque o código abaixo, no evento  onCreate do formulário :

 

procedure TFrmCompararArquivos.FormCreate(Sender: TObject);

begin

   OpenDialog1.Filter := 'Arquivos Txt|*.Txt|Arquivos Word|*.Doc|Arquivos XLS|*.Xls|Arquivos PDF|*.PDF';

end;

 

Implementamos o onClick do BtnAbrir1, veja :

 

procedure TFrmCompararArquivos.BitBtn1Click(Sender: TObject);

begin

  if OpenDialog1.Execute then

     EdtArquivo1.Text := OpenDialog1.FileName

end;

 

Implementamos o onClick do BtnAbrir2, veja :

 

procedure TFrmCompararArquivos.BitBtn2Click(Sender: TObject);

begin

   if OpenDialog1.Execute then

      EdtArquivo2.Text := OpenDialog1.FileName

end;

 

 

Vamos agora dar Uses em uMD5, para podemos utilizar a function MD5Arquivo, com esta podemos comparar se dois arquivos são idênticos ou não

 

Implementamos o onClick do BtnComparar, veja :

 

procedure TFrmCompararArquivos.BitBtn3Click(Sender: TObject);

begin

  if (FileExists(EdtArquivo1.Text) and FileExists(EdtArquivo2.Text)) then

      if MD5Arquivo(EdtArquivo1.Text) = MD5Arquivo(EdtArquivo2.Text) then

         ShowMessage('Arquivo1 : ' + EdtArquivo1.Text + #13 +

                     'Arquivo2 : ' + EdtArquivo2.Text + #13 +

                     'São Iguais!!!!!')

      else

        ShowMessage('Arquivo1 : ' + EdtArquivo1.Text + #13 +

                    'Arquivo2 : ' + EdtArquivo2.Text + #13 +

                    'São Diferentes!!!!!');

end;

 

Vamos criar 2 arquivos txt para podermos fazer os testes. Digite em cada arquivo “TEXTO DE EXEMPLO”,  e salve os mesmos(arquivo1.txt, arquivo2.txt), compile a aplicação e selecione os dois arquivos, você verá que os arquivos são iguais.

Caso você mude uma única letra, podemos notar que a mensagem irá informar que os arquivos são diferentes. Teste e veja os resultados.

 

Fico por aqui e na próxima Quick Tips. Espero que gostem destas funções implementem outras e compartilhem, mandem e-mail com sugestões para mais Quick Tips.

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br