robinhocne Postado Março 17, 2012 Denunciar Share Postado Março 17, 2012 Criei um componente do TEdit para ter opção de Cor no onExit e onEnter, agora queria criar uma propriedade assim:Propriedades>1ª Tabela queria listar as tabelas do banco e ai selecionar qual é a tabela desse componente>2ª Campoqueria listar os campos da tabela marcada na 1ª Propriedade e selecionar o campo do TEdit>3ª Tipo de Campoqueria listar os tipos de campos (integer,string,date,time...etc), mas trazer marcado o tipo de campo da 2ª Propriedade>4ª Obrigatórioqueria marcar se esse campo vai ser obrigatório ou nãoSe alguém poder me ajudar eu agradeceria muito, pois não sei como estar fazendo isso em um componente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Março 17, 2012 Denunciar Share Postado Março 17, 2012 acho que voce esta se refererindo ao TDBEdit, pois com o TEdit não daria para fazer issohttp://imasters.com.br/artigo/3777/linguag...asses-do-delphiabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Abril 14, 2012 Autor Denunciar Share Postado Abril 14, 2012 Volto no ponto da criação de componente,Queria criar um Edit para todos os tipos de campos, porém não vou utilizar com ligação a uma tabela do banco.Como faço para criar uma propriedade nesse componente chamado:>Tipo de Campo (esse tipo de campo deverá conter uma caixa de seleção onde irei selecionar se ele recebe integer, float, string, date, time ou intstr) Quando selecionar a propriedade integer, ele só pode aceitar numeros. Quanto selecionar a propriedade float ele só deve aceitar valores com decimais, ai diante dessa propriedade precisarei de um campo para mascara desse campo e quantidade de casas decimais. Quando for string só aceitar letras. Quando for date só aceitar tipo data e jogar automaticamente o formato de data. Quando for date só aceitar tipo hora e jogar automaticamente o formato de hora. Quanto for IntStr poder aceitar numeros e letras.Como eu posso fazer isso ?Hoje tenho o componente TTexto criado onde herda do TEdit, segue abaixo....unit Texto; interface uses SysUtils, Classes, Controls, StdCtrls, Graphics, Messages; type TTexto = class(TEdit) private OnEnterColor: TColor; OnExitColor: TColor; procedure ExportaColor(const Value: TColor); procedure ImportaColor(const Value: TColor); protected procedure ColocaCor(Sender: TObject); procedure RetiraCor(Sender: TObject); procedure ImportaCor(Value: TColor); procedure ExportaCor(Value: TColor); public constructor Create(Aowner: TComponent); override; procedure CMEnter(var Msg: TMessage); message CM_ENTER; procedure CMExit(var Msg: TMessage); message CM_EXIT; published property CorOnEnter: TColor read OnEnterColor write ImportaColor; property CorOnExit: TColor read OnExitColor write ExportaColor; property AutoSize; end; procedure Register; implementation procedure Register; begin RegisterComponents('Comps', [TTexto]); end; { TTexto } procedure TTexto.CMEnter(var Msg: TMessage); begin ColocaCor(Self); inherited end; procedure TTexto.CMExit(var Msg: TMessage); begin RetiraCor(Self); inherited end; procedure TTexto.ColocaCor(Sender: TObject); begin if Sender is TEdit then TEdit(Sender).Color := OnEnterColor; end; constructor TTexto.Create(Aowner: TComponent); begin inherited; OnEnterColor := clSkyBlue; OnExitColor := clWindow; OnEnter := ColocaCor; OnExit := RetiraCor; AutoSize := false; Height := 20; end; procedure TTexto.ExportaColor(const Value: TColor); begin end; procedure TTexto.ExportaCor(Value: TColor); begin OnExitColor := Value; end; procedure TTexto.ImportaColor(const Value: TColor); begin end; procedure TTexto.ImportaCor(Value: TColor); begin OnEnterColor := Value; end; procedure TTexto.RetiraCor(Sender: TObject); begin if Sender is TEdit then TEdit(Sender).Color := OnExitColor; end; end. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 14, 2012 Denunciar Share Postado Abril 14, 2012 Amigo, voce precisa ler mais sobre a ciração de componentes em delphihttp://www.google.com.br/search?q=cria%C3%...p;aqi=&aql=Dica: a criação de componentes segue quase o mesmo raciocinio:imagine que voce quer que o seu edit aceite somente numeros ... voce vai utilizar o evento OnKeyPress do componente para fazer issoprocedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin // somente numeros if not (Key in['0'..'9',Chr(8),',']) then Key:= #0; end;a lógica para a criação do componente com esse recurso segue o mesmo principioOBS: Tente fazer ... caso tenha muitas duvidas, veja no link ( tutoriais e apostilas de como criar componentes no delphi)abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
robinhocne
Criei um componente do TEdit para ter opção de Cor no onExit e onEnter, agora queria criar uma propriedade assim:
Propriedades
>1ª Tabela
queria listar as tabelas do banco e ai selecionar qual é a tabela desse componente
>2ª Campo
queria listar os campos da tabela marcada na 1ª Propriedade e selecionar o campo do TEdit
>3ª Tipo de Campo
queria listar os tipos de campos (integer,string,date,time...etc), mas trazer marcado o tipo de campo da 2ª Propriedade
>4ª Obrigatório
queria marcar se esse campo vai ser obrigatório ou não
Se alguém poder me ajudar eu agradeceria muito, pois não sei como estar fazendo isso em um componente.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.