sábado, 3 de outubro de 2015

Usando um laço for para pesquisar valores nos itens de uma ListBox

Nesta dica mostro como é possível pesquisar valores nos itens de uma ListBox. Note que, se o valor pesquisado for encontrado, nós o selecionamos na lista e informamos seu índice. Se não for encontrado nós ajustamos uma variável Boolean e avisamos do não sucesso da operação. Finalmente note que este código faz diferenciação de letras maiúsculas e minúsculas, ou seja, Osmar será diferente de OSMAR. Veja o código: 

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  pesquisa: string;
  encontrou: Boolean;
begin
  // vamos solicitar o texto a ser pesquisado na ListBox
  pesquisa := InputBox('Pesquisar', 'Informe o texto', '');
  encontrou := false;

  // vamos usar um laço for para percorrer todos os itens
  // da ListBox
  for i := 0 to ListBox1.Count - 1 do
    begin
      if ListBox1.Items[i] = pesquisa then
        begin
          encontrou := true;
          // vamos selecionar o item encontrado
          ListBox1.ItemIndex := i;
          ShowMessage('O texto pesquisado foi encontrado ' +
            'no índice ' + IntToStr(ListBox1.ItemIndex));
        end;
    end;

    // não foi encontrado?
    if not encontrou then
      begin
        ShowMessage('O texto pesquisado não foi encontrado.');
      end;
end;

Nenhum comentário:

Postar um comentário