Ver la Versión Completa : necesito una pequeña ayuda
Robert01
25-12-2006, 05:12:04
¿Como debe hacer para ingresar el nombre de una función, de las de la unit math, a través de un cuadro de tecto u otro control similar para que sea reconocida como una función?
al ingresar el nombre a mi me pone que es una string y no toma los valores para esa función: supongamos Ln(x).
Desde ya gracias a todos.
Una felíz navidad para todos!
Lo que intuyes no puedes hacerlo rápidamente. Hay componentes para interpretar cadenas como expresiones matemáticas, quizás incluyan la función Ln y otras parecidas. Al menos en delphi (instalación estándar), no hay nada.
Para algo simple, puedes usar esto:
var texto, parametro:string
posLn, pospar :integer; Posición del texto Ln y posición de los parámetros
texto := lowercase(trim(edit1.text)); // ejemplo: 'ln(367)'
PosLN = pos ('ln(',texto);
if pos <>0 then
begin // es un logaritmo
//Ahora con pos busca los parámetros
parametro := texto;
delete(parametro, posLN+3); // nos queda: '367)'
pospar := pos(')', parametro) ;
if pospar <>0 then
begin
parametro := copy(parametro, 1, pospar); // en parametro nos queda: '367'
ResultadoDelLogaritmo := Ln(StrToInt(parametro));
end;
end;
Otra opción es usar Expresiones regulares, busca en el foro por "RexExp" es algo más complejo, pero seguro que te sirve.
Saludos
Robert01
25-12-2006, 13:28:04
Hola lepe
Gracias por tu ayuda.
Voy a probar el código para ver si consigo ir adaptarlo a mis necesidades.
Felíz navidad si eres creyente y si no lo eres también porque creo que se festeja en gran parte del mundo.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.