Post: Herança de Formulário

Alessandro Medeiros

Fala ai Radizeiros e Radizeiras, tudo bem com vocês?

Quantos formulários de cadastros você já teve que criar no Delphi para o seu sistema?

Esse pode ser algo que você faz diversas vezes, mas neste post irei lhe mostrar, usando a orientação a objetos, como resolver essas rotina repetitiva de criação de formulário

Neste post iremos falar sobre herança de formulários.

Esse já é um conceito já bem difundido no Delphi, mas por que estou fazendo este post? Mas para destacar um recurso legal, talvez você não conheça, mas isso já está bem difundido desde os primórdios das versões do Delphi.

Mas como dizem as más linguás! Eu não trabalho com Delphi por não ser Orientado a Objeto! É procedural! Você já deve ter ouvido de muita gente de outras linguagens falando mal do Delphi com relação a Orientação a Objeto, porque no Delphi você só arrasta componentes, mas tudo o que você faz no Delphi, um componente que você bota na tela, é um objeto, e até mesmo um formulário.

Irei criar um novo formulário em meu projeto de exemplo, e se você observar logo de cara no código desse formulário ele já é uma classe que está herdando de TForm.


type
    TForm2 = class(TForm)
    private
        { Private declarations }
    public
        { Public declarations }
    end;

Agora como iremos trabalhar com herança de formulários?

O Delphi tem uns recursos legais, que podemos trabalhar com isso.

Vou criar um formulário padrão, com alguns componentes visuais.

Observe que já temos uma estrutura de um formulário aqui, e com o nome de FormPadrao.

Estamos trabalhando extremamente rad com Delphi, e utilizando POO, vamos utilizar heranças dos formulário.

Iremos colocar algumas mensagens em nossos botões com as informações pertinente a cada um, como por exemplo, ao clicar no botão inserir irá ser colocado o código abaixo.


procedure TFormPadrao.Button1Click(Sender: TObject);
begin
    ShowMessage('Inserido com sucesso');
end;

Agora vamos no menu em File > New > Other.

E na tela que irá abrir vamos na opção Inheritable Items, nessa opção temos os itens que temos dentro do meu projeto que eu posso herdar.

Se você observar temos um formulário chamado FormPadrao, aquele que acabamos de criar, iremos criar um novo formulário baseado no meu formulário padrão, quando damos ok com esse formulário selecionado, estamos com uma nova Unit criada, um novo formulário criado, com todos os componentes e implementações herdadas do nosso formulário padrão.

Estou agora com dois formulário criados herdando do meu FormPadrao, agora tudo que eu fizer dentro do meu formulário padrão irá refletir nos demais.

Por exemplo, em nosso formulário padrão irei adicionar um novo botão chamado de voltar.

Se formos nos demais observe o que acontece.

Os dois formulário herdaram o novo botão adicionado no formulário padrão.

Vamos fazer mas uma coisa, para ficar mais legal ainda?

Vamos adicionar um componente no formulário padrão chamado StyleBook, e vamos adicionar um estilo dark nele.

Só dar um duplo clique no componente, e carregar o Dark.style.

E na pasta da style em documentos públicos do seu SO, adicionamos esse tema para o nosso fomulário padrão.

Agora em nosso formulário padrão iremos na propriedade StyleBook e definir o componente que acabamos de adicionar no projeto.

Observe como está agora nosso FormPadrao.

Agora se formos do FormHeranca1 você irá perceber que ele não herdou o layout, isso podemos fazer mas dentro do padrão com que ele possa herdar, mas o intuito aqui é lhe mostrar como se comporta os formulário herdados.

Mas caso eu queira manter o mesmo estilo nesse meu FormHeranca1 devo seguir o mesmo procedimento aplicado no padrão, para esse momento.

Eu coloquei um outro estilo no FormHeranca2 para que ao chamar esse nossos fomulário você possa perceber a implementação feita no padrão repercutindo nos herdados.

Em nosso FormHeranca1 irei colocar um botão para chamar o FormHeranca2.


procedure TFormPadrao1.Button6Click(Sender: TObject);
begin
    FormPadrao2.ShowModal
end;

Observe que ao clicarmos no botão inserir do FormHeranca1 FormHeranca2 ele retornam a mesma mensagem, pois é a que incluímos no FormPadrao.

A mesma ação resultando nos dois formulários, dessa forma podemos implementar rotinas que são pertinentes a todos os formulário no FormPadrao e os que herdarem dele irão ter o mesmo comportamento.

Se você observar algumas coisas feitas dentro de cada formulário não interfere nos demais, como por exemplo o estilo que colocamos, o botão no FormHeranca1, isso tudo foi feito para que você perceba que alem das funções que podemos herdar do padrão, podemos adicionar algumas particularidades para os formulários.

Se alterarmos no formulário fica no formulário, agora se alterarmos no padrão irá repercutir nos herdados.

Muito legal né?

Viu como podemos aumentar a flexibilidade em nossas implementações?

Usar a orientação a objetos ao nosso favor é algo de estrema importância.

Esse post é mais um que faz parte da Certificação especialista em programação orientada a objetos.

A Certificação Especialista Orientada a Objetos dará a você a oportunidade de melhorar seu software, otimizar o seu tempo e te dar a possibilidade de atender melhor os seus clientes. Conhecer a fundo esse paradigma e utilizar todos os seus benefícios irá facilitar muito a sua vida quando houver necessidade por parte de um cliente de um update rápido ou resolver um problema.

CLIQUE AQUI PARA SABER MAIS SOBRE A CERTIFICAÇÃO ESPECIALISTA EM PROGRAMAÇÃO ORIENTADA A OBJETOS





Faça sua busca

CATEGORIAS

POSTS RECENTES

E caso você tem interesse de conhecer mais sobre Herança de Formulário, acesse o nosso portal do CLUBE DE PROGRAMADORES EM DELPHI
Você não terá só conteúdos relacionados ao Herança de Formulário, mas uma quantidade enorme de conteúdos que poderá lhe ajudar muito no seu dia a dia, é uma verdadeira NETFLIX para os programadores Delphi.
Gostou?
Compartilhe:

Embarque no foguete com milhares de devs para aprender desenvolvimento, evoluir de forma contínua e se manter relevante no mercado.

Dúvidas
Cadastre-se em nossa lista

Para ter acesso em primeira mão, a tudo que acontece na Academia do Código, basta se cadastrar em nossa lista

Grupo Thulio Bittencourt | Academia do Código

#FaçaPartedaHistória

Copyright © 2024 – Todos os direitos reservados