Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Mit Button zur Zahl im Label 1 oder mehr addieren und abziehen? (https://www.delphipraxis.net/176379-mit-button-zur-zahl-im-label-1-oder-mehr-addieren-und-abziehen.html)

SergeantBoom 31. Aug 2013 20:10

Mit Button zur Zahl im Label 1 oder mehr addieren und abziehen?
 
Heyho,

Irgendwie bin ich zu doof zum Googeln oder es irgendwie anders heraus zu finden^^

Wie kann ich mit einem button zu einer zahl im label eine gewisse summe addieren und abziehen?

Danke =)

mkinzler 31. Aug 2013 20:14

AW: Mit Button zur Zahl im Label 1 oder mehr addieren und abziehen?
 
-Inhalt Auslesen (String)
-in einen numerischen Typ Wandeln
-Wert Erhöhen
-Nummerische n Wert in String Wandeln und in Label Eintragen

Klaus01 31. Aug 2013 20:17

AW: Mit Button zur Zahl im Label 1 oder mehr addieren und abziehen?
 
Guten Abend,

an die Zahl im Label kommst Du mit StrToInt(Label.caption {label.text}).
Zu dieser Zahl kannst Du etwas addieren oder subtraieren.

Die geänderte Zahl kannst Du wieder dem Label zuweisen.
Label.caption := IntToStr(zahl);

Grüße
Klaus

Luckie 31. Aug 2013 22:48

AW: Mit Button zur Zahl im Label 1 oder mehr addieren und abziehen?
 
Halte ich für etwas unglücklich. Ich würde Daten und Darstellung trennen:
Delphi-Quellcode:
type
  TForm4 = class(TForm)
    lbl1: TLabel;
    btn1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btn1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    MyCounter: Integer;
    procedure MyLableUpdate(TargetLabel: TLabel);
  public
    { Public-Deklarationen }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.btn1Click(Sender: TObject);
begin
  Inc(MyCounter);
  MyLableUpdate(lbl1);
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
  MyCounter := 0;
  MyLableUpdate(lbl1);
end;

procedure TForm4.myLableUpdate(TargetLabel: TLabel);
begin
  lbl1.Caption := IntToStr(MyCounter);
end;
Jetzt kann man beliebig viele und unterschiedliche Komponente für die Darstellung nehmen. man muss nur eine entsprechende Prozedur schreiben. Und wenn man will, könnte man auch alles in einer Prozedur abhandeln. Allerdings könnte es dann wieder etwas unübersichtlich werden.

Delphi-Quellcode:
procedure TForm4.UpdateComponent(Target: TComponent);
begin
  if Target is TLabel then
    TLabel(Target).Caption := IntToStr(MyCounter);
  if Target is TEdit then
    TEdit(edt1).Text := IntToStr(MyCounter);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz