2 pièce(s) jointe(s)
Problème test sur ensemble
Bonjour,
Je teste comme à l'habitude le KeyPress lors de saisie, mais là, je ne sais pas pourquoi, le compilateur me fait une erreur:
Code:
1 2 3 4 5 6 7
| procedure TForm1.EdNombreKeyPress(Sender: TObject; var Key: char);
begin
Case TypeSaisie of
tsNombre : if Not (Key in ['0'..'9',#9]) then Key := #0;
tsRecord : if Not (Key in ['0'..'9','a'..'z','A'..'Z','é','è','ç','à','ï','î','â','ä','ù','ô',#9]) then Key := #0;
end;
end; |
je vous mets l'image car l'éditeur souligne l'endroit où il coince, juste avant la première lettre accentuée! Est-ce le codage en unicode qui complique les choses?
Pièce jointe 633202
Et le message du compilateur:
Pièce jointe 633203
Est-ce que ça signifie que j'ai dépassé les capacités d'énumération de l'ensemble: on parle de LongInt, ce qui me parait peu probable!
Si vous avez une idée? Je vais essayer de décomposer en deux ensembles distincts...
Bon, le Type SET n'est valable que pour les types de base en Lazarus, il faut donc procéder autrement...
Merci