Fórum Sistema de Comparação #263851

30/12/2004

0

Preciso criar um sisteminha que possa listar para mim todos os arquivos que são diferentes de uma pasta e de outra. exemplo

na pasta ´Arquivos´ eu tenho 10 arquivo e na pasta ´Documentos´ eu tenho 20 então então o sistema ira me listar quais os arquivos que não esta na minha pasta Documentos.

Basta me dizer como faço a procedure de leitura dos Arquivos. desde já agradeço.

Um feliz Ano Novo A todos


Silvio

Silvio

Responder

Posts

30/12/2004

Rafs

Utilize as funções FindFirst, FindNext e FindClose para ler os nomes dos arquivos.

Veja um exemplo para ler todos os arquivos de um determinado diretório:
procedure TForm1.Arquivos(FEndereco: string);
var
  sr: TSearchRec;
begin
  if FindFirst(FEndereco, 0, sr) = 0 then
  begin
    repeat
      ShowMessage(sr.Name);
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
end;


Chame-a assim:
  Arquivos(´D:\*.*´);


Para comparar, crie uma função passando como parâmetro o endereço e o nome do arquivo e verifique se a função FindFirst retorna 0. Se retornar 0, significa que encontrou o arquivo, se retornar outro número diferente de zero, será um código de erro.


Responder

Gostei + 0

31/12/2004

Silvio

Beleza cara eu fiz e funcionou. mas prá ficar melhor como faço para o proprio sistema abrir todas as pasta daquele diretorio. ou melhor verificar todos os arquivos constantes na unidade c: dos dois Computadores, acho que assim ficaria melhor.


Responder

Gostei + 0

31/12/2004

Rafs

Fiz algumas mudanças.

Mude a chamada do procedimento de forma que você só passe o diretório de busca
  Arquivos(´D:\´);

Em seguida mude o primeiro parâmetro da função FindFirst acrescentando *.* e no segundo parâmetro mudando de 0 (zero) para faDirectory, assim trará os arquivos e diretórios.
FindFirst(FEndereco + ´*.*´, faDirectory, sr)

Por fim mude a função para verificar se o que está armazenado em TSearchRec é um arquivo ou um diretório
  if FileExists(FEndereco + sr.Name) then
    ShowMessage(sr.Name + ´ é um arquivo´)
  else
    ShowMessage(sr.Name + ´ é um diretório´)


Assim você terá todos os arquivos e diretórios do diretório selecionado e o controle se o que está localizado no momento é um arquivo ou diretório.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar