Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

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

  Alt 1. Jul 2012, 11: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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