Você está aqui: Delphi ::: VCL - Visual Component Library ::: TListBox

Como retornar a quantidade de itens em uma TListBox do Delphi usando a propriedade Items.Count

Quantidade de visualizações: 13041 vezes
Em algumas situações nós precisamos obter a quantidade de itens em uma TListBox. Isso pode ser feito por meio da propriedade Count do objeto Items, uma instância da classe TStrings. Esta propriedade contém um valor inteiro que representa a quantidade de elementos na ListBox. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  quant: Integer;
begin
  // vamos adicionar dois itens na TListBox
  ListBox1.Items.Add('Item 1');
  ListBox1.Items.Add('Item 2');

  // vamos obter a quantidade de itens
  quant := ListBox1.Items.Count;

  // exibe o resultado
  ShowMessage('Quantidade de elementos: ' + IntToStr(quant));
end;

É possível também obter a quantidade de itens em uma TListBox acessando a propriedade Count da classe TCustomListBox. Esta propriedade é herdada pela classe TListBox. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

quant := ListBox1.Count;


Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.

Link para compartilhar na Internet ou com seus amigos:

Delphi ::: VCL - Visual Component Library ::: TEdit

Como definir o conteúdo de um TEdit do Delphi em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_SETTEXT

Quantidade de visualizações: 11286 vezes
Embora o Delphi já nos forneça as ferramentas necessárias para definir o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_SETTEXT.

A função SendMessage() da API do Windows possui a seguinte assinatura em C/C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

LRESULT SendMessage(          
  HWND hWnd,
  UINT Msg,
  WPARAM wParam,
  LPARAM lParam
);

No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Protótipo
{$EXTERNALSYM SendMessage}
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; 
  lParam: LPARAM): LRESULT; stdcall;

// Implementação
function SendMessage; external user32 name 'SendMessageW';

Note que precisamos de um HWND (Handle) para a caixa de texto. Feito isso só precisamos enviar a mensagem WM_SETTEXT juntamente com o conteúdo a ser exibido no controle. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  texto: String;
begin
  // conteúdo a ser definido para a caixa de texto
  texto := 'Veja isso';

  // vamos definir o conteúdo usando a função SendMessage
  // fornecendo a mensagem WM_SETTEXT
  SendMessage(Edit1.Handle, WM_SETTEXT, 0, Integer(PChar(texto)));
end;

Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT. Desta forma só precisamos fornecer o valor 0.


Delphi ::: Dicas & Truques ::: Arquivos e Diretórios

Como listar todos os arquivos de um diretório usando Delphi

Quantidade de visualizações: 1643 vezes
Como listar todos os arquivos de um diretório usando Delphi

Em algumas situações precisamos listar todos os arquivos contidos em um determinado diretório. Para isso podemos usar a função abaixo. Esta função recebe o caminho e nome de um diretório e uma coleção de strings TStrings. Como resultado de sua execução, a função insere em TStrings todos os nomes dos diretórios encontrados. Para facilitar o entendimento do exemplo eu incluí uma chamada à função a partir do evento Click de um botão. Tenha a certeza de colocar uma TListBox no formulário antes de executar o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure listarArquivosDir(diretorio: string; lista: TStrings);
var
  search_rec: TSearchRec;
begin
  if FindFirst(diretorio + '*.*', faAnyFile, search_rec) = 0 then
    begin
      repeat
        if search_rec.Attr <> faDirectory then
          lista.Add(search_rec.Name);
      until FindNext(search_rec) <> 0;

      FindClose(search_rec);
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  listarArquivosDir('c:\', ListBox1.Items);
end;

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Como capturar um screenshot da área de trabalho e salvá-lo como um Bitmap usando Delphi

Quantidade de visualizações: 13596 vezes
Em algumas situações precisamos capturar um screenshot da área de trabalho (Windows Desktop) e salvá-lo como um Bitmap. Esta dica mostra como isso pode ser feito. Note que aqui estamos salvando o bitmap gerado no mesmo diretório do executável. Caso queira salvar o resultado em outra pasta ou diretório, consulte minhas dicas sobre a manipulação de arquivos e diretórios usando Delphi.

Veja o código (coloquei no evento OnClick de um botão:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm2.Button1Click(Sender: TObject);
var
  DCDesk: HDC;
  bmp: TBitmap;
begin
  // vamos criar o Bitmap
  bmp := TBitmap.Create;

  // vamos definir o tamanho do bitmap
  bmp.Height := Screen.Height;
  bmp.Width := Screen.Width;

  // aqui nós obtemos um handle para o contexto de dispositivo
  // de exibição do Desktop
  DCDesk := GetWindowDC(GetDesktopWindow);

  // vamos copiar a imagem do desktop para o bitmap criado
  // anteriormente
  BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
    DCDesk, 0, 0, SRCCOPY);

  // salvamos o bitmap
  bmp.SaveToFile('screenshot.bmp');

  // liberamos o handle do desktop
  ReleaseDC(GetDesktopWindow, DCDesk);

  // e finalmente liberamos o bitmap
  bmp.Free;

  ShowMessage('Screenshot criado com sucesso.');
end;

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 59 usuários muito felizes estudando em nosso site.