Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.591 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Taschenrechner (Anfänger) Problem mit Minuszahlen

  Alt 30. Sep 2016, 11:40
Hallo ich wollte fragen ob mir jemand ein paar Tipps oder Beispiele für einen Delphi Taschenrechner geben kann.
Ich meine damit nur beispiele wie ich in einen Edit1.Text und/oder im Label1.Caption Minuszahlen anzeigen lassen kann.
Dazu soll er die Minuszahlen dann noch weiter rechnen. ( Beispiel: 9-9-9-9 = -18 )
Falls jemand den Quelltext sehen möchte bitte schreiben dann setze ich in rein.

Danke schon mal im vor raus.
Hallo Prakti,

SourceCode ist eigentlich immer gut wenn man bei einem konkreten Problem helfen soll. In diesem Fall wäre es interessant, was du bereits gemacht hast.

Für einen Anfänger hört sich das jetzt vielleicht schwierig an, aber man sollte niemals die GUI / Grafische Elemente zur Datenerhaltung benutzen/"missbrauchen".

Ein Label zeigt etwas an. Die Daten zur Anzeige werden aus einer Variablen geliefert. Sobald sich die Variable ändert, updatet sich das Label. In einfachster Form über Properties realisierbar.

Generell kann ein Label alles mögliche anzeigen. Setze ein Label auf deine Form und mache einen EventHandler für das OnShow Ereignis der Form.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    MyVar: Integer; // Nur um mal bei Ganzzahlen zu bleiben
  end;

implementation

procedure TForm1.OnShow(Sender: TObject);
begin
  MyVar := -18;
  Label1.Caption := IntToStr(MyVar);
end;
Du wirst sehen, dass die Zahl -18 vom Label angezeigt wird. Eigentlich kein Hexenwerk.

Um das jetzt automatisiert zu machen, kannst du auf die bereits erwähnten Properties zurückgreifen. Beispiel sähe dann so aus:


Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    FMyVar: Integer; // Nur um mal bei Ganzzahlen zu bleiben
    procedure SetMyVar(Value: Integer);
    property MyVar: Integer read FMyVar write SetMyVar;
  end;

implementation

procedure TForm1.OnShow(Sender: TObject);
begin
  MyVar := -18;
  Label1.Caption := IntToStr(MyVar);
end;

procedure TForm1.SetMyVar(Value: Integer);
begin
  FMyVar := Value;
  Label1.Caption := IntToStr(FMyVar); // Hierdurch wird das Label beim Aktualisieren der Property automatisch auf den neuen Wert gesetzt
end;
  Mit Zitat antworten Zitat