Pular para o conteúdo principal

Lazarus - Explorando os Componentes Básicos (Parte I)

Agora que já conhecemos um pouco o ambiente Lazarus, já entendemos a estrutura de uma aplicação, já criamos um pequeno programa, estamos prontos para ir para a parte principal do ambiente de programação:  o uso de componentes. Esta é a característica chave deste ambiente: programação visual usando componentes.
O sistema vem com uma série de componentes prontos para uso. Não serão descritos aqui todos os componentes em detalhes com suas propriedades, métodos e eventos. Mas será suficiente para que você possa explorar os demais objetos. Neste capítulo usaremos exemplos bastante simples para focar em apenas algumas características mais importantes.
Iniciaremos dando destaque a um grupo de componentes básicos, tais como botões, rótulos, caixas de listas, campos de edição e outros controles relacionados. A maioria dos componentes que são discutidos neste capítulo está presente na aba Standard da paleta de componentes.
Vamos então criar uma nova aplicação. Selecione o menu Arquivo e em seguida em Novo. Na janela clique em Aplicação que está sob o grupo Projeto. Será criado um novo projeto e um novo form.
Vamos então salvar nosso projeto para atribuir nomes aos arquivos. Clique em Salvar Tudo no menu Arquivo. Inicialmente é solicitado o nome da unit. Vamos salvá-la com o nome u_exemplo. Em seguida é pedido o nome do projeto. Digite Exemplo e confirme. Para definir um ícone para a aplicação selecione Opções de Projeto no menu Projeto. Na aba Aplicação clique em Carregar Icone. Escolha o ícone apropriado e confirme.
Nosso programa consistirá de um cadastro de dados pessoais: nome, idade, profissão, escolaridade, sexo e situação cadastral.

Propriedades de form

Vamos modificar as seguintes propriedades do form no Inspetor de Objetos.

  • biMaximize em BorderIcons - coloque em False. Isso evita que o form seja maximizado.
  • BorderStyle - defina como bsSingle. Para evitar o redimensionamento da janela.
  • Caption - informe Exemplo.
  • Height - defina como 480. Altura da janela.
  • Name - defina como frmExemplo.
  • Position - defina como poScreenCenter. Para centralizar a janela na tela do monitor.
  • Witdh - defina como 640. Largura da janela.
Para modificar a propriedade biMaximize clique no sinal de + à esquerda de BorderIcons para expandir suas subpropriedades.

Usando um Botão

O Lazarus disponibiliza alguns tipos de botão. Vamos selecionar o botão (TButton) da paleta Standard e posicioná-lo no form.

Vamos alterar as propriedades do botão:
  • Caption - defina como &Fechar. É a legenda do botão. O & define um atalho para o caso de querer usar o teclado em vez do mouse. Neste caso se você pressionar F será o mesmo que clicar no botão.
  • Name - defina como btnFechar. A propriedade Name em qualquer componente define o identificador desse componente.
Bem, queremos que nosso form seja fechado quando pressionarmos neste botão. Para fazermos isso precisamos escrever algum código. Esse código será escrito para o evento OnClick do botão. Ou seja, queremos que o form seja fechado quando clicarmos no botão. Dê um duplo clique no botão. O editor de código será aberto no procedimento que está associado com o evento. Digite o seguinte código:

Close;

Como desejamos que o  form seja fechado quando clicarmos no botão, isso representa uma ação a ser realizada pelo  form. Portanto devemos usar um método que tenha esse comportamento, por isso escolhemos o método  Close. Close é o método de form que causa o seu fechamento.
Compile e execute o programa. Agora o form pode ser fechado usando o botão padrão do Windows ou o botão que programamos.

Aceitando dados do usuário

Já vimos que o usuário pode interagir com uma aplicação usando o mouse, ou o teclado em vez do mouse para selecionar um botão pressionando a tecla correspondente à letra sublinhada no Caption.
Além desses casos, o Windows pode manipular entrada do teclado diretamente. O Lazarus oferece uma série de controles para construir campos de edição e editores de texto. Dentre esses vamos utilizar o componente campo de edição (TEdit) da paleta Standard. Este componente permite que o usuário digite apenas uma linha de texto. Mais adiante usaremos um componente que possibilita a entrada de mais de uma linha. Selecione então esse componente e insira-o no form.
Esse primeiro campo de edição que estamos inserindo será utilizado para entrada do nome da pessoa em nosso cadastro de dados pessoais.

Da mesma forma que procedemos com o botão e o form iremos alterar as propriedades desse componente.
  • Name - defina como edNome.
  • Width - defina como 400.
  • Text - apague o conteúdo dessa propriedade. Na verdade esta propriedade irá retornar o conteúdo do campo que for digitado pelo usuário do programa. 

Identificando controles

Rótulos são apenas texto, ou comentários, escritos em um  form. Geralmente o usuário não interage com rótulos - pelo menos não diretamente. Não faz muito sentido clicar em um rótulo, embora no Lazarus isso seja tecnicamente possível.
Usamos rótulos para descrever outros componentes, tais como campos de edição e caixas de lista ou combo, pois eles não têm legenda. O Lazarus implementa rótulos como componentes gráficos, não ajanelados.
Vamos então inserir um rótulo no nosso  form. Selecione o rótulo (TLabel) na paleta Standard e insira-o ao lado esquerdo do campo de edição conforme mostrado na figura seguinte.


Vamos alterar suas propriedades conforme o seguinte:
  • Caption - &Nome.
  • FocusControl - edNome. Define qual componente receberá o foco quando for selecionada a tecla de atalho definida no Caption.
  • Name - lblNome.

Tenha em mente que nos referimos apenas nas propriedades que são necessárias para a nossa aplicação. Certamente vamos necessitar usar outras em diferentes programas. Vamos continuar explorando os componentes no próximo post.

Comentários

Postagens mais visitadas deste blog

Lazarus - Acessando banco de dados com SQLdb - Parte I

Para fazer nossa primeira aplicação usando banco de dados no Lazarus vamos usar o SQLite e o conjunto de componentes nativo SQLdb. Inicialmente vamos apresentar passo como essa aplicação foi criada. Essa foi a maneira que eu fiz, e eu agradeço sugestões e questionamentos que pessoas que já passaram por essa experiência. Depois irei fazer algumas considerações sobre o uso do SQLdb. SQLite SQLite é uma biblioteca que implementa um motor de banco de dados SQL. É livre para qualquer finalidade, seja uso particular ou comercial. Lê e escreve em um único arquivo que pode ter além de tabelas, índices, gatilhos e visões. Executa em várias plataformas e é indicado para aplicações embarcadas. Maiores detalhes podem ser encontrados no site oficial. Para usá-lo, baixe-o do site e faça a instalação adequada para o seu sistema operacional. No Windows isso é muito simples, apenas copie sqlite3.dll para o system32 da pasta do sistema operacional. Existe uma ferramenta de linha de comando chamada

Tipos de dados no SQLite

Em SQLite, diferente de outros motores de banco de dados, o tipo de dado de um valor está associado com o valor propriamente dito, e não com o seu contêiner. É um sistema de tipo dinâmico. Um campo de uma tabela em SQLite pode receber qualquer tipo de dado. Assim, o SQLite simplesmente ignora o tipo informado no comando CREATE TABLE. Então, dizemos que no SQLite existem classes de armazenamento. E essas classes são: NULL - como em qualquer outro banco de dados. INTEGER - inteiro com sinal, armazenado em 1, 2, 3, 4, 6 ou 8 bytes dependendo da grandeza do valor. REAL - valor de ponto flutuante armazenado em 8 bytes. TEXT - uma string armazenada usando UTF-8, UTF-16BE ou UTF-16LE. BLOB - armazena um blob, como indica o nome. Uma coluna INTEGER PRIMARY é uma exceção. Só aceita números inteiros. Qualquer valor em um comando SQL tem uma classe de armazenamento implícita. Durante a execução do comando SQL, o SQLite pode converter valores entre classes numéricas (INTEGER e REAL)

Lazarus - Criando relatórios com FortesReport (Parte I)

Para a criação de relatórios, o Lazarus já trás o componente LazReport, no entanto ele precisa ser instalado no IDE. Para fazer a instalação do pacote, acesse o menu Package -> Open package file (.lpk) . Localize o diretório de instalação do Lazarus e na pasta components abra lazreport e depois source . Abra o pacote lazreport.lpk , clique em Compile e depois em Install . Como já sabemos isso irá recompilar o IDE. Depois de inicializado novamente estará disponível a aba LazReport . Leia aqui um tutorial básico sobre o LazReport. No entanto queremos mostrar uma alternativa ao LazReport . Por essa razão, vamos apresentar neste artigo o FortesReport . Para quem conhece o QuickReport, que fazia parte do Delphi, não terá dificuldade de desenvolver com esse componente. Baixe o pacote aqui e instale. Os procedimentos são semelhantes aos que mostramos acima. Você terá uma nova aba chamada Fortes Report . Conectando o banco de dados O primeiro passo para criar a aplicação é fazer