Dúvida Simples - função matemática
Preciso mostrar o resultado da divisão de dois DBEdit´s em um outro edit e multiplicar este resultado por 100 para encontrar o percentual correspondente.
Ex.:
DBedit1(resultado) = 100
DBEdit2(resultado) = 200
DBEdit3 (resultado) 100/200 = 0,5 * 100 = 50¬
Obrigado
CBier
Ex.:
DBedit1(resultado) = 100
DBEdit2(resultado) = 200
DBEdit3 (resultado) 100/200 = 0,5 * 100 = 50¬
Obrigado
CBier
Cbier
Curtidas 0
Respostas
Lucas Silva
13/04/2004
DBEdit3.Text := IntToStr((StrToInt(DBedit1.Text)/StrToInt(DBedit2.Text))*100)
GOSTEI 0
Marco Salles
13/04/2004
Troque O [b:1b3654fc31]Inttostr[/b:1b3654fc31] por [b:1b3654fc31]FloatToStr [/b:1b3654fc31]...Por Se Tratar De Usar o Operador [b:1b3654fc31]´/´[/b:1b3654fc31] e Não a Intrução [b:1b3654fc31]´Div´[/b:1b3654fc31]....
Usar [b:1b3654fc31]StrToFloat[/b:1b3654fc31](DbEdit.Text) ou [b:1b3654fc31]StrToInt[/b:1b3654fc31](DbEdit.Text), este sim , Vai Depender do [b:1b3654fc31]Tipo [/b:1b3654fc31]Definido Pelo Seu Campo....Porém como sabemos, o [b:1b3654fc31]StrToFloat[/b:1b3654fc31](DbEdit.Text) é Mais [b:1b3654fc31]abrangente[/b:1b3654fc31] do Que [b:1b3654fc31]StrToInt[/b:1b3654fc31](DbEdit.Text)....
Usar [b:1b3654fc31]StrToFloat[/b:1b3654fc31](DbEdit.Text) ou [b:1b3654fc31]StrToInt[/b:1b3654fc31](DbEdit.Text), este sim , Vai Depender do [b:1b3654fc31]Tipo [/b:1b3654fc31]Definido Pelo Seu Campo....Porém como sabemos, o [b:1b3654fc31]StrToFloat[/b:1b3654fc31](DbEdit.Text) é Mais [b:1b3654fc31]abrangente[/b:1b3654fc31] do Que [b:1b3654fc31]StrToInt[/b:1b3654fc31](DbEdit.Text)....
Edit1.Text := FloatToStr((StrToFloat(DBedit1.Text)/StrToFloat(DBedit2.Text))*100)
GOSTEI 0
Cbier
13/04/2004
Têm como utilizar este código para calcular o resultado da divisão de QRExpr ??
CBier
CBier
GOSTEI 0
Cbier
13/04/2004
Têm como utilizar este código para calcular o resultado da divisão de QRExpr ??
CBier
Estou usando assim:
No onprint do QRlabel34
var
v1: real;
v2: real;
begin
v1:= strtofloat(qrexpr2.expression);
v2:= strtofloat(qrexpr4.expression);
QRLabel34.caption:= floattostr((v1/v2)*100);
Está dando o seguinte erro:
ERRO ´SUM(tblResulta5.qtd)´ is not a valid floating point value
o campo QTd da tabela e os QRExpr estão com o format mask = #,0
Me ajudem a corrigir o problema.
Obrigado
CBier
GOSTEI 0
Marco Salles
13/04/2004
Os Livros, pelo menos os que já li, falam maravilhas deste componente ´QrExp´....´Este componente pode realizar calculos complexos[b:f23dce325e]´...Xiiiiiiii[/b:f23dce325e],Eu Vejo muita gente com dúvidas quanto a utilização Deste [b:f23dce325e]calculos complexos[/b:f23dce325e](Eu Também estou neste bolo)..Alguma coisa lá outra cá, já consegui realisar com este componente, mas nada que me enchesse os olhos.....Então o que faço as vesez e que tem funcionado, é fazer os calculos normalmente e passar o valor em forma de string para um componenente QrLabel do Forumulário de Impressão...Assim, se for seguir este exemplo
Ha, Mas eu quero imprimir para cada registro um percentual e não um valor único como voce me propos anteriormente :( :( ..Não tem Problema , Crie um [b:f23dce325e]Campo Calculado [/b:f23dce325e]Que Faça esta Conta...e Mande Imprimir o [b:f23dce325e]Campo Calculo [/b:f23dce325e]Na Banda Detail...
Mas, mesmo que esta estratégia resolva o problema, é aconselhavel que voce Entre no editor de Expressão(na propiedade ´Espression´ do QrExpression) e tente resolver....Se Não consegui, Poste...
[b:f23dce325e]Deu Para Entender a Idéia :idea: [/b:f23dce325e] :?: :?:
Edit1.Text := FloatToStr((StrToFloat(DBedit1.Text)/StrToFloat(DBedit2.Text))*100); FormularioImpressao.QrLabel.Caption:=Edit1.Text;
Ha, Mas eu quero imprimir para cada registro um percentual e não um valor único como voce me propos anteriormente :( :( ..Não tem Problema , Crie um [b:f23dce325e]Campo Calculado [/b:f23dce325e]Que Faça esta Conta...e Mande Imprimir o [b:f23dce325e]Campo Calculo [/b:f23dce325e]Na Banda Detail...
Mas, mesmo que esta estratégia resolva o problema, é aconselhavel que voce Entre no editor de Expressão(na propiedade ´Espression´ do QrExpression) e tente resolver....Se Não consegui, Poste...
[b:f23dce325e]Deu Para Entender a Idéia :idea: [/b:f23dce325e] :?: :?:
GOSTEI 0
Cbier
13/04/2004
O problema é que para encontrar o valores dos QRExpr. existe algumas opções de filtros na tabela, como por ex.:
Período dos registros;
Nome do cliente;
Uf
O resultado é que deve ser calculado. Não vejo como fazer um QRLabel ser igual a um Edit sem utilizar os filtros necessários. As informações do relatório são extraídas de várias tabelas através das subdetal band.
Já faz algum tempo que estou nesta luta e não consigo encontrar uma alternativa viável para isso.
Se vc. pensar bem a lógica é simples. Preciso apenas extrair um percentual correspondente entre dois valores distintos. Só isso.
CBeir
Período dos registros;
Nome do cliente;
Uf
O resultado é que deve ser calculado. Não vejo como fazer um QRLabel ser igual a um Edit sem utilizar os filtros necessários. As informações do relatório são extraídas de várias tabelas através das subdetal band.
Já faz algum tempo que estou nesta luta e não consigo encontrar uma alternativa viável para isso.
Se vc. pensar bem a lógica é simples. Preciso apenas extrair um percentual correspondente entre dois valores distintos. Só isso.
CBeir
GOSTEI 0
Marco Salles
13/04/2004
Marco salles
CBier
[b:a230360701]Ja vi que Não[/b:a230360701]....Suponha que eu tenha um campo [b:a230360701]venda,data,Clinte[/b:a230360701]. Eu Gostaria de [b:a230360701]Filtrar por Periodo e por um determinado cliente[/b:a230360701], de modo que o Resultado mostre todas as compras do cliente neste periodo...Gostaria também de imprimir o [b:a230360701]total[/b:a230360701] destas compras...A Primeira idéia que se passa e usar o QrExprex, para fazer esta soma... [b:a230360701]Eu Disse: Xiiiiiiii....[/b:a230360701]..A Outra idéia Que eu estou tentando lhe passar e fazer a soma no própio formulário de Pesquisa e colocar o Valor Desta Soma Num QrLabel..Esta Soma Pode Ser Feita Ou Usando Um Comando :
[b:a230360701] While not Table1.Eof do ; Ou Uma Instrução Sql[/b:a230360701]... O Resultado Desta Soma eu Vou Atribuir Para o QrLable, Claro que Devidamente Formatado....[b:a230360701][size=18:a230360701]Em Outra Palavras eu Calculo as Minhas Expressões e Não Deixo Isto Por Conta Do QrExp....[/size:a230360701][/b:a230360701]
O Motivo :?: :?: Ele Já Foi Espressado:QrExp, [b:a230360701]Xiiiiiiiiiii[/b:a230360701]....
Mas se Voce Consegue desenvolver bem no QrExp, Melhor ainda..Eu Tenho Visto aqui no forum muita gente batendo a cabeça para fazer Calculos Simples como QrExp, e também Estou Neste Grupo...[b:a230360701]QrExp...Xiiiiiiii[/b:a230360701]
Deu Para Entender a Idéia
CBier
Não vejo como fazer um QRLabel ser igual a um Edit sem utilizar os filtros necessários.
[b:a230360701]Ja vi que Não[/b:a230360701]....Suponha que eu tenha um campo [b:a230360701]venda,data,Clinte[/b:a230360701]. Eu Gostaria de [b:a230360701]Filtrar por Periodo e por um determinado cliente[/b:a230360701], de modo que o Resultado mostre todas as compras do cliente neste periodo...Gostaria também de imprimir o [b:a230360701]total[/b:a230360701] destas compras...A Primeira idéia que se passa e usar o QrExprex, para fazer esta soma... [b:a230360701]Eu Disse: Xiiiiiiii....[/b:a230360701]..A Outra idéia Que eu estou tentando lhe passar e fazer a soma no própio formulário de Pesquisa e colocar o Valor Desta Soma Num QrLabel..Esta Soma Pode Ser Feita Ou Usando Um Comando :
[b:a230360701] While not Table1.Eof do ; Ou Uma Instrução Sql[/b:a230360701]... O Resultado Desta Soma eu Vou Atribuir Para o QrLable, Claro que Devidamente Formatado....[b:a230360701][size=18:a230360701]Em Outra Palavras eu Calculo as Minhas Expressões e Não Deixo Isto Por Conta Do QrExp....[/size:a230360701][/b:a230360701]
O Motivo :?: :?: Ele Já Foi Espressado:QrExp, [b:a230360701]Xiiiiiiiiiii[/b:a230360701]....
Mas se Voce Consegue desenvolver bem no QrExp, Melhor ainda..Eu Tenho Visto aqui no forum muita gente batendo a cabeça para fazer Calculos Simples como QrExp, e também Estou Neste Grupo...[b:a230360701]QrExp...Xiiiiiiii[/b:a230360701]
GOSTEI 0
Cbier
13/04/2004
Entendi a sua idéia e vou usar esta instrução. Ainda bem que é apenas um relatório do meu projeto.
Valeu mesmo.
CBier
Valeu mesmo.
CBier
GOSTEI 0