DBMaskedit

Delphi

19/02/2005

Gostaria de saber aonde eu posso,encontrar um componete DBMaskEdit
(Freeware).

Desde já agradeço a atenção.


Lnunes

Lnunes

Curtidas 0

Respostas

Guinther

Guinther

19/02/2005

Pq não seta a máscara no TField e usa um DBEdit?


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

19/02/2005

Colega,

www.torry.net (DB-Aware Components > Visual > Edits and Memos). Entretanto, conforme já foi mencionado, não há nenhuma necessidade.


GOSTEI 0
Asales

Asales

19/02/2005

No Delphi 5 eu utilizava um [b:c938d5da9b]componente DBMaskEdit[/b:c938d5da9b] (download em http://codecentral.borland.com/Item/14468 ) e optei por ele porque no sistema já haviam dados cadastrados e a alteração da máscara no TField modificou todos os dados cadastrados.

Estou migrando o sistema para Delphi 2007 e ocorreu o seguinte problema no procedimento DataChange do componente:

[b:c938d5da9b]Código Delphi 5[/b:c938d5da9b]:
procedure TDBMaskEdit.DataChange(Sender : TObject);
begin
if (fDataLink.Field = nil) or (FDataLink.Field.asVariant = NULL) then
Text := ´´
else
Text := FDataLink.Field.asVariant;
end; //DataChange

[b:c938d5da9b]Código com problemas - Delphi 2007[/b:c938d5da9b]:
if (fDataLink.Field = nil) or (FDataLink.Field.asVariant = varNull) then
- alterei ´asVariant = [b:c938d5da9b]NULL[/b:c938d5da9b]´ para ´asVariant = [b:c938d5da9b]varNull[/b:c938d5da9b]´
- compilação Ok, mas aparece a seguinte mensagem ao executar o programa: Could not convert variant of the type (String) into type (Double)

[b:c938d5da9b]Código funcionando mas duvidoso - Delphi 2007[/b:c938d5da9b]:
Depois de alguma pesquisa nos componentes db controls do delphi 2007 consegui chegar ao seguinte código que funcionou:

if FDataLink.Field <> nil then
Text := FDataLink.Field.Text
else
Text := ´´;

Apesar de estar funcionando fico receoso de apresentar problemas futuros no sistema e por isso gostaria da ajuda de vocês para uma análise do código.
Obrigado.


GOSTEI 0
Khundalini

Khundalini

19/02/2005

Se seus dados são alterados pela máscara, então vc ñ está atentando para o uso correto da máscara no que diz respeito a salvar ou não caracteres da máscara no valor do campo.

Isso é ajustado no EditMask de um TMaskEdit em tempo de design, e tb pode ser feito na propriedade EditMask de um TField tb em tempo de design.


Sds.,

Rubem Rocha
Manaus, AM


GOSTEI 0
Leonardo Gazio

Leonardo Gazio

19/02/2005

Pq não seta a máscara no TField e usa um DBEdit?


Não é a mesma coisa, esteticamente não fica bonito, não aparecem os uniderline "_" no texto da máscara como em um objeto herdado do TMaskEdit, acho que é por isso que ele não quer usar o Editmask do TField, assim como eu...
GOSTEI 0
POSTAR