Fórum Comandos #157980

05/05/2003

0

Boa tarde turminha....

Bom, o meu caso é o seguinte...

Digamos que eu tenha duas variaveis [color=red:e016763054]V01=1000,00 [/color:e016763054]e [color=red:e016763054]V15=500,00 [/color:e016763054]Ok

E eu quero sabe como faço para que no final ela some as minhas variaveis e mais 50¬ do seu valor...

[color=blue:e016763054]Exe[/color:e016763054]: Xis = V01+V15*1.5 (*50¬)...

Alguem poderia me ajudar com isso?

[b:e016763054]OBS:[/b:e016763054] Eu utilizo o CLX do Delphi 7...

Ou alguem sabe me dizer onde eu encontro comandos para isso....


Desse ja agradeço a atenção de todos...


Cristiane

Cristiane

Responder

Posts

05/05/2003

Falinden

Basta fazer:

Xis = (V01+V15)*1.5


Responder

Gostei + 0

05/05/2003

Cristiane

Desculpe-me....mas se fosse tao facil assim eu ja teria feito....

Assim nao da certo....


Responder

Gostei + 0

05/05/2003

Marcelo.c

Faça:

var
Xis: [b:4442b12521]Extended[/b:4442b12521];
V01, V15: Integer;

Xis:=(V01+V15)*1.5;


Responder

Gostei + 0

05/05/2003

Marcelo.c

Para transformar em String:

Edi1.Text:= format(´¬m´,[Xis]); [i:f0a533a33a]// Formato de Moeda[/i:f0a533a33a]


Responder

Gostei + 0

05/05/2003

Cristiane

Obrigado pelas respostas....


Mas se meu V01 e meu V15 forem uma DbEdit....como faço para fazer a soma?


Obrigado pelas ajudas...


Responder

Gostei + 0

05/05/2003

4_olho

Se os V0?? forem o ´resultado´ de DBEdits então, na verdade são valores de algum campo, então no código enviado pelo marcelo.c adicione

v01 := tabelacampo.value.asinteger;

repita para v015. Lembre-se de trocar tabelacampo pelo nome de sua tabela e campo. Pode usar também o FiledByname.


Responder

Gostei + 0

05/05/2003

Aroldo Zanela

Se os V0?? forem o ´resultado´ de DBEdits então, na verdade são valores de algum campo, então no código enviado pelo marcelo.c adicione v01 := tabelacampo.value.asinteger; repita para v015. Lembre-se de trocar tabelacampo pelo nome de sua tabela e campo. Pode usar também o FiledByname.


Acho que o colega se equivocou:

v01 := tabelacampo.asinteger;


Responder

Gostei + 0

05/05/2003

4_olho

Ops!!!!!

Escorreguei na maionese.

´Tanks´ Aroldo. Ou é um .Value ou é outro .AsInteger

Desculpem a besteira e muito obrigado pela correção.


Responder

Gostei + 0

06/05/2003

Cristiane

Fico grata com a ajuda que voces estao me dando, mas preciso entender melhor como é esse processo....aqui vai um exemplo de como seria, e quem sabe assim seria mais facil de vcs me ajudarem:

Tenho 2 tabelas:

Tabela de CONTAS

CODIGO DESCRICAO
01 HORAS NORMAIS
15 HORAS REPOUSO
20 HORAS EXTRAS 50 ¬

Preciso carregar os codigos em variaveis com ´V´ concatenado

Tabela de Formulas

CODIGO FORMULA
20 (V01+V15)*1.5
etc.


EM CLIPPER UTILIZAVA-SE MACRO SUBSTITUICAO
V20 = FORMULA// ´V´+CAMPO CODIGO IGUAL A CAMPO FORMULA DA TABELA FORMULAS
XIS = &V20// TINHA-SE O RESULTADO




Desde ja mais uma vez agradeço a atenção e a ajuda de todos....


Responder

Gostei + 0

06/05/2003

4_olho

Informações insuficientes.

Que Banco de Dados está usando ?
Onde estão os valores para HORAS NORMAIS e HORAS REPOUSO, ou seja, os valores para V01 e V15 ? Você disse que eram de um DBEdit, portanto são carregados de um arquivo.

O que está ´pegando´ é a lógica de seu aplicativo. O que você quer dá para entender, mas é preciso conhecer um pouco mais como você está tentando resolver.

Pelas primeiras mensagens dá a entender que V01 e V15 (por exemplo) trabalham com valores monetários, correspondentes às horas trabalhadas e horas em repouso, respectivamente, mas suas tabelas trabalham com horas. Em algum lugar você faz o cálculo ou a conversão.

Esta ´confusão´ de unidades pode atrapalhar um pouco. Concorda que (V01+v15)*1,5 se calculado como valor, vai dar um resultado bem diferente do que se fosse calculado como horas. Neste último caso, como calcular a diferença de valor entre horas normais e de repouso ?

Talvez se disponibilizar um pouco mais de seu código, fica mais fácil. Pode enviar por MP se quiser manter algum sigilo.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar