Controle sur un edit

djeckelle Messages postés 9 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 21 janvier 2016 - 25 nov. 2003 à 11:16
djeckelle Messages postés 9 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 21 janvier 2016 - 26 nov. 2003 à 08:48
Bonjout à tous !!

Sur un edit je voudrais mettre un controle pour que les deux premiers caractères ne soient pas des alphas. Et afficher un message au user pour lui dire qu'il ne doit pas saisir de lettre.

Merci d'avance de votre aide.

Bisous

Attention car il n'y a ni pardon, ni absolution, ni secret du confessionnal, tout ce
qui est dit est utilisé contre vous
(Controle de l'information au sein d'une secte :
www.undfi.org/sectes/influence.htm)

7 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
25 nov. 2003 à 13:41
Nous ne dirons donc rien !
May Delphi be with you
0
djeckelle Messages postés 9 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 21 janvier 2016
25 nov. 2003 à 13:45
Oui mais enfin la quand même il n'y a pas trop de risque !!
;-))

Donc stp, j'ai besoin d'aide !!
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
25 nov. 2003 à 14:11
Il y a plusieurs façons de faire. En voici une, vite faite :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Length(Edit1.Text) < 2 )
    and (Key in ['A'..'Z', 'a'..'z']) then
    begin
      Key := #0;
      MessageBeep(mb_IconExclamation);
    end;
end;


May Delphi be with you
0
djeckelle Messages postés 9 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 21 janvier 2016
25 nov. 2003 à 15:13
Lenght me donne une chaine, mais comment puis je voir la position des caractères??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djeckelle Messages postés 9 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 21 janvier 2016
25 nov. 2003 à 16:40
J'ai écrit la procédure ci-dessous, j'ai bien le test et l'affichage du message d'erreur, mais le test est fait sur tout les caractères et la donnée ne se met pas à nul?

procedure TfrmCALIBFiche.edtCALIB_CODEChange(Sender: TObject);
var
Key : Char;
A : Char;
B : Char;
begin
A := edtCALIB_CODE.text[1] ;
B := edtCALIB_CODE.text[2] ;
If A in ['A'..'Z', 'a'..'z'] then
begin
fMessageErreur(fGetMessage(MessageContext,'Erreur saisie'),1,1);
A := #0;
end;
If B in ['A'..'Z', 'a'..'z'] then
begin
fMessageErreur(fGetMessage(MessageContext,'Erreur de saisie'),1,1);
B := #0;
end
else
Key := fCtrlChampNum(Key,edtCALIB_CODE,10,0);
end;
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
25 nov. 2003 à 18:54
C'est normal, tu n'affectes pas de valeur à edtCALIB_CODE.text[1] ou [2] avant de sortir !

Quant à la fonction Length, elle n'a jamais renvoyé une chaîne mais un Integer.

May Delphi be with you
0
djeckelle Messages postés 9 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 21 janvier 2016
26 nov. 2003 à 08:48
Ok ca marche!!

Merci pour tout!
0
Rejoignez-nous