@ risposta di Daniel mi ha segnalato nella giusta direzione, ma mi c'è voluto un po 'per notare la "Jcl Biblioteca" parte e i commenti sulle versioni standard.
In [almeno] XE2 e in seguito, è possibile utilizzare:
Case IndexStr('somename', ['bobby', 'tommy', 'somename', 'george']) of
0: ..code..; // bobby
1: ..code..; // tommy
2: ..code..; // somename
-1: ShowMessage('Not Present'); // not present in array
else
ShowMessage('Default Option'); // present, but not handled above
end;
Questa versione è case-sensitive, quindi se il primo argomento è stato 'SomeName' ci sarebbe voluto il percorso not present in array
. Utilizzare IndexText
per il confronto senza distinzione tra maiuscole e minuscole.
Per le versioni Delphi precedenti, utilizzare AnsiIndexStr
o AnsiIndexText
, rispettivamente.
Complimenti a @Daniel, @The_Fox e @afrazier per la maggior parte dei componenti di questa risposta.
Sembra che FreePascal (FPC) già implementato questa caratteristica del linguaggio, vorrei Delphi seguirà! [http://forum.lazarus.freepascal.org/index.php?topic=17983.0] –