Pular para o conteúdo principal

Herança de formulários no Delphi

Suponhamos que estamos criando uma aplicação onde existem vários formulários com características e comportamento semelhantes. Um formulário (form) é uma classe, portanto suas características e comportamento podem ser herdados por outros formulários. Só precisamos criar um formulário e depois criar os outros a partir deste usando herança. Crie então o formulário que será o pai incluindo todos os componentes e métodos necessários. Depois vamos criar um novo formulário filho. Selecione no menu, File | New | Other... e clique na aba que tem o nome do seu projeto. Nessa aba aparecem todos os formulários que foram criados anteriormente na sua aplicação. Selecione aquele do qual você deseja herdar e pressione o botão OK. Um novo formulário é criado com tudo que o formulário pai tem. Importante notar que todo código escrito na unidade (unit) do formulário pai não aparece na unidade do formulário filho e você não pode alterar ou excluir qualquer objeto que tenha sido herdado. Agora você pode inserir novos objetos e métodos no formuláio filho. Note também que todo método de evento que você inclui no formulário filho apresenta uma nova palavra reservada, inherited:

procedure TfrmFilho.btnSairClick(Sender: TObject);
begin
inherited;

end;

Se você observar o arquivo de definição do formulário verá que, também, essa palavra aparece em vez da declaração object:

inherited frmFilho: TfrmFilho
Left = 222
Top = 139
Caption = 'frmFilho'
PixelsPerInch = 96
TextHeight = 13

Para ver o arquivo de definição de formulário clique com o botão direito do mouse e selecione View as text.

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