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.