override de classe

30/09/2004

0

Salve galera...

Vou explicar primeiro o prob:
Tenho campos no meu BD (IB) do tipo Varchar(1), por ex: Status do cliente = A - Ativo, I - Inativo
Dae qdo eu coloco isso num dbcombobox p o usuario escolher, mas em vez d escolher A ou I eu mostro p ele Ativo ou Inativo

Fazendo o seguinte:
- no CDS dou um clique duplo e seleciono o campo Status,
- Vou no evento OnGetText
procedure TCadCliente.CDSStatusGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin inherited; if Sender.AsString=´A´ then Text:=´Ativo´ else if Sender.AsString=´I´ then Text := ´Inativo´


procedure TCadCliente.CDSStatusSetText(Sender: TField; const Text: String); begin inherited; if Text=´Ativo´ then Sender.AsString:=´A´ else if Text=´Inativo´ then Sender.AsString:=´I´


Pronto isso faz oq eu quero... so q p Status saum apenas 2 opcoes... mas imagina se for p as siglas de Estados... eu jah fiz aqui... mas gostaria d mudar pois ocupa mto espaco d codigo q non eh necessario...

*-*-*-*-*-*-*-*-*-*
Solucao
Estive verificando.... isto esta na classe TStringsFields no na unit DB
esta classe possui os eventos OngetText e OnSetText

Gostaria d saber se tem como eu fazer algum tipo de override (q nem nos componentes p herdar td e acrescentar, mas ae vem outro problema, como eh q eu vou fazer os DBComponentes pegarem esse Novo tipo em vez do antigo?

Alguma solucao mais viavel? (eu non queria instalar componentes d terceiros... nem sei se tem algum q faz isso.)

Vlw


Osocram

Osocram

Responder

Posts

01/10/2004

Osocram

sobe


Responder

01/10/2004

Afarias

bom, eu diria q uma solução mais simples seria ter esse código q vc já escreveu (para sigla dos estados) em uma função -- a parte -- q vc poderia usar sempre q precisar. Todo campo estado vc faria::

Text := myUtils.DescricaoEstados(Sender.AsString);



T+


Responder

04/10/2004

Osocram

Afarias...

Eu tinha pensando nisso... mas tava querendo tentar fazer um componente ou algo assim... Mas acho q vou fazer isso mesmo...

Vlw


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar