Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: case...of für mehrere Variablen?

  Alt 1. Jul 2012, 12:55
Einige Möglichkeiten wurden ja schon genannt.

- viele IFs

- umrechnen in einen Index, wozu auch die Enumeration gehört
Das kann man übrigens auch für Strings und andere nicht ordinale Typen verwenden, indem man z.B. über einen Hash oder z.B. Delphi-Referenz durchsuchenIndexStr geht.

Und dann kann man die Werte auch noch einfach
- zusammenrechnen
Delphi-Quellcode:
case a*100 + b of
  0000: Anweisung1;
  0001..0009: Anweisung2;
  0010: Anweisung3;
  0100, 0200, 0300, 0400: Anweisung4;
  0110, 0210, 0310, 0410: Anweisung5;
  0500: Anweisung6;
  else ;
end;
Aber das geht meistens am Besten, wenn ein Wert fortlaufend ist und der Andere möglichst immer jeweils nur zu einem oder wenigen ersten Wert(en) gehört (siehe Anweisung 4 und 5), da man Bereiche nur für einen Wert definieren kann.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Jul 2012 um 13:03 Uhr)
  Mit Zitat antworten Zitat