Fórum Gerador de variáveis. #484338

02/07/2014

0

Boa tarde

Antes de mais nada, obrigado a todos pela compreensão é minha primeira pergunta.
Sou novato por aqui, se por ventura estou postando em lugar errado. Vai minha desculpa.

Estou trabalhando em um Projeto onde Surgiu a necessidade de Criar um Gerador de Variáveis.
O próprio usuária irá criar a variável e setar seu valor ora do banco de dados hora de algum valor.

Ex.: setvar(var_x,(tipo=currency,valor=10,00));
setvar(var_x,(tipo=currency,valor=(tabela_banco, campo_x)));

Pesquisei alguns assuntos como: Metaprogramação, mas não é bem isso que eu preciso.

Aplicação está sendo desenvolvida em delphi XE5 e Banco de dados Postgres.

Grato.
Jovany Aquino

Jovany Aquino

Responder

Posts

02/07/2014

Joel Rodrigues

Qual será o uso dessas variáveis? Será, por exemplo, para calcular expressões do tipo X1+X2+X3...+Xn?
Responder

Gostei + 0

03/07/2014

Jovany Aquino

bom dia

Isso mesmo Joel

Digamos que eu crio essa Var_x com valor setado de 10
setvar(var_x,(tipo=currency,valor=10,00));

depois crio a var_z
busco da tabela_banco no campo_valor
setvar(var_z,(tipo=currency,valor=(tabela_banco, campo_valor)));//Esse campo do banco digamos que está com o valor de 5

aqui eu crio a var_result e atribuirei os cálculos necessários
setvar(var_result,(tipo=currency, (var_x * var_z)));//10*5

retorno = (var_result) // var_result = 50

Quando o Sistema Carregar essas Variáveis
o Retorno será de 50.

Não Sei se deu de Compreender.

Obrigado por enquanto.
Responder

Gostei + 0

03/07/2014

Joel Rodrigues

Rapaz, eu mesmo nunca usei, mas sei que tem um componente da biblioteca Jedi que promete fazer isso. Dê uma olhada neste tópico, talvez lhe ajude: http://stackoverflow.com/questions/1326258/mathematical-expression-parser-in-delphi
Responder

Gostei + 0

03/07/2014

Jovany Aquino

boa tarde

Joel foi de muita valia seu comentário.

Porém não é bem isso que eu estou a procura.
A intenção é guardar no banco de dados essas formulas com n variáveis e quando necessário carrega-la em modo de execução para obter determinado Cálculo.

Mas obrigado pela sua participação.
Responder

Gostei + 0

03/07/2014

Joel Rodrigues

Mas se o componente interpreta a expressão, o que impede de salvá-las em qualquer canto e carregar em runtime?
Responder

Gostei + 0

04/07/2014

Itamar Souza

Bom dia
Neste caso você vai criar uma tabela onde o usuário vai gravar o nome para a variável e escolher um tipo predefinido para ela (visto que eles podem não escolher corretamente) e depois eles vão adicionar um valor para este campo, escolher a tabela e o campo de vinculo que precisa vim de acordo com o tipo da variável selecionada. Você vai ter na tabela o nome da variável escolhida + tipo da variável + valor da variável + nome do campo da tabela + nome da tabela.
Quando você precisar usar então é só carregas as informações.
Veja se ajuda!
Responder

Gostei + 0

04/07/2014

Jovany Aquino

boa tarde

Fiz alguns teste
Está clareando algumas idéias.

procedure TForm1.Button1Click(Sender: TObject);
begin
JvInterpreterProgram1.Pas.Add('(2*5)/2');
JvInterpreterProgram1.Pas.Add('+10.00');
JvInterpreterProgram1.Pas.Add('+2');
JvInterpreterProgram1.Run;
Edit1.Text := JvInterpreterProgram1.VResult;

//resultado = 17 correto
end;

Retorno satisfatórios

Acredito que vou ter que criar alguma metodologia pra gerir esses códigos.

Vou pensar mais nesse caso e volto a postar a solução.

Obrigado pelas dicas.

Se houver mais alguma ideia postem a vontade.
Responder

Gostei + 0

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

Aceitar