![]() |
Aufruf von mehreren fast gleichnamigen Methoden (Verkürzen?)
Hallo Leute,
kann man das irgendwie verkürzen?
Delphi-Quellcode:
Mit einer For-Schleife geht es ja leider nicht -.-
Button4.Visible := true;
Button5.Visible := true; Button6.Visible := true; Button7.Visible := true; Button8.Visible := true; Danke, Sarte |
Re: Aufruf von mehreren fast gleichnamigen Methoden (Verkürz
Standard-Antwort: FindComponent()
|
Re: Aufruf von mehreren fast gleichnamigen Methoden (Verkürz
genau
Delphi-Quellcode:
var i:integer
for i:=4 to 8 do TButton(FindComponent('Button'+inttostr(i))).Visible:=true; |
Re: Aufruf von mehreren fast gleichnamigen Methoden (Verkürz
vielen Dank
|
Re: Aufruf von mehreren fast gleichnamigen Methoden (Verkürz
Hallo,
so geht es auch:
Delphi-Quellcode:
Handelt es sich um eine relativ kleine Anzahl von Controls, stellt sich natürlich die Frage, ob der Originalcode nicht lesbarer ist. Vielleicht lassen sich ja auch alle Elemente auf einem Panel platzieren. Dann genügt schon das Ein-/Ausblenden dieses Panels.
procedure ShowControls (const aControls: array of TControl;
const aVisible: Boolean = True); var i : Integer; begin for i := 0 to High(aControls) do aControls[i].Visible := aVisible; end; // Anwendung: ShowControls ([Button4, Button5, Edit1, Edit3, Panel42]); Gruß Hawkeye |
Re: Aufruf von mehreren fast gleichnamigen Methoden (Verkürz
Das ist zumindest besser, als in einer Schleife FindComponent aufzurufen (da wird nämlich intern wiederum eine Schleife durchlaufen).
|
Re: Aufruf von mehreren fast gleichnamigen Methoden (Verkürz
Ungeachtet der Tatsache, das die Bezeichnung Button1, Button2 etc. für Schaltflächen nicht gerade aussagekräftig ist, wird die Lösung mittels FindControl genau dann zu unerwarteten Ergebnissen führen, wenn man auf die an sich sinnige Idee kommt, den Knöppels sinnvolle Namen zu geben.
Dagegen ist die Lösung mit der Prozedur besser, da hier wenigstens der Compiler meckert, wenn die Buttons getauft werden. Mir persönlich gefällt allerdings die Lösung mit 4 Zeilen besser, da es einfach übersichtlicher ist (sofern die Buttons schöne Namen haben). Ist aber Geschmackssache. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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