Login:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

Delphi

Feed da seção Delphi

Newsletter de Delphi


Segunda-feira, 15/07/2002 - 01:59 - Por Marcelo Varela
Seções relacionadas:

Criando Componentes no Delphi - Parte 2


Olá amigos, como foi a semana? Tenho certeza que deve ter sido ótima!

Estamos hoje na nossa 6º Coluna. Semana passada falamos sobre o início de criação de componentes. Hoje veremos a segunda parte desse material, onde falaremos sobre a criação de novas propriedades para os nossos componentes.

Criar novas propriedades e eventos, esses últimos serão vistos na terceira e última parte desse assunto, são basicamente o que justifica a criação de novos. Pois quando você cria uma nova propriedade você está na verdade evitando ter que digitar todos aqueles procedimentos e funções que você definiu para um componente qualquer e que você geralmente utiliza.

Criaremos um Edit que terá uma propriedade boleana, ou seja, só recebe valores true ou false, o que definirá se o componente aceitará apenas números ou não. Normalmente o valor de uma propriedade é armazenado em uma variável (campo) privada da classe sendo assim a propriedade mero meio de comunicação entre o campo e o programador.

Por convenção e organização esses campos geralmente têm o mesmo nome da propriedade referida do componente apenas precedido da letra F que representa field, campo em inglês. Uma propriedade pode ter métodos de leitura e escrita, read e write respectivamente.

Para criar o esqueleto para um novo componente siga os passos ensinados na Coluna anterior.

Vamos agora para a definição de uma nova propriedade:

» A seção Public (pública) abriga as variáveis, procedimentos ou funções que podem ser lidos e executados por quaisquer outras units que utilizem (através cláusula Uses) a unit em questão já a seção Published (Publicado) é utilizada para inserir propriedades ou eventos aos componentes;

» Na diretiva private digite:

private
{ Private declarations }
FNumerico: boolean;

» Na diretiva public digite:

public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
procedure KeyPress(var Key: Char);

» Na diretiva public digite:

published
{ Published declarations }
property Numerico: boolean read FNumerico write FNumerico default true;

» Na cláusula implementation vamos definir o corpo da propriedade;

» Para definir que a propriedade virá marcada com o seu valor padrão True, após a procedure de registro vamos acrescentar um construtor:

constructor TNumEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FNumerico := true;
Text := '0';
end;

» Vamos também definir a validação de entrada de valores para esse nosso novo Edit, onde se o valor da propriedade Numérico for verdadeiro (true) somente serão atribuídos os valores numéricos e a tecla back scape:

procedure TNumEdit.KeyPress(var Key: Char);
const teclasDec = ['0'..'9', #8];
begin
if FNumerico then
if not (key in teclasDec) then
key:=#0;
inherited KeyPress(Key);
end;

» Prontinho agora é só instalar o componente e testar.

Todos os artigos de Marcelo Varela

1 comentários publicados

  • 1. Criando Componentes no Delphi - Parte 2

    Sexta-feira, 13/01/2006, por Paulo da Silva Santos

    É uma matéria muito boa, prática e didática para aprender a criar componentes no Delphi. Estava testando este exemplo, só que não estava passando no evento OnKeyPress da procedure KeyPress(var Key: Char) declarada na diretiva Public. Descobri com os meus colegas de trabalho, que faltou Sobreescrever a procedure, para os controles terem efeito, conf. abaixo:

    CORRIGIDO:
    procedure KeyPress(var Key: Char);override;




    ANTES: procedure KeyPress(var Key: Char);




    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Marcelo Varela é professor Delphi, SQL Server e ASP em cursos Cliente/Servidor.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.