Forum: Programmieren allgemein
Delphi
by himitsu,
3. Jul 2012
Wobei es in C ja eigentlich intern nur viele IFs sind, wo man auch noch manuell rausspringen muß, damit Nachfolgendes nicht auch noch mit ausgeführt wird.
(so wie ich das zumindestens mitbekommen hab)
Forum: Programmieren allgemein
Delphi
by himitsu,
2. Jul 2012
Garnicht.
CASE kann eben nur mit Konstanten benutzt werden, so wie es die Fehlermeldung auch besagt.
(hätte mir es auch schon manchmal anders gewünscht :cry:)
eventuell? so
case i - (a + b) of
0: Anweisung2;
1: Anweisung3;
//else Anweisung1;
Forum: Programmieren allgemein
Delphi
by himitsu,
1. Jul 2012
Tja und da hängt es von den Ausgangsdaten ab.
Jenachdem wie dieses aussehn, macht sich das Eine besser oder was Anderes
und jede Möglichkeit ist dabei auch unterschiedlich übersichtlich,
wobei hier auch das IF am übersichtlichsten sein kann.
Der Enum gegenüber dem Index macht sich vorallem gut, wenn man die einzelnen Bereiche gut benennen kann.
Außerdem ist es dort einfacher neue Werte...
Forum: Programmieren allgemein
Delphi
by himitsu,
1. Jul 2012
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. IndexStr geht.
Und dann kann man die Werte auch noch einfach
- zusammenrechnen
case a*100 + b of