Ir para conteúdo
Fórum Script Brasil
  • 0

Acrescentar Zeros Automaticamente No Edit


Guest - ROGERIO -

Pergunta

Guest - ROGERIO -

TENHO UM CAMPO CHAMADO POR EXEMPLO EDIT1.TEXT ESTE CAMPO RECEBE DE OUTROS CAMPOS UM VALOR CALCULADO .... E ELE PODE CHEGAR COM NÚMERO QUEBRADO QUE É POR EXEMPLO 255,5 OU 255 QUE É UM NÚMERO INTEIRO E ESTE VALOR QUE CHEGOU NO EDIT1.TEXT QUE FOI CALCULADO É INSERIDO NO BANCO DE DADOS ... E CHEGA NO BANCO COMO ESTA NO EDIT1.TEXT E POR TAL MOTIVO GOSTARIA DE FAZER AUTOMATICAMENTE ISTO PARA NÃO DAR PROBLEMA...OK ESPERO TER SIDO CLARO.

E QUERO QUE ESTE CAMPO SEMPRE ACRESCENTE ZERO AUTOMATICAMENTE SE 255 QUE ELE FIQUE 255,00 E SE FORM 255,5 FIQUE 255,50 OK.

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0
Guest - rogerio -

GOSTARIA QUE FOSSE MAIS CLARO USAR FORMATFLOAT(#,#0.00,CAMPO) COLOCA-LA ONDE ? NA ROTINA ONDE POR EXMPLO .... ESTOU USANDO UMA ROTINA DE MULTIPLICAÇÃO.

GOSTARIA QUE FOSSE MAIS CLARO....OBRIGADO

Link para o comentário
Compartilhar em outros sites

  • 0

Ola amigo

você quer que no Banco de Dados os valores por ex: 255,5 fiquem 255,50 é isso?

porque você não usa diretamente os DBEdits para fazer isso? fica mais pratico.

porque nos edits você tem que transformar e mesmo assim não aparece no edit3 255,50

edit3.text:=floattostr(strtofloat(edit1.text)+strtofloat(edit2.text));

enquanto que se for com dbedit você pode fazer o resultado aparecer, supondo que você use o paradox ai você tem valor1 $, valor2 $, total $

dbedit1=valor1

dbedit2=valor2

dbedit3=total

então fica assim

query1total.value:=query1dbedit1.value+query1dbedit2.value;

e para tirar o R$ e tambem usar mascara você pode ir do displayformat do valor1,valor2,total assim #,0.00

Bom é so uma ideia

falou

T+

Link para o comentário
Compartilhar em outros sites

  • 0

Rogério,

Criei os seguinte campos no meu form:

Edit1.text(Valor), Edit2.text(Quantidade) e Edit3.text(Resultado do Valor * Quantidade).

Caso você queira formatar o campo Edit1.text, basta colocar o seguinte código no Evento OnExit do Edit1.Text:

Edit1.Text := FormatFloat('#,##0.00',StrToFloat(Edit1.Text));

Já o resultado da multiplicação pode ser colocado no evento OnExit do Edit2.Text e ficaria da seguinte forma:

Edit3.Text := FormatFloat('#,##0.00',(StrToFloat(Edit1.Text) * StrToFloat(Edit2.Text)));

Espero ter ajudado.

ph34r.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Thaise -

Oii eu também to com esse probleminha do zero. é q eu fiz um sistema pra uma auto elétrica mas não entreguei ainda e como a loja é do comércio eles precisam de números reais não é? e eu não sei coloká-los.

procurar no DBEDIT mas não encontrei nada...alguém pode explikar melhor como eu posso estar fazendo o numero 255 tornar-se 255,0 no DBEDIT?

Link para o comentário
Compartilhar em outros sites

  • 0

Se você ligar seu Dataset ao relatório, acredito que sim porque DisplayFormat determina como o campo vai ser exibido. Lembre-se que você tem que fazer o cast porque DisplayFormat não existe em TField e sim na sua classe descendente TNumericField.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Thaise -

Lembre-se que você tem que fazer o cast porque DisplayFormat não existe em TField e sim na sua classe descendente TNumericField

q cast??

ai meu deus!!

Link para o comentário
Compartilhar em outros sites

  • 0

Um cast nada mais é que acessar um objeto como sendo outro.

você não tem os Fields na sua Table ou Query ?

Então, esses Fields são objetos TField e, para os campos numéricos que você quer formatar, utilize o cast p/ TNumericField, ex:

Query1.FieldByName('Campo_Numero') ==> isso retorna um TField

Para formatar:

TNumericField(Query1.FieldByName('Campo_Numero')).DisplayFormat := '#.0';

O cast nesse caso acessa o TField como se fosse um TNumericField porque a propriedade DisplayFormat não existe na classe ancestral.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Thaise -

eu coloquei essa linha de comando mas ele deu erros....não encontrou o TNumericField. tenho q declarar alguma coisa por exemplo no uses ou no var?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Thaise -

essa:

TNumericField(Query1.FieldByName('Campo_Numero')).DisplayFormat := '#.0';

ele não reconhece TNumericField, o displayformat e umas coisinhas lá q nem terminei e ver

quando apareceu os erros fiquei brava e fechei o programa rsrs

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos por parte:

TNumericField(Query1.FieldByName('Campo_Numero')).DisplayFormat := '#.0';

Esta foi só uma linha-exemplo, você deve adaptar os nomes que você utiliza:

1-TNumericField - Existe e é descendente de TField.

2-Query1 - você deve colocar o nome da sua TQuery ou TTable.

3-FieldByName - Existe e é uma função da classe TDataset que retorna um TField, portanto pode ser usada nas classes herdadas TQuery e TTable.

4-'Campo_Numero' - você deve colocar o nome do seu campo numérico.

5-DisplayFormat - Existe e é um propriedade da classe TNumericField, por isso você deve fazer o cast de TField retornado pela função FieldByName para TNumericField.

ps:Veja tb se DB e DBTables estão no seu uses.

Link para o comentário
Compartilhar em outros sites

  • 0

eu coloquei os respectivos nomes certinhos mas mesmo assin não funcionou....

q DB e DBTables são esses??

DB é a unit que implementa as classes TField, TNumericField, etc...

DBTables é a unit que implementa as classes TTable, TDatabase, etc...

Poste seu código e o erro de compilação que está dando.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...