Hice una, meto la operacion en un string muy largo, luego cuando dan al Enter para ver el resultado. hago
Resultado = Evaluate(StringOperacion)
Estaba buscando el codigo para enviartelo, pero no lo tengo aqui, si lo encuentro te lo paso en un par de dias.
A diferencia de las clasicas calculadoras, yo muestro el string como un entry en la ventana y no borro la operacion, de modo que si quieren modificar un dato, o se han equivocado lo puedan rectificar y dar con el resultado sin tener que volver a meter todas las operaciones.