Einzelnen Beitrag anzeigen

EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
419 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Berechnungsergebnise verschiedener Klassen zusammenführen

  Alt 24. Apr 2018, 11:48
hier ein Auszug aus der unit logic:
Delphi-Quellcode:
type
  TKarten = class
   private
    FAnzahl: int32;
    FAufrechnen: int32;
   public
    constructor create;
    destructor Destroy;override;
    procedure setAnzahl(a:Int32);virtual; abstract;
    procedure Aufrechnen(Value:Int32);virtual;abstract;
    function BerechnePreis: Currency;virtual; abstract;
    property Preis: Currency read BerechnePreis;
    property Anzahl: int32 read FAnzahl;
    property Aufre: int32 read FAufrechnen write FAufrechnen;
    end;

type
  TKartenErste = class(TKarten)
   private
    FAnzahl1: int32;
   public
    constructor create;
    destructor Destroy;override;
    procedure SetAnzahl(a:Int32);override;
    procedure aufrechnen(value: int32);override;
    function BerechnePreis: Currency;override;
    property Preis1: Currency read BerechnePreis ;
    property Anzahl1: int32 read FAnzahl;
  end;

type
  TKartenZweite = class(TKarten)
   private
    FAnzahl2: int32;
   public
    constructor create;
    destructor Destroy;override;
    procedure SetAnzahl(a:Int32);override;
    function BerechnePreis: Currency;override;
    property Preis2: Currency read BerechnePreis ;
    property Anzahl2: int32 read FAnzahl;
  end;


implementation

{ TKartenErste }

procedure TKartenErste.aufrechnen(value: Int32);
begin

  //hier weiss ich nicht weiter
end;

function TKartenErste.BerechnePreis: Currency;
begin
  Result := 10 * FAnzahl1;
end;

constructor TKartenErste.create;
begin
  inherited;
end;

destructor TKartenErste.Destroy;
begin
  inherited;
end;

procedure TKartenErste.SetAnzahl(a: Int32);
begin
  FAnzahl1:=a;
end;

{ TKartenZweite }

function TKartenZweite.BerechnePreis: Currency;
begin
  Result := 15 * FAnzahl2;
end;

constructor TKartenZweite.create;
begin
  inherited;
end;

destructor TKartenZweite.Destroy;
begin
  inherited;
end;

procedure TKartenZweite.SetAnzahl(a: Int32);
begin
  FAnzahl2:=a;
end;

{ TKarten }

constructor TKarten.create;
begin
  inherited;
end;

destructor TKarten.Destroy;
begin
  inherited;
end;

end.
und hier den Teil der Form, in der die Zusammenrechnung der Preise vorgenommen wird:
Delphi-Quellcode:
procedure TForm1.btnPreisaufgerechnetClick(Sender: TObject); //aufrechnen
begin
  lblPreisaufgerechnet.caption:=floattostr(Karten1.Preis1+Karten2.Preis2)
end;
dies funktioniert auch. Doch sollte man das so machen? Das ist meine Frage
Norbert
  Mit Zitat antworten Zitat