AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi Rechnung mit Label

Ein Thema von Hanswurst1 · begonnen am 2. Mai 2013 · letzter Beitrag vom 4. Mai 2013
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#19

AW: Delphi Rechnung mit Label

  Alt 3. Mai 2013, 17:28
Markus (mkinzler) hat es ja bereits angedeutet: Du solltest es vermeiden, Anzeigekomponenten als Datenspeicher zu missbrauchen. Da Du ja etwas berechnen willst/musst, brauchst Du auch Variablen bzw. Felder von entsprechenden Zahlentypen (z.B. Integer für ganze Zahlen oder double für Gleitkommazahlen). Die Komponenten dienen dann als Schnittstelle zwischen Benutzer und diesen Variablen/Feldern. In größeren Projekten würde ich dazu raten, den ganzen "Berechnungsskram" in eine eigene Klasse auszulagern, aber das ist in diesem Fall wohl etwas oversized, und außerdem ist der "gemeine Delphi-Anfänger" (das ist nicht wertend gemeint) damit aller Wahrscheinlichkeit hoffnungslos überfordert. Ein einfaches Beispiel: ein Formular mit 2 Edits, einem Button und einem Label. In die Edits sollen jeweils Zahlen eingegeben werden, auf Button-Click soll die Summe dieser Zahlen im Label ausgegeben werden. Achtung: der folgende Code ist im Editor getippt und daher ungetestet. Außerdem habe ich auf jegliche Fehlerbehandlung verzichtet:
Delphi-Quellcode:
type
  TRechenForm = class(TForm)
    (* Edits für die Eingabe *)
    edtZahl1: TEdit;
    edtZahl2: TEdit;
    (* Button, der die Berechnung anstoßen soll *)
    btnRechne: TButton;
    (* Ausgabelabel *)
    lblErgebnis: TLabel;
    (* Ereignis, das bei Click des Buttons ausgelöst werden soll *)
    procedure btnRechneClick(Sender: TObject);
  private
    (* private Felder, mit denen gerechnet werden soll *)
    FZahl1: integer;
    FZahl2: integer;
    FErgebnis: integer;
    (* Deklaration der Rechenroutine *)
    procedure Rechne;
  end;

...

procedure TRechenForm.Rechne;
begin
  (* Berechnung *)
  Ergebnis := FZahl1 + FZahl2;
end;

procedure TRechenForm.btnRechneClick(Sender: TObject);
begin
  (* Umwandlung der Eingaben in Zahlen und Zuweisung an die Felder *)
  FZahl1 := StrToInt(edtZahl1.Text);
  FZahl2 := StrToInt(edtZahl2.Text);
  (* Berechnung aufrufen *)
  Rechne;
  (* Ausgabe des Ergebnisses, dabei Umwandlung von Zahl -> String *)
  lblErgebnis.Caption := IntToStr(FErgebnis);
end;
Dass da die Fehlerbehandlung fehlt, wirst Du merken, wenn Du die Edits leer lässt oder etwas anderes als Ziffern eingibst und dann auf den Button klickst. Ich hoffe, es hilft Dir trotzdem etwas weiter.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz