Não é a linguagem de programação que define o programador, mas sim sua lógica

Selecionar vários arquivos com o OpenDialog?



Para seleção múltiplos arquivos utilizando o "TOpenDialog" temos que marcar a propriedade "ofAllowMultiSelect"


 

Se deseja localizar apenas uma extensão tem que ser informado em "Filter", no exemplo colocado a extensão ".Txt"

 


 Vamos fazer um exemplo simples, um programinha que seleciona vários txt dentro de um diretório:

procedure 
procedure TFLocate.btnLocalizarClick(Sender: TObject);
var
  wS, wArquivo, wPalavraLocalizar: string;
  wCount, wP, wk: Integer;
  wArquivoLocalizar: TextFile;
begin
  wCount := 0;
  mmLocalizar.Lines.Clear;  
  wPalavraLocalizar := LowerCase(edLocate.Text);
  if OpDlgAnexos.Execute then begin
    for wk := 0 to OpDlgAnexos.Files.Count - 1 do begin
      wArquivo := OpDlgAnexos.Files[wk];
      AssignFile(wArquivoLocalizar, wArquivo);
      Reset(wArquivoLocalizar);
      try
        while not Eof(wArquivoLocalizar) do begin
          Readln(wArquivoLocalizar, wS);
          wS := LowerCase(wS);
          while Trim(wS) <> EmptyStr do begin
            wP := Pos(wPalavraLocalizar, wS);
            if wP = 0 then
              Break;
            Inc(wCount);
            mmLocalizar.Lines.Add(wArquivo);
            Delete(wS, 1, wP + Length(wPalavraLocalizar));
          end;
        end;
      finally
        CloseFile(wArquivoLocalizar);
      end;
    end;
    if wCount > 0 then
      ShowMessage('Quantidade de palavras encontradas: ' + IntToStr(wCount))
    else
      ShowMessage('Nenhuma palavra encontrada');
  end;
end;  


Exemplo: Download do exemplo

Um comentário: