Mascara em Field dinâmico? Como?

Delphi

07/02/2008

Olá amigos;

Tenho uma Client de memória que trata de um planejamento anual mês a mês. Os Fields são criados dinâmicamente de acordo com a quantidade de meses que o usuário escolher, Porém preciso criar mascaras para tipo float.

Como fazer isso? Pelo código não consigo acessar a propriedade ´DisplayFormat´ .

Desde já agradeço a todos, grande abraço!!!


Wadojr

Wadojr

Curtidas 0

Respostas

Joaoshi

Joaoshi

07/02/2008

Colega, veja este exemplo e tente adequar para sua necessidade.

for nContador := 0 to cdsDados.FieldCount - 1 do
begin
if cdsDados.Fields[nContador].DataType = ftFloat then
(cdsDados.Fields[nContador]as tFloatfield).displayformat := ´#,.00´;
end;

Espero ter ajudado.


GOSTEI 0
Wadojr

Wadojr

07/02/2008

Amigo, show de bola...

Deu certinho do jeito que eu preciso, valew demais, precisando estamos as ordens.


Abraço!!!


GOSTEI 0
Firekiller_am

Firekiller_am

07/02/2008

eu faco assim para formatar todos os datases que estao no meu datamodule

procedure TdmPesqVenda.Formatar_Valor_Curr;
var
  I, J : Integer;
begin
  for I := 0 to ComponentCount - 1 do
  begin
    if Components[I] is TDataSet then
    begin
      with TDataSet(Components[I]) do
      begin
        for J := 0 to Fields.Count - 1 do
        begin
          if (Fields[J] is TFloatField) or (Fields[J] is TBCDField) then
          begin
            TNumericField(Fields[J]).DisplayFormat := ´,,0.00´;
          end;
        end;
      end;
    end;
  end;
end


mais no meu caso estou tendo problema com o dbexpress no dephi 2006 sp1.

abracos


GOSTEI 0
Faustoalves

Faustoalves

07/02/2008

Eu tentei isso tudo ai, mas não funcionou, no meu caso eu adiciono os campos via código.
Tenho um valor 1350,30
utilizando esta mascara ´#,,0.00´, a exibição do mesmo teria que ser 1.350,30 e é mostrado 1350,3
Alguém tem uma saída para isso?
Grato
Fausto


GOSTEI 0
Acacio

Acacio

07/02/2008

O certo seria ´#,0.00´.

Ele aparecedo desse jeito que tu falou somente quando o componente está em foco. Sendo assim eu acho que está correto fazendo assim.


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

07/02/2008

use como máscara apenas ´,#0.00´, e note que deve estar em [b:b02b5de173]Display[/b:b02b5de173]Format e não somente em [b:b02b5de173]Edit[/b:b02b5de173]Format.


GOSTEI 0
POSTAR