AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ansatz einer Procedure für mehrere Buttons [Property Tag] ?
Thema durchsuchen
Ansicht
Themen-Optionen

Ansatz einer Procedure für mehrere Buttons [Property Tag] ?

Ein Thema von RWarnecke · begonnen am 28. Mär 2010 · letzter Beitrag vom 28. Mär 2010
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Ansatz einer Procedure für mehrere Buttons [Property Tag] ?

  Alt 28. Mär 2010, 19:28
Hallo zusammen,

ich habe auf einer Form 16 Speedbuttons. Jeder Button hat seinen eigenen Namen. Wenn ich jetzt für jeden Button eine Procedure schreiben würde, hätte ich 16 neue Proceduren, die sich lediglich nur in 1-2 Zeilen unterscheiden. Jetzt könnte ich alle Buttons umbenennen und mit einer fortlaufenden Zahl versehen. Das finde ich aber nicht so elegant, wegen der Lesbarkeit vom Sourcecode und der Zuordnung. Ich habe lieber aussagekräfigte Namen für die Komponenten.

Dann kam ich auf die Idee, mit der Eigenschaft Tag zu arbeiten. Dabei ist die Frage aufgekommen, wozu wird die Eigenschaft Tag eigentlich genutzt ?
Kann ich die Eigenschaft für dieses Vorhaben misbrauchen ?
Oder gibt es eine anderen Weg ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: Ansatz einer Procedure für mehrere Buttons [Property Tag

  Alt 28. Mär 2010, 19:30
Du kannst den Tag-Wert verwenden wofür immer du willst, er hat keine vordefinierte Bedeutung. Und ja, der Anwendungsfall, den du beschreibst, ist durchaus ein typischer für das Tag-Dingens...
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

Re: Ansatz einer Procedure für mehrere Buttons [Property Tag

  Alt 28. Mär 2010, 19:49
Tags bieten sich für sowas doch direkt an. Ich mach das selbst sehr oft:
Delphi-Quellcode:
procedure ButtonClick(Sender: TObject);
var t: Integer;
begin
  t:=(Sender as TSpeedButton).Tag;
  case t of
    1: ;
    ....
  end;
end;
Gerade bei sehr vielen Buttons mit nur geringfügig anderer Funktion rentiert sich das
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

Re: Ansatz einer Procedure für mehrere Buttons [Property Tag

  Alt 28. Mär 2010, 20:12
Zitat von RWarnecke:
Ich habe lieber aussagekräfigte Namen für die Komponenten.
Man könnte natürlich auch TComponent(Sender).Name vergleichen/prüfen,

aber besser wäre es da die Objektinstanz (Sender) zu vergleichen.

Ja, und man könnte natürlich auch .Tag dafür verwenden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: Ansatz einer Procedure für mehrere Buttons [Property Tag

  Alt 28. Mär 2010, 20:20
Zitat von himitsu:
Zitat von RWarnecke:
Ich habe lieber aussagekräfigte Namen für die Komponenten.
Man könnte natürlich auch TComponent(Sender).Name vergleichen/prüfen,
Dann hätte ich aber lauter IF-Abfragen.

Zitat von Meflin:
Du kannst den Tag-Wert verwenden wofür immer du willst, er hat keine vordefinierte Bedeutung. Und ja, der Anwendungsfall, den du beschreibst, ist durchaus ein typischer für das Tag-Dingens...
Das hört sich ja gut an. Ich glaube dann werde ich es über die Tag-Eigenschaft machen.

Danke nochmal an alle für Ihre Antworten.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:17 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