Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Campo que contiene formula (https://www.clubdelphi.com/foros/showthread.php?t=65348)

oscarac 07-12-2009 23:15:03

Campo que contiene formula
 
Saludos

tengo una consulta, la idea es la siguiente, tengo una tabla que tiene un campo donde esta guardada una formula

ejemplo

X-11
X / 2 + 5
X / 2 - 6

y tengo un EDIT donde hago el ingreso de X

entonces cual seria el algoritmo que debo utilizar para que pueda ejecutarse la formula que esta guardado en la tabla

Ejemplo
Si X = 100

X-11 = 89
X / 2 + 5 = 55
X/2 - 6 = 44

espero que me haya dejado entender
Gracias

Aleca 08-12-2009 12:56:57

podes usar TCalcExpress u otro similar.:)
te paso el link
http://www.aidaim.com/products/free_...s/intr_spc.php

oscarac 10-12-2009 22:24:19

gracias Aleca
tendras un ejemplo?

la demo que esta ahi, le verdad no la entiendo bien

Aleca 10-12-2009 23:05:16

Cita:

Empezado por oscarac (Mensaje 348653)
gracias Aleca
tendras un ejemplo?

la demo que esta ahi, le verdad no la entiendo bien

Código Delphi [-]
...
var
  args: Array of extended;
  cVariables: TStringList;
begin
  if DBEdtFormula.Field.IsNull then
    DBEdtCANT_AL_IN.Field.AsFloat := DBEdtCant_AL_RE.Field.AsFloat
  else
  begin
    CalcExpress1.Formula := DBEdtFormula.Field.AsString;
    cVariables := TStringList.Create;
    cVariables.Add('CA');
    CalcExpress1.Variables := cVariables;
    SetLength( args, 1);
    args[0] := DSceBases.DataSet.FieldByName('CANT_REMI').AsFloat;
    DSceBases.DataSet.FieldByName('CANT_ING').AsFloat :=    CalcExpress1.calc(args);
  end;
en el ej. lo usa para poder ingresar el remito del proveedor de materias primas que pueden entregar con dif. unidades de medida.
Por ej. la empresa lleva el stock en gramos y el proveedor entrega x Kg, la formula realiza la conversion, en este caso tengo una sola variable 'CA'. Una formula puede ser asi: CA * 1000.
:)

oscarac 11-12-2009 00:49:59

aleca tienes msn?

oscarac 11-12-2009 01:16:27

ya me funciona

pero tengo un problema
el resultado del calculo lo necesito meter en un campo de un query,
creo el campo Valor en el query, en tipo le pongo DATA y cuando ejecuto me sale que el campo no existe :S raro no?

no se como hacer para tener un campo en el query donde yo pueda grabar el resultado de la formula

alguien sabe de eso?


La franja horaria es GMT +2. Ahora son las 16:44:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi