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;