Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mehrere TImages in if-Vergleich kürzen (https://www.delphipraxis.net/210155-mehrere-timages-if-vergleich-kuerzen.html)

DieDolly 9. Mär 2022 16:47

Mehrere TImages in if-Vergleich kürzen
 
Kann man sowas hier irgendwie kürzer schreiben? Ich habe es schon mit einer Menge als Set versucht aber das klappt nicht.
Delphi-Quellcode:
 if (TImage(Sender) = Rating1) or (TImage(Sender) = Rating2) or (TImage(Sender) = Rating3) or (TImage(Sender) = Rating4) or (TImage(Sender) = Rating5) then
  begin

BerndS 9. Mär 2022 17:14

AW: Mehrere TImages in if-Vergleich kürzen
 
Wenn du allen Ratings einen Tag gibst, könntest du diesen prüfen.

Uwe Raabe 9. Mär 2022 17:14

AW: Mehrere TImages in if-Vergleich kürzen
 
Ist nicht viel, aber man kann den Cast auf TImage weglassen:
Delphi-Quellcode:
 if (Sender = Rating1) or (Sender = Rating2) or (Sender = Rating3) or (Sender = Rating4) or (Sender = Rating5) then
  begin
Mit etwas Aufwand wäre das hier eine Möglichkeit mit einer einmalig erzeugten Liste:
Delphi-Quellcode:
  Ratings := TList<TObject>.Create;
  Ratings.AddRange([Rating1, Rating2, Rating3, Rating4, Rating5]);
und folgenden Abfragen:
Delphi-Quellcode:
  if Ratings.Contains(Sender) then
  begin

DieDolly 9. Mär 2022 17:36

AW: Mehrere TImages in if-Vergleich kürzen
 
Klappt wunderbar danke!

completestranger 14. Mär 2022 07:31

AW: Mehrere TImages in if-Vergleich kürzen
 
Wenn es immer die gleiche Klasse ist und du auf den Namen verzichten kannst, dann würde es auch mit
Delphi-Quellcode:
if (Sender is TImage) then
funktionieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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