Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eine Procedure auf 22 Buttons... (https://www.delphipraxis.net/142736-eine-procedure-auf-22-buttons.html)

hoika 3. Nov 2009 07:16

Re: Eine Procedure auf 22 Buttons...
 
Hallo,

dafür gibt es Asserts.

OK, der Compiler meldet sich dann erst zur Laufzeit ;)


Heiko

himitsu 3. Nov 2009 08:12

Re: Eine Procedure auf 22 Buttons...
 
Delphi-Quellcode:
if sender = BtnMachwas
sowas ist auch noch OK, aber die Werte jedesmal über Stringoperationen aus dem Objektnamen zu extrahieren ist a) unergonomisch und b) bringt da der Compiler auch keine Fehlermeldungen.

bernau 3. Nov 2009 08:39

Re: Eine Procedure auf 22 Buttons...
 
Ne. Den Namen zu extrahieren um dann auf eine ID zu kommen, ist schon Käse.

Ich bin im Laufe der Zeit dazzu übergegangen so wenig wie möglich im Objektinspektor zu definieren. Da ich keine Übersicht über die Einstellung mehrerer Elemente habe.

Ich mache dann lieber eine Function die mir die Id zurückgibt.

Delphi-Quellcode:
procedure IdFromButton( Sender : TObject ):integer;
begin
  if sender = BtnDies then result:=1 else
  if sender = BtnUnd then result:=2 else
  if sender = BtnDas then result:=3 else
    begin
       result:=-1;
      // Hier eine Exception oder sonst was
    end;
end;

Diese Function ist genau so schnell geschrieben, als wenn ich die Tags über den Objectinspector setze. Das ergebnis kann dann auch irgend ein selbst definierter Aufzählungstyp sein.

Aber auch dies: Geschmackssache.

hoika 3. Nov 2009 08:53

Re: Eine Procedure auf 22 Buttons...
 
Hallo,

OK.
Deine Methode hat den Vorteil,
dass man von Button1, Button2 wegkommt.
Due Buttons sollten einen aussagekräftigen Namen bekommen.

BTW:
Kann ein Moderator den Thread mal nach VCL verschieben ?


Heiko

DP-Maintenance 3. Nov 2009 08:57

DP-Maintenance
 
Dieses Thema wurde von "mkinzler" von "Datenbanken" nach "VCL / WinForms / Controls" verschoben.
Hat nichts mit Datenbanken zu tun


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 Uhr.
Seite 2 von 2     12   

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