Ver Mensaje Individual
  #7  
Antiguo 03-06-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 27
Delphius Va camino a la fama
Veamos, entonces lo que buscas es que no se tengan que llamar a una función Suma con parámetros sino que estraiga los datos desde la propia clase?

¿Esto lo que buscas?:
Código Delphi [-]
Edit1.Text := IntToStr(Calc.Soma);

Para ello debes seguir el diseño que yo te aporté. Antes de llamar a Soma se necesita pasar de algún modo los valores a la clasy y que ésta los guarde. ¿Qué se necesita? Tener dos campos, sus respectivos métodos Get y Set y sus propiedades públicas.

En efecto esto:


Código Delphi [-]
TCalculadora = class
private
  // esto son los campos, variable auxiliares que guardarán los valores
  // de los operandos
  FOp1, FOp2: integer; //real... dependerá de lo que busques
  // luego van sus métodos Set y Get.
  procedure SetOp1(Value: integer);
  procedure SetOp2(Value: integer);
  function GetOp1: integer;
  function GetOp2: integer;
public
  // tus propiedades públicas
  property Op1: integer read GetOp1 write SetOp1;
  property Op2: integer read GetOp2 write SetOp2;
  // otros métodos
  function Soma: integer;
  function Resta: integer;
  ...
end;

De este modo, por ejemplo, cuando tu necesites almacenar el operando1, haces esto:
Código Delphi [-]
Calc.Op1 := StrToInt(Edit1.Text);

Internamente el compilador se encarga de llamar al método SetOp1. y queda guardada en FOp1 el valor adecuado.

Ahora sólo debe programarse a los métodos para leer dichos campos privados y hacer la operación necesaria:

Código Delphi [-]
function TCalculadora.Soma: integer;
begin
  result := FOp1 + FOp2;
end;

Es un diseño similar al que te ofrecí en el otro hilo.

¿Es esto lo que buscas?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita