Hola.
Estoy realizando un mini sistema de liquidacion de sueldos, y me gustaria ver la forma de que se autocalculen formulas.
Por ejemplo, si tengo un sueldo al que hay que aplicarle un porcentaje y sumarle una cantidad extra.
Supongo tener en una variale el valor del sueldo y en otra la formula, por ejemplo:
dim sueldo as double=0
dim calculo as double=0
dim extra,porcentaje,valor as string=""
sueldo=6500
valor=str(sueldo)
extra=“4000”
porcentaje=“12”
calculo=“valor*porcentaje/100+cantidadextra”
textfield1.text=calculo
Yo recuerdo realizarlo en clipper, foxpro y visual con funciones ya establecidas, pero no encuentro alguna en xojo.
Por supuesto seguro ustedes con mayor experiencia en xojo quizas puedan ayudarme.
Gracias
Hola, Hola.
muchos aqu provienen de ‘Clipper’ o ‘foxfro’.
s, recuerdo que se puede utilizar clculos para ser procesados en formato de texto …
en xojo puede utilizar XojoScript,
Dim expression As String = "2 + (5-3) * 2"
XojoScript1.Source = "Print(Str(" + expression + "))"
XojoScript1.Run
Nunca he usado, as que no s si se puede pasar datos y recibir los resultados. Creo que s
Hola,
No s si he entendido bien el problema que planteas. Dime si van por aqui los tiros:
Si la frmula es siempre la misma, y slo varan las cantidades (porcentaje, extra y sueldo), entonces puedes disear un formulario (ventana) en el que se utilicen tres TextField para cada uno de esos datos (por ejemplo, con los nombres tSueldo, tExtra y tPorcentaje). Luego, el cdigo slo tendr que tomar dichos datos, realizar el clculo e imprimirlo en un Label o el tipo de control que desees:
[code]
Dim sueldo, porcentaje, extra, resultado As Double
sueldo = cdbl(tSueldo.Text)
porcentaje = cdbl(tPorcentaje.Text)
extra = cdbl(tExtra.Text)
resultado = ((sueldo*porcentaje)/100) + extra
lResultado.Text = Format( resultado,"#.00")[/code]
Javier Rodrguez
Evangelista Xojo en Espaol, Desarrollador, Consultor y Formador Xojo
Autor del libro “Programacin Multiplataforma Xojo”
Autor del plug-in GuancheMOS para Xojo
Snippery para OS X: editor y gestor de fragmentos y ms!
De acuerdo, entonces, si es necesario slo un clculo normal, aqu es una funcin que se utiliza para calcular los compuestos de descuento como 50 + 20 + 3, etc.
function importosconto(importo as double, sconto as string)
dim importoscontato as double
dim elementi as integer
dim cursore as integer
dim posizione as integer
if sconto = "" then
return ""
exit Function
else
importoscontato = importo
dim sconti() as string
sconto = ReplaceAll(sconto,"+","@+")
sconto = ReplaceAll(sconto,"-","@-")
sconto = ReplaceAll(sconto,",",".")
sconti() = split(sconto,"@")
elementi = UBound(sconti())
for cursore = 0 to elementi
importoscontato = importoscontato - (importoscontato * val(sconti(cursore)) / 100)
next
return format(importoscontato,"#,###,###.000")
end if
end function
Hola, gracias por respoder.
La idea es guardar en un campo de la base de datos la formula, por ejemplo
s+s*p/100
Luego mediante sistema darle valores a 2 variable como por ejemplo “sueldo” y “porcentaje”
Ahora bien una vez realizado esto leo la formula del campo en la base de datos y la guardo en una variable or ejemplo
formulita=“s+s*p/100”
luego teniendo sueldo y porcentaje
s=sueldo
p=porcentaje
formula=formulita
imprimo el valor de formula
Algo asi era en clipper o en vb6 con script