ho questa linea:serie di WideChar: Imposta possono avere al massimo 256 elementi
const
MY_SET: set of WideChar = [WideChar('A')..WideChar('Z')];
È possibile che questo
non compilare, con l'errore:
[Error] Sets may have at most 256 elements
Ma questa linea non compilare ok:
var WS: WideString;
if WS[1] in [WideChar('A')..WideChar('Z')] then...
E questo compila anche ok:
const
MY_SET = [WideChar('A')..WideChar('Z'), WideChar('a')..WideChar('z')];
...
if WS[1] in MY_SET then...
Perché è quello?
EDIT: La mia domanda è Perchéif WS[1] in [WideChar('A')..WideChar('Z')]
compila? e perché compili MY_SET = [WideChar('A')..WideChar('Z'), WideChar('a')..WideChar('z')];
? non sono anche loro bisogno di applicare alle regole set
?
Il secondo codice ha solo 26 elementi. Molto più semplice da usare> = e <= qui. Si noti che il proprio codice non riconosce caratteri non inglesi. –
@David, Il primo codice non ha anche 26 elementi? "Prendi nota che il tuo codice non riconosce caratteri non inglesi." Devo controllare i caratteri ISO validi. solo i caratteri inglesi sono validi. – zig
Fintanto che gli elementi stessi sono inferiori a 256, la seconda espressione è valida. La prima espressione dichiara un set più grande di 256 dimensioni (set di WideChar). –