Na aula anterior, adicionamos dois botões: um altera o texto ao ser clicado e o outro fecha a janela atual. Nesta seção, vamos implementar uma lógica um pouco mais complexa no primeiro botão. Cada clique alterna o texto do botão, e o principal objetivo é estudar a sintaxe Pascal.
Abra o projeto criado anteriormente
Você pode editar diretamente a função de evento de clique no arquivo pas, ou acessar a função de evento do primeiro botão seguindo os passos abaixo.

Substitua o código da função de evento pelo trecho abaixo
procedure TForm1.Button1Click(Sender: TObject);
{ Usar a propriedade Tag do botão para armazenar estado e alternar o texto }
begin
// Verificar valor da Tag: 0 = estado padrão, 1 = estado alternado
if Button1.Tag = 0 then
begin
Button1.Caption := 'Press again'; // Alterar texto visível do botão
Button1.Tag := 1; // Marcar estado como 1
end
else
begin
Button1.Caption := 'Press'; // Restaurar texto original
Button1.Tag := 0; // Redefinir marcador para 0
end;
end;Code language: JavaScript (javascript)
Passos para localizar o evento do botão
Abra seu projeto Lazarus salvo, troque para a tela de design do Form1 e clique no botão com rótulo Press (Button1) no formulário.
Com o controle selecionado, acesse a aba Events (Eventos) no Inspetor de Objetos (Object Inspector) à direita.
Localize o evento OnClick, clique na caixa de entrada à direita dele e depois clique no botão de reticências ... no final para saltar automaticamente para a função correspondente no editor de código.
Apague todo o código original, cole o código completo abaixo, salve o projeto, compile e execute o programa. Ao clicar no botão, o texto alternará repetidamente.
- Propriedade Tag: Propriedade inteira nativa de todos os controles de janela, utilizada para guardar marcadores numéricos personalizados. Aqui usamos apenas dois estados: 0 e 1.
- Primeiro clique: Tag=0 → texto muda para
Press again, Tag recebe valor 1 - Segundo clique: Tag=1 → texto volta para
Press, Tag é resetado para 0 - Clicadas repetidas alternam o texto continuamente, gerando um efeito de interruptor.
O código acima usa a propriedade Tag do botão para armazenar seu estado e implementar a alternância de texto.
Demonstração em execução
Alternância de texto do botão ao clicar