IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Que des lettres


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 258
    Par défaut Que des lettres
    J'imagine que cela doit être facile, mais comment empêcher un utilisateur de renter dans un TEdit autre chose que les lettres de l'alphabet? Juste a-z et A-Z?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour

    question classic, Réponse classic. Utiliser le onKeyPress pour tester le charactère. si vous ne voulez pas l'autoriser, il sufit de mettre 0 (en ascii) dedans.

    Attention aux code spéciaux (Enter Up Dow etc..)

    Exemple pour un float
    procedure TFMaster.dxFloatKeyPress(Sender: TObject; var Key: Char);
    var
    AText: string;
    begin
    if (ord(key) < VK_HELP) and ( not (key in [' ', '.', ','])) then exit;

    if Sender is TdxBarEdit then
    AText := ( Sender as TdxBarEdit).Text
    else if Sender is TEdit then
    AText := ( Sender as TEdit).TExt
    else
    exit;

    // . and , are decimal separator
    if (Key = ',') or (key = '.') then
    key := DecimalSeparator;

    // if key is not numeric and key is not the decimal separator the key is not good
    if ((key < '0') or (Key > '9')) and (Key <> DecimalSeparator) then
    Key := #00;

    // if key = decimal separator and if the decimalseparator is in the text,
    // Key is a bad value (only one decimal separator in a float)
    if key = DecimalSeparator then begin
    if pos(DecimalSeparator, AText) > 0 then
    Key := #00;
    end;
    end;

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 934
    Billets dans le blog
    6
    Par défaut
    et attention aussi aux Ctrl+V et autres qui peuvent coller n'importe quoi et ne sont pê pas filtrables au OnKeyPress ??? (dans ce cas, coller un popupmenu vide à l'Edit)
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. [RegEx] regex que des lettres
    Par florianjoy54 dans le forum Langage
    Réponses: 2
    Dernier message: 21/01/2010, 17h56
  2. Saisir que des lettres dans une zone de texte
    Par parab dans le forum IHM
    Réponses: 2
    Dernier message: 03/12/2008, 14h52
  3. Fonction de test que des lettres
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/05/2007, 20h57
  4. savoir si une chaine ne comporte que des lettres
    Par kamouminator dans le forum C
    Réponses: 22
    Dernier message: 16/11/2006, 02h19
  5. [C#] que des Lettres dans la textbox
    Par diaboloche dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/10/2005, 08h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo