Bonjour,

Envoyé par
akuMz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
procedure TFormListe.Button2Click(Sender: TObject);
var
NombreEleves : Integer;
Key: Char;
begin // Saisir que des lettres
case key of
'0'..'9' : showmessage('cequetuveux'); // Donc les chiffres = msg d'erreur
'' : showmessage('cequetuveux'); // RIEN ecris = msg d'erreur
end
Else // si il y a bien ecris qq'chose
begin
ListBox1.Items.Add(Edit1.Text);
NombreEleves := NombreEleves+1;
Label1.Caption := IntToStr(NombreEleves);
end;
Edit1.text := '';
ActiveControl := Edit1;
end; |
As-tu bien réfléchi à ce que tu as écrit ?
Tu fais un case key of alors que la variable key n'est pas initilisée. Comment veux-tu que ça puisse fonctionner ?
Ton code ne doit pas compiler (pas testé, je n'ai pas Delphi sous la main, et puis il faudrait refaire une fenêtre, etc...), car la ligne
'' : showmessage('cequetuveux'); // RIEN ecris = msg d'erreur
ne passe certainement pas : un char, comme ta variable key ne peut pas être vide, et il n'y a pas de valeur pour dire "cette variable de type char n'a pas été initialisée", toutes les valeurs de 0 à 255 étant valides comme caractères.
De plus, c'est le contenu de l'éditeur, de type strring, qui t'intéresse, qui n'a rien à voir avec ta variable key, de type char.
Et comme tu as pu le lire dans mon précédent message, le case of ne sait pas gérer les string.
Je vais t'orienter un peu : comme tu ne veux saisir que des lettres, ton case key of doit être appliqué dans l'évènement OnKeyPress de ton éditeur, à toi la balle.
Partager