![]() |
>100 Button mit gleichen Aufgaben ... einfacher machen???
Delphi-Quellcode:
wie kann ich das einfacher machen, also das ich ned bei jedem Button die Procedure Hallo jedesmal eintragen muss, obwohl sie bei jedem Button vorkommt..aber jeder button hat eben zusätzlich noch verschiedene Aufgaben
procedure Hallo;
begin label1.caption:='LOOOL'; label2.caption:='KEWL'; label3.caption:=':D'; end; procedure TForm1.Button1Click(Sender: TObject); begin edit1.text:='jhuuu'; Hallo; end; procedure TForm1.Button2Click(Sender: TObject); begin label5.caption:='Nix'; Hallo; end; procedure TForm1.Button3Click(Sender: TObject); begin edit9.text:='was..weiß..ich'; Hallo; end; Das ist halt nur Bsp- das mit dem Label- und die Anzahl der Button ist im dreistelligen Bereich. ich will so wenig wie möglich als Code schreibe .. man kann sowas doch bestimmt mit Schleifen machen oder wie sonst?? ich könnte ja nur ein button mit der Procedure Hallo machen und die andere mit dem OnKlick auf Button1 verweisen ..aber wie macht man dass wenn ich dazu noch verschiedene aufgaben für jeden button habe... außerdem müsste ich dann immer im OnKlick Ereignis die Verweise auf Button1 eintragen ...und das mehr als 100 mal .... das ist doch doof ..wie gehts schneller?? Und dazu würde es mich interessieren wie ich die Button ohne sie einzeln von der Symbolleiste holen muss in die Form einfügen kann .. mit definiert Position.... |
Re: >100 Button mit gleichen Aufgaben ... einfacher mache
Denkbar wäre eine Prozedur, welche als OnClick-Ereignis der Buttons aufgerufen wird und welche anschließend anhand des Buttons, der die Prozedur aufgerufen hat ("Sender"), die Individualisierung vornimmt.
Beispiel:
Delphi-Quellcode:
procedure ButtonsClick(Sender: TObject);
var s: String; begin case (Sender as TButton).Name of 'Button1': s := 'Test'; 'Button2': s := 'Hey'; end; Edit1.Text := s; end; |
Re: >100 Button mit gleichen Aufgaben ... einfacher mache
Delphi-Quellcode:
Oder du nutzt die Eigenschaft "Tag" von TButton und machst es eleganter:
if (Sender as TButton).Name = 'Button1' then ...
if (Sender as TButton).Name = 'Button2' then ... if (Sender as TButton).Name = 'Button3' then ... . . .
Delphi-Quellcode:
case (Sender as TButton).Tag of
1: ... 2: ... 3: ... . . . end; Bei beiden Varianten musst du jedem Button die SELBE OnClick-Prozedur zuweisen. gruss, dizzy \edit: Aber Wheelie... mit strings kann man doh keine case-Anweisung füttern... nur ordinale Typen :roll: :zwinker: \edit2+3: Warum zum Henker ist "Name" ein Keyword bei den Delphi-Tags!?!? :?: Hat Gérome wieder nix ordentliches zu rauchen bekommen, oder vergisst mein Delphi immer nur das auch fett zu drucken? ;) |
Re: >100 Button mit gleichen Aufgaben ... einfacher mache
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 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