PDA

Ver la Versión Completa : Ayuda sobre operadores y variables!!!


rob1
18-09-2005, 02:01:46
Antes q nada perdon por postear aca no sabia donde hacerlo, mi pregunta es la siguiente :¿puedo guardar un operador como + o * en una variable y despues usarlo? por favor contesten

dec
18-09-2005, 02:13:57
Hola,

Si hablamos de lo que se conoce como "sobrecarga de Operadores" creo no equivocarme si digo que Delphi no la contempla. Si nos ponemos a guardar en una variable de tipo "Char" (creo que podría ser lo suyo, a bote pronto) un caracter como "+" no tendremos problemas para hacerlo.


var
c: Char;
begin
c := '+';
case c of
'-': ShowMessage('Conque menos...');
'+': ShowMessage('Más, hombre, más...');
end;
end;

rob1
18-09-2005, 02:19:24
hola, gracias, muy rapida la respuesta pero no responde mi inquietud, quiza se deba a mi sintetica pregunta pero:
ej:
si yo tengo:

var
n1,n2:integer;
s1:char;
begin
n1:=1;
n2:=3;
s1:='+'
//como puedo hacer el calculo.

GRACIAS

dec
18-09-2005, 02:38:30
Hola,

A mí se me ocurre una forma, pero, desde luego, no sé hasta qué punto puede resultar apropiada o las complicaciones que podrían darse haciendo uso de algo como lo que propondré. Acaso estés más bien interesado en lo que se conoce como "intérpretes" (dicho mal) o "evaluadores de expresiones" (dicho mal también, probablemente).


function Calculo(const n1: integer; const operador:
Char; const n2: integer) : integer;
resourcestring
rsErrorOperador = 'El operador no está contemplado.';
begin
case operador of
'+': Result := n1 + n2;
'-': Result := n1 - n2;
'*': Result := n1 * n2;
'/': Result := n1 div n2;
else
raise Exception.Create(rsErrorOperador);
end;
end;

Puedes utilizar el buscador (http://www.clubdelphi.com/foros/search.php?) de estos Foros para tratar de localizar información sobre "parser", "evaluadores", "expresiones matemáticas", etc., etc.