AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein >100 Button mit gleichen Aufgaben ... einfacher machen????

>100 Button mit gleichen Aufgaben ... einfacher machen????

Ein Thema von tr4ever · begonnen am 19. Mär 2004 · letzter Beitrag vom 20. Mär 2004
Antwort Antwort
tr4ever

Registriert seit: 9. Mär 2004
16 Beiträge
 
#1

>100 Button mit gleichen Aufgaben ... einfacher machen???

  Alt 19. Mär 2004, 23:42
Delphi-Quellcode:
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;
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
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....
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#2

Re: >100 Button mit gleichen Aufgaben ... einfacher mache

  Alt 19. Mär 2004, 23:52
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;
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: >100 Button mit gleichen Aufgaben ... einfacher mache

  Alt 19. Mär 2004, 23:57
Delphi-Quellcode:
if (Sender as TButton).Name = 'Button1then ...
if (Sender as TButton).Name = 'Button2then ...
if (Sender as TButton).Name = 'Button3then ...
.
.
.
Oder du nutzt die Eigenschaft "Tag" von TButton und machst es eleganter:
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

\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?
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#4

Re: >100 Button mit gleichen Aufgaben ... einfacher mache

  Alt 20. Mär 2004, 13:25
Zitat von dizzy:
[delphi]
\edit: Aber Wheelie... mit strings kann man doh keine case-Anweisung füttern... nur ordinale Typen
  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 14:43 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