 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
Jonatan500 Colaborador

Registrado: Sábado, 8 de Janeiro de 2011 Mensagens: 1064 Localização: Palmas/TO
|
Enviada: Seg Jul 18, 2011 11:47 am Assunto: Formatar Dinheiro no DBEdit |
|
|
Olá eu quero fazer com que o meu dbedit fique em formato de moeda ao dar um exit dele, eu ja tenho um codigo meio pronto, mais ele nao esta funcionando, no lugar do showmessage(resultado); eu quero que o resultado mostre no dbedit, ou se alguem tiver um outro geito de fazer este codigo pode ajudar tambem Muito Obrigado
O código é este :
| Código: | var
resultado: string;
begin
resultado := FormatFloat('R$ ###,###,##0.0000', DBEdit14.Text);
ShowMessage(resultado);
end; |
Acontece o seguinte erro
| Citação: | | [DCC Error] UObras.pas(266): E2250 There is no overloaded version of 'FormatFloat' that can be called with these arguments |
_____________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein |
|
| Voltar ao Topo |
|
 |
Jonatan500 Colaborador

Registrado: Sábado, 8 de Janeiro de 2011 Mensagens: 1064 Localização: Palmas/TO
|
Enviada: Seg Jul 18, 2011 11:55 am Assunto: |
|
|
Galera eu tambem tenho este código
| Código: | | DBEdit14.Text := FormatFloat('##,#00.0', 200); |
só que no lugar do 200 quero colocar o dbedit, eu ja tentei só que o programa diz que falta argumentos algo parecido podem ajudar ? |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Seg Jul 18, 2011 11:55 am Assunto: Re: Formatar Dinheiro no DBEdit |
|
|
| Jonatan500 escreveu: | Olá eu quero fazer com que o meu dbedit fique em formato de moeda ao dar um exit dele, eu ja tenho um codigo meio pronto, mais ele nao esta funcionando, no lugar do showmessage(resultado); eu quero que o resultado mostre no dbedit, ou se alguem tiver um outro geito de fazer este codigo pode ajudar tambem Muito Obrigado
O código é este :
| Código: | var
resultado: string;
begin
resultado := FormatFloat('R$ ###,###,##0.0000', DBEdit14.Text);
ShowMessage(resultado);
end; |
Acontece o seguinte erro
| Citação: | | [DCC Error] UObras.pas(266): E2250 There is no overloaded version of 'FormatFloat' that can be called with these arguments |
_____________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein | Utilize o display format do TFields do campo da tabela que vc quer modificar e não o dbedit em sí. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
adriano366 Novato

Registrado: Segunda-Feira, 28 de Março de 2011 Mensagens: 7
|
Enviada: Seg Jul 18, 2011 12:01 pm Assunto: |
|
|
Siga o Exemplo.
| Código: |
procedure TForm1.Button1Click(Sender: TObject);
var
Resultado: Real;
begin
Resultado:= StrToFloat(Edit1.Text);
Edit2.Text:= FormatFloat('R$ ##.##0',Resultado);
end;
|
No seu caso e so troca o edit2.text pelo showmessage. |
|
| Voltar ao Topo |
|
 |
Jonatan500 Colaborador

Registrado: Sábado, 8 de Janeiro de 2011 Mensagens: 1064 Localização: Palmas/TO
|
Enviada: Seg Jul 18, 2011 12:12 pm Assunto: |
|
|
Ola consigui dos dois geitos rsrs Obrigado a todos
Mais eu quero saber se tem como somar agora com estes pontos Obrigado |
|
| Voltar ao Topo |
|
 |
Thales_fr Aprendiz


Registrado: Sábado, 28 de Agosto de 2004 Mensagens: 204
|
Enviada: Seg Jul 18, 2011 1:54 pm Assunto: |
|
|
| Jonatan500 escreveu: | Ola consigui dos dois geitos rsrs Obrigado a todos
Mais eu quero saber se tem como somar agora com estes pontos Obrigado |
Por que você não marca a propriedade Currency do campo (Campos do tipo numérico), pois o dbedit irá formatar como moeda? Ou caso queira diferente, utilize a propriedade DisplayFormat (também dos campos numéricos), colocando a máscara desejada. |
|
| Voltar ao Topo |
|
 |
Jonatan500 Colaborador

Registrado: Sábado, 8 de Janeiro de 2011 Mensagens: 1064 Localização: Palmas/TO
|
Enviada: Seg Jul 18, 2011 5:54 pm Assunto: |
|
|
ola amigo, mais nao foi isto que eu quis dizer, eu tenho estes dinheiros e tenho uma soma deles ai quando eu vou somar ele impede de somar com os pontos virgulas etc.. o que eu faço para ele somar normal com os pontos e virgulas. Se puder ajudar agradeço
_______________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein |
|
| Voltar ao Topo |
|
 |
Thales_fr Aprendiz


Registrado: Sábado, 28 de Agosto de 2004 Mensagens: 204
|
Enviada: Seg Jul 18, 2011 7:37 pm Assunto: |
|
|
| Jonatan500 escreveu: | ola amigo, mais nao foi isto que eu quis dizer, eu tenho estes dinheiros e tenho uma soma deles ai quando eu vou somar ele impede de somar com os pontos virgulas etc.. o que eu faço para ele somar normal com os pontos e virgulas. Se puder ajudar agradeço
_______________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein |
Se são dbedits, estão ligados a um datasource que por sua vez está em um dataset, então você deveria somar cada registro através do field e não do componente visual. O field terá o valor como fração, assim como você determinou ao criar o dataset.
Para somar todos registros, faça um while not eof no dataset somando numa variável.
falow |
|
| Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Seg Jul 18, 2011 7:41 pm Assunto: |
|
|
Quando vc formata o valor somente é afetado o texto que é exibido e nao no banco de dados. Eu geralmente nao gosto de gravar mascaras no banco e inclusive de cnpj, cpf e etc.
Portanto nao afeta vc mudar a formatação, exceto se o seu campo é um campo de string.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
| Voltar ao Topo |
|
 |
mantech Novato

Registrado: Quinta-Feira, 12 de Agosto de 2010 Mensagens: 19
|
Enviada: Seg Jul 18, 2011 7:53 pm Assunto: Somar campos |
|
|
Olá .. boa noite.
- qual o tipo de dados que você está usando no banco de dados para este campo?
- nos exemplos acima, você está apenas formatando a saída do dado para ser visualizado com formato moeda. Na hora da gravação no banco, com o campo formatado, dá algum erro? Se sim, poste o erro, por favor.
- como o colega mais acima citou, você também pode selecionar a opção CURRENCY para TRUE, que você encontra acessando o DATA MODULE, depois sua TABELA e depois o campo em questão.
- não sei qual o banco de dados que você está utilizando, mas se for sql, para somar dois campos, pode utillizar assim no seu select:
SELECT SUM(VALORCAMPO1 + VALOECAMPO2) AS TOTAL
- e pode usar a função REPLACE também, assim:
SELECT SUM(REPLACE(VALORCAMPO1, ',' , '.') + REPLACE(VALORCAMPO2, ',' , '.')
Não sei é isso que você precisa. E como não sei qual o banco de dados que utiliza e nem o tipo de dados que usa para o campo em questão, estou apenas colocando alternativas.
Espero ter ajudado um pouco mais. Até mais. |
|
| Voltar ao Topo |
|
 |
Jonatan500 Colaborador

Registrado: Sábado, 8 de Janeiro de 2011 Mensagens: 1064 Localização: Palmas/TO
|
Enviada: Ter Jul 19, 2011 9:35 am Assunto: |
|
|
Ola amigo muito obrigado, mais a opção currency eu ja tentei e ainda continua com o erro, o meu banco de dados é o acess e o codigo que eu estou usando para subtrair é este
| Código: |
var
A : Real;
B : Real;
begin
A:=StrToFloat(DBEdit27.Text);
B:=StrToFloat(DBEdit14.Text);
DBEdit22.Text := FloatToStr(A-B);
DBEdit15.Text:=DateToStr(Date);
end; |
e agora eu consigui fazer formatar o campo moeda no DisplayFormat
deste geito #,###0.00
e quando eu vou tentar somar ele da um erro ai aparece o numero que eu digitei e nao subtrai eu nao sei o por que mais se puder ajudar agradeço
_____________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein[/i] |
|
| Voltar ao Topo |
|
 |
Thales_fr Aprendiz


Registrado: Sábado, 28 de Agosto de 2004 Mensagens: 204
|
Enviada: Ter Jul 19, 2011 9:39 am Assunto: |
|
|
| Jonatan500 escreveu: | Ola amigo muito obrigado, mais a opção currency eu ja tentei e ainda continua com o erro, o meu banco de dados é o acess e o codigo que eu estou usando para subtrair é este
| Código: |
var
A : Real;
B : Real;
begin
A:=StrToFloat(DBEdit27.Text);
B:=StrToFloat(DBEdit14.Text);
DBEdit22.Text := FloatToStr(A-B);
DBEdit15.Text:=DateToStr(Date);
end; |
e agora eu consigui fazer formatar o campo moeda no DisplayFormat
deste geito #,###0.00
e quando eu vou tentar somar ele da um erro ai aparece o numero que eu digitei e nao subtrai eu nao sei o por que mais se puder ajudar agradeço
_____________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein[/i] |
Cara como você está ligando os dbedits? você sabe como funcionando um controle dataware? O valor é atribuído somente no exit do componente.
Eu sugiro nunca, eu disse nunca trabalhar com os controle dataware diretamente (acessando propriedades text ou checked) e sim pelos datasets. Digo por experiência própria. |
|
| Voltar ao Topo |
|
 |
Jonatan500 Colaborador

Registrado: Sábado, 8 de Janeiro de 2011 Mensagens: 1064 Localização: Palmas/TO
|
Enviada: Ter Jul 19, 2011 9:43 am Assunto: |
|
|
para a conexão estou usando AdoConnection,AdoQuery e DataAcess eu não sei bem o que é dataware pois ainda sou um pouco novo em delphi, mais se puder ajudar agradeço
_______________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein |
|
| Voltar ao Topo |
|
 |
Thales_fr Aprendiz


Registrado: Sábado, 28 de Agosto de 2004 Mensagens: 204
|
Enviada: Ter Jul 19, 2011 9:59 am Assunto: |
|
|
| Jonatan500 escreveu: | para a conexão estou usando AdoConnection,AdoQuery e DataAcess eu não sei bem o que é dataware pois ainda sou um pouco novo em delphi, mais se puder ajudar agradeço
_______________________________________________________________
O unico que esta ausente dos erros é aquele que não arrisca acertar
Albert Einstein |
O delphi fornece uma API completa para trabalhar com banco de dados. Essa API é baseado na principal classe que é a TDataSet. Essa classe tem as funcionalidades mínimas para controlar os registros (first, next, prior, last, insert, append, delete, post, cancel, etc).
Cada classe de conexão (ADO, IBX, ZeusLib, DBX) implementam uma nova classe que descende da classe base TDataSet.
Os DataSet tem uma propriedade principal que é a Fields. Os Fields são objetos que representam cada campo que irá retornar do SQL / Tabela. O próprio Delphi tenta descobrir o tipo de campo que está vindo e determina do tipo de field que será utilizado (TStringField, TIntegerField, TFloatField, TCurrencyField, TBooleanField, etc).
Quando você escreve um SQL, em geral, é adicionado a um componente do tipo Query.
Para exibir os dados provenientes de um DataSet, utilizamos um componente chamado TDataSource. Esse componente tem a função de unir um componente DataWare (Dbedit, DBCheckbox, dbComboBox, etc) a um componente Dataset.
Os componentes DataWare além de exibir os dados, tem a função de captar a entrada de dados do usuário. Quando o usuário tenta sair do controle, o mesmo tenta colocar o dataset em edição / Inserção e atribui o valor ao campo.
Utilizando esse padrão, os componentes dataware não devem ter suas propriedades como text, checked, acessadas diretamente, pois se você observar a hierarquia dos componentes dataware, eles descendem de componentes básicos do delphi como edit, checkbox.
Ao interferir nas propriedades dos componentes dataware, você impede do mesmo trabalhar corretamente.
Espero ter ajudado. Sugiro ler algum livro de Delphi. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|