Ver Mensaje Individual
  #10  
Antiguo 11-03-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
jularaXD,

Cita:
Empezado por jularaXD
...quiero hacer una estructura...que incluya variables, procedimientos, funciones...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

type

  TMathNum = object
    N1, N2 : Double;
    Operador : String;
    function CalNum(Op : Char) : Double;
    Procedure DspResult(R : Double);
  end;

function TMathNum.CalNum(Op : Char) : Double;
begin

   case Op of

      'S' :
       begin
          Result := N1 + N2;
          Operador := '+';
       end;

      'R' :
       begin
          Result := N1 - N2;
          Operador := '-';
       end;

      'M' :
       begin
          Result := N1 * N2;
          Operador := '*';
       end;

      'D' :
       begin
          Result := N1 / N2;
          Operador := '/';
       end;

   end;

end;

Procedure TMathNum.DspResult(R: Double);
var
   Msg : String;
begin
   Msg := FormatFloat('#,###,###,###,###.00',R);
   Msg := Format('%f %s %f = ',[N1,Operador,N2]) + Msg;
   MessageDlg(Msg,mtInformation,[mbOK],0);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   M : TMathNum;
begin
   M.N1 := 789.45;
   M.N2 := 210.55;
   M.DspResult(M.CalNum('S'));
   M.DspResult(M.CalNum('R'));
   M.DspResult(M.CalNum('M'));
   M.DspResult(M.CalNum('D'));
end;

end.
El código anterior implementa y utiliza el objeto TMathNum para realizar operaciones aritméticas de dos números reales y mostrar su resultado.

Nota: El tipo object permite instanciar objetos sin usar el método Create y es muy util para implementaciones de tipos abstractos simples, para desarrollos formales orientados a objetos se debe usar el tipo Class.

Espero sea útil

Nelson.
Responder Con Cita