Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Aridelmo

Criar fórmula com variável

Recommended Posts

oi gente. estou com o seguinte problema.

 

Preciso que meu sistema reconheça a seguinte fórmula:

Dentro de um Edit escrevo:[L-105], sendo que o valor de "L" esta em outro campo.

Preciso que seja reconhecido esse valor e me retorne o resultado da operação.

Digamos que seja assim:

valor de L: L=200

Fórmula : L-105

Resultado : 95

 

Se alguem souber como fazer isso...fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa...

E você quer um cafézinho enquanto espera?

E ja dou a dica de esperar sentado, porque de pé vai cansar!

 

 

Mostra trabalho, mostra código!

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi gente. estou com o seguinte problema.

 

Preciso que meu sistema reconheça a seguinte fórmula:

Dentro de um Edit escrevo:[L-105], sendo que o valor de "L" esta em outro campo.

Preciso que seja reconhecido esse valor e me retorne o resultado da operação.

Digamos que seja assim:

valor de L: L=200

Fórmula : L-105

Resultado : 95

 

Se alguem souber como fazer isso...fico grato.

 

Ae maninho seguinte, eu ate fix um codigo pra lhe ajudar mais acho que nao eh exatamene o que voce quer mais ja serve e muito, pelo menos eu acho,acontece que estou com pouco tempo entaum nao tenho como verificar uma forma de pegar o sinal e das formas que tentei esta funcionou porem mesmo que nao te sirva 100% voce pode adaptar vou postar o codigo todo pra facilitar pois esta meio confuso ja que fis as pressas.

 

Antes de mais nada, coloque um edit(edit1) no form um button(btnCalcular) e 4 radiobuttos(rSoma,rDiminui,rDividi,rMultiplica), o edit voce pode utilizar um mask edit.

No evento onclick do button coloque.

 

procedure TForm1.btnCalcularClick(Sender: TObject);
var
  calcular: real;
  position1,position2: integer;
  L,RestoDoEdit,TestaSinal: string;
begin

  if rDiminuir.Checked = True then
   TestaSinal:= '-';

  if rMultiplicar.Checked = True then
         TestaSinal:= '*';

  if rDividir.Checked = True then
        TestaSinal:= '/';

  if rSomar.Checked = True then
          TestaSinal:= '+';


  position1 := pos('L', edit1.text);
  position2 := pos(TestaSinal,edit1.text);
  if (position1 > 0) and (position2 > 0)then  Begin
    L:= '100'; //Aki eh o Valor fixo de L podendo variar a sua vontade
    RestoDoEdit:=  copy(edit1.text, position2 + 1);

      if rDiminuir.Checked = True then begin
        calcular:= StrToFloat(L) -  StrToFloat(RestoDoEdit);
        ShowMessage(FloatToStr(calcular));
      end;

      if rMultiplicar.Checked = True then begin
        calcular:= StrToFloat(L) * StrToFloat(RestoDoEdit);
        ShowMessage(FloatToStr(calcular));
      end;

      if rDividir.Checked = True then begin
        calcular:= StrToFloat(L) / StrToFloat(RestoDoEdit);
        ShowMessage(FloatToStr(calcular));
      end;

      if rSomar.Checked = True then begin
        calcular:= StrToFloat(L) + StrToFloat(RestoDoEdit);
        ShowMessage(FloatToStr(calcular));
      end;
  End;
end;

Espero que te ajude kalker duvida posta ai, outra hora vou ver como COndicionar o Sinal pois eh bem complicado ^^, talves o Raficcha lhe ajude se ver esse topico abrassao.

Utilize sempre o sinal, se escolher diminuir faça L - 100 por exemlplo vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.