Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: Aufrechnen von Integer-Werten in ein neues Ergebnis

  Alt 1. Feb 2018, 19:01
Es ist nur für mich allein eine Übung
Wenn du willst, kann ich dir gerne beschreiben oder zeigen, wie ich so etwas umsetzen würde. Dazu müsste ich allerdings wissen, was genau deine Zielstellung ist?

Ein paar Punkte schonmal, die eigentlich allgemeingültig sind:
  • So etwas Simples wie Addition in einer Funktion bzw. sogar einer Methode zu kapseln, macht keinen Sinn. Das ist umständlicher, als einfach C := A + B direkt zu verwenden
  • Temporäre Zwischenergebnisse (RValues; in diesem Falle das Ergebnis der Addition A + B ) in einem Feld einer Klasse abzulegen ist eher unsinnig. Da du das Ergebnis vor dem Aufsummieren ja aber noch anzeigen willst (und somit um eine Zwischenspeicherung nicht umherkommst), würde ich hier schlicht und einfach eine lokale Variable verwenden.
    Gleiches gillt auch für das Vorherige Ablegen von Zahl1/2 in einem Feld der Klasse. Selbst wenn du Addition wirklich als extra Funktion modellieren willst, solltest du dafür den Prototyp (class) function Add(Value1, Value2: Integer): Integer; (static;) verwenden. Hier benötigst du weder Felder für die Parameter, noch für das Ergebnis (die Teile in Klammern sind Optimierungen; falls du damit nichts anfangen kannst, der Einfachheit halber erstmal ignorieren).
  • Eigentlich ist - ausschließlich basierend auf Dem, was ich hier sehe - die komplette Klasse nicht erforderlich und verkompliziert nur deinen Code. Sinnvoll wäre sie nur, wenn die Instanz über die Button Clicks hinaus beibehalten würdest (wie Delphi.Narium bereits vorschlägt) und dazu ggfls. noch die Logging Funktionalität kapselt (denn ansonsten kannst du statt der Klasse auch lediglich deine Aufsummierung als globale Variable deklarieren).
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl ( 1. Feb 2018 um 19:05 Uhr)
  Mit Zitat antworten Zitat