Thema: Delphi Strings und Case of

Einzelnen Beitrag anzeigen

BigBob

Registriert seit: 25. Feb 2007
2 Beiträge
 
#26

Re: Strings und Case of

  Alt 2. Mär 2007, 19:54
Zitat von DGL-luke:
Hallo,

Delphi-Quellcode:
case StrUtils.AnsiIndexStr(['foo','bar']) of
  0:;
  1:;
end;
so was?

Hmmm ... daraus werd ich nicht schlau, da muss ich mir nochmal die Tipps hier Thread angucken.
Ursprünglich sah das bei mir so aus:

Delphi-Quellcode:
case befehl of 'Karo 7'       : gesetzt:=1;
                 'Karo 8'         : gesetzt:=2;
                 'Karo 9'         : gesetzt:=3;
                 'Karo Bube'    : gesetzt:=4;
                 'Karo Dame'    : gesetzt:=5;
                 'Karo König'     : gesetzt:=6;
                 'Karo 10'      : gesetzt:=7;
                 'Karo Ass'       : gesetzt:=8;
                 'Herz 7'         : gesetzt:=9;
                 'Herz 8'         : gesetzt:=10;
                 'Herz 9'         : gesetzt:=11;
                 'Herz Bube'     : gesetzt:=12;
                 'Herz Dame'     : gesetzt:=13;
                 'Herz König'     : gesetzt:=14;
                 'Herz 10'       : gesetzt:=15;
                 'Herz Ass'       : gesetzt:=16;
                 'Pik 7'         : gesetzt:=17;
                 'Pik 8'         : gesetzt:=18;
                 'Pik 9'         : gesetzt:=19;
                 'Pik Bube'       : gesetzt:=20;
                 'Pik Dame'       : gesetzt:=21;
                 'Pik König'     : gesetzt:=22;
                 'Pik 10'         : gesetzt:=23;
                 'Pik Ass'       : gesetzt:=24;
                 'Kreuz 7'       : gesetzt:=25;
                 'Kreuz 8'       : gesetzt:=26;
                 'Kreuz 9'       : gesetzt:=27;
                 'Kreuz Bube'     : gesetzt:=28;
                 'Kreuz Dame'     : gesetzt:=29;
                 'Kreuz König'   : gesetzt:=30;
                 'Kreuz 10'       : gesetzt:=31;
                 'Kreuz Ass'     : gesetzt:=32
                 ELSE gesetzt:=0 END;
Aber ich habs jetz umgeändert mit der "if" Anweisung. Ich nehme den Frage-Button wieder raus, aber trotzdem: muss das sein?:

Delphi-Quellcode:
if befehl='Karo 7then gesetzta:=1 else {Kartenwert nach Kartenname ermitteln}
  if befehl='Karo 8then gesetzta:=2 else
  if befehl='Karo 9then gesetzta:=3 else
  if befehl='Karo Bubethen gesetzta:=4 else
  if befehl='Karo Damethen gesetzta:=5 else
  if befehl='Karo Königthen gesetzta:=6 else
  if befehl='Karo 10then gesetzta:=7 else
  if befehl='Karo Assthen gesetzta:=8 else
  if befehl='Herz 7then gesetzta:=9 else
  if befehl='Herz 8then gesetzta:=10 else
  if befehl='Herz 9then gesetzta:=11 else
  if befehl='Herz Bube'   then gesetzta:=12 else
  if befehl='Herz Dame'   then gesetzta:=13 else
  if befehl='Herz Königthen gesetzta:=14 else
  if befehl='Herz 10'   then gesetzta:=15 else
  if befehl='Herz Assthen gesetzta:=16 else
  if befehl='Pik 7'   then gesetzta:=17 else
  if befehl='Pik 8'   then gesetzta:=18 else
  if befehl='Pik 9'   then gesetzta:=19 else
  if befehl='Pik Bubethen gesetzta:=20 else
  if befehl='Pik Damethen gesetzta:=21 else
  if befehl='Pik König'   then gesetzta:=22 else
  if befehl='Pik 10then gesetzta:=23 else
  if befehl='Pik Ass'   then gesetzta:=24 else
  if befehl='Kreuz 7'   then gesetzta:=25 else
  if befehl='Kreuz 8'   then gesetzta:=26 else
  if befehl='Kreuz 9'   then gesetzta:=27 else
  if befehl='Kreuz Bubethen gesetzta:=28 else
  if befehl='Kreuz Damethen gesetzta:=29 else
  if befehl='Kreuz König'   then gesetzta:=30 else
  if befehl='Kreuz 10then gesetzta:=31 else
  if befehl='Kreuz Ass'   then gesetzta:=32 else gesetzta:=0;

Wie unschwer auffällt ist das eine Menge Schreibkram. Naja, wenn jemand ne Idee hat, wie es hätte schneller gehen können, bin ich dafür offen. Ansonsten is meine Frage beantwortet.


MfG BigBob
  Mit Zitat antworten Zitat