eu denovo
bom tenho mais uma duvida acho que simples tipo eu quero pegar um valor de um campo x e fazer varios calculo usando esse valor so que quando eu pego um valor x e troco o item no combobox ele me retorna o valor ja reduzido tipo c o campo tiver o valor de 100 eu quero que todos os calculos sejam efetuados em cima desse valor nao sei como fazer isso, se eu mudar o item do combobox pro item nao reduzido o valor voltasse nao reduzido por exemplo ele voltasse pro valor de 100 ou seja todos os calculos fossem efetuados em cima de 100 a medida que eu mudasse o item do combobox
procedure Tcadastronotas.RxDBComboBox1Change(Sender: TObject);
var
ireduzido:real;
ialiquota:real;
ibase:real;
ireducao:string;
iicms:real;
itempicms, itempaliquota, itempbase:real;
begin
inherited;
begin itempbase:=dbedit15.field.Value;
itempaliquota:=dbedit16.field.value;
itempicms:=dbedit48.Field.value; if (RxDBComboBox1.Text=17/10%)and (dbedit11.Field.Value=020) and (dbedit15.Field.value>0) and (dbedit16.field.value>0) and (itempbase>0) and (itempicms>0) and (itempaliquota>0) then
begin
ialiquota:= 17;
ireducao:=58,82;
ibase:=itempbase;
ireduzido:= ibase * strtofloat(ireducao)/100;
dbedit15.field.value:=ireduzido;
iicms:=ireduzido * ialiquota;
dbedit48.field.value:=iicms/100;
dbedit16.Field.Value:=ialiquota
end;
if (RxDBComboBox1.Text=12/07%)and (dbedit11.Field.Value=020) and (dbedit15.Field.value>0) and (dbedit16.field.value>0) and (itempbase>0) and (itempicms>0) and (itempaliquota>0) then
begin showmessage(o valor é +floattostr(itempbase));
ialiquota:= 12;
ireducao:=58,30;
ibase:=itempbase;
ireduzido:= ibase * strtofloat(ireducao)/100;
dbedit15.field.value:=ireduzido;
iicms:=ireduzido * ialiquota;
dbedit48.field.value:=iicms/100;
dbedit16.field.value:=ialiquota
end
end; end;
ireduzido:real;
ialiquota:real;
ibase:real;
ireducao:string;
iicms:real;
itempicms, itempaliquota, itempbase:real;
begin
inherited;
begin itempbase:=dbedit15.field.Value;
itempaliquota:=dbedit16.field.value;
itempicms:=dbedit48.Field.value; if (RxDBComboBox1.Text=17/10%)and (dbedit11.Field.Value=020) and (dbedit15.Field.value>0) and (dbedit16.field.value>0) and (itempbase>0) and (itempicms>0) and (itempaliquota>0) then
begin
ialiquota:= 17;
ireducao:=58,82;
ibase:=itempbase;
ireduzido:= ibase * strtofloat(ireducao)/100;
dbedit15.field.value:=ireduzido;
iicms:=ireduzido * ialiquota;
dbedit48.field.value:=iicms/100;
dbedit16.Field.Value:=ialiquota
end;
if (RxDBComboBox1.Text=12/07%)and (dbedit11.Field.Value=020) and (dbedit15.Field.value>0) and (dbedit16.field.value>0) and (itempbase>0) and (itempicms>0) and (itempaliquota>0) then
begin showmessage(o valor é +floattostr(itempbase));
ialiquota:= 12;
ireducao:=58,30;
ibase:=itempbase;
ireduzido:= ibase * strtofloat(ireducao)/100;
dbedit15.field.value:=ireduzido;
iicms:=ireduzido * ialiquota;
dbedit48.field.value:=iicms/100;
dbedit16.field.value:=ialiquota
end
end; end;
Paulo Silva
Curtidas 0
Respostas
Wesley Yamazack
30/12/2008
Paulo
Boa tarde,
Faça o seguinte, crie uma variável privada para que somente tenha acesso de dentro deste formulário. Na hora em que você informar este valor X, atribua o mesmo a variável que vc ira criar, de o nome por exemplo de vReaoriginal: Real.
No onchange do seu edit, coloque
vReaoriginal:= Edtix.text;
Dai ao inves de você usar o valor que esta no edit use sempre o valor da variável, e quando for necessário usar o valor original, faça o mesmo procedimento do onchange, sendo assim no seu edit sempre terá o valor original.
Att,
Wesley Yamazack
Boa tarde,
Faça o seguinte, crie uma variável privada para que somente tenha acesso de dentro deste formulário. Na hora em que você informar este valor X, atribua o mesmo a variável que vc ira criar, de o nome por exemplo de vReaoriginal: Real.
No onchange do seu edit, coloque
vReaoriginal:= Edtix.text;
Dai ao inves de você usar o valor que esta no edit use sempre o valor da variável, e quando for necessário usar o valor original, faça o mesmo procedimento do onchange, sendo assim no seu edit sempre terá o valor original.
Att,
Wesley Yamazack
GOSTEI 0
Wesley Yamazack
30/12/2008
Paulo, bom dia.
Gostaria de saber se podemos fechar o chamado. Aguardo seu contato
Att,
Wesley Yamazack
GOSTEI 0
Paulo Silva
30/12/2008
Pode Fechar o chamado sim!
GOSTEI 0