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 :

[Débutant] TEdit et saisie


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 67
    Par défaut [Débutant] TEdit et saisie
    Bonjour à vous. Voilà ma question : je dois rentrer des chiffres dans un Tedit. Néanmoins je dois créer une procédure qui si par hasard l'utilisateur rentre autre chose que des chiffres alors le Tbutton associé à une autre procédure doit se griser et je sais pas comment faire cela du moins la première partie. Merci d'avance pour vos réponses. ++

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Pourquoi ne pas limiter directement la saisie de numériques, ca serait plus simple

    http://delphi.developpez.com/faq/?pa...propri#numbers
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut bienvenue sur Developpez.com

    La solution la plus simple serait de limiter la saisie dans ton Edit aux chiffres.
    Tu as une QR dans la FAQ.

    [edit] Grillé une fois de plus par Malatar [/edit]

    @+ Claudius

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if edit1.Text > 'a' then
    begin
    Button1.Enabled := False
    end
    else
    Button1.Enabled := True
    end;
    tien ce ptit truc cert un peut barbar a mon avis mais bon
    parcontre tu peut quand même mettre un seul "a" mais pas 2
    mais il doit y avoir un autre truc ^^

  5. #5
    Membre confirmé Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Par défaut
    Sinon dans la palette de composants "Exemples" tu as un joli spinedit qui le fera tout seul.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Par défaut
    Citation Envoyé par care
    if edit1.Text > 'a' then
    begin
    Button1.Enabled := False
    end
    else
    Button1.Enabled := True
    end;

    tien ce ptit truc cert un peut barbar a mon avis mais bon
    parcontre tu peut quand même mettre un seul "a" mais pas 2
    mais il doit y avoir un autre truc ^^
    C'est normal, tu fais une comparaison de chaine... comme 'a' = 'a', c'est normal que tu puisses entrer un caractère...

    Au pire, il faudrait comparer le champ du TEdit, caractère par caractère, et vérifier que ceux ci sont dans l'ensemble [0..9], un peu comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ContenuEditOK := TRUE;
     
    // Teste un par un les caractères de la chaine du TEdit
    for i:=1 to Lenght(TEdit.Text) do
      if (TEdit.Text[i] not in [0..9]) then ContenuEditOK := FALSE;
     
    // Grise ou dégrise le bouton en fonction du résultat...
    Button.Enabled := ContenuEditOK;
    Mais il est évident que le mieux reste encore de limiter le contenu du TEdit dès le départ!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 67
    Par défaut
    Merci à vous quatre les gars par contre Care ton truc ne marche pas peut-être parce que mon code n'est pas complémentaire au tien il faudrait que mette une action genre "OnKeyPress" comme dans la FAQ que je suis entrain de lire.
    Je regarde ton truc Jambonstar merci à toi.

    Edit à vous cinq désolé j'essaye la cinquieme méthode qui me parait pas mal du tout pour moi. Par contre je comprend pas trop ton "Contenu du edit OK en boolean " je rentre le code comme tu l'a marqué ou je dois faire des modifs en fonction d emon code?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 67
    Par défaut
    Pour le spin edit c'est ok j'ai pas essayé m'est en effet c'est une très bonne solution. Sinon avec mon edit maintenant je ne peux rentrer que des chifrres c'est ok mais pas de signe moins or je voudrais pouvoir le faire et interdire le decimal separatoir par contre. Dans la FAQ il y a un code supplémentaire mais il est compliqué pour moi. Merci.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    tu remet une autre condition en indiquant cette fois que tu peut utilisé -

    et une autre condition dans laquelle tu notorise pas la le séparateur.

    je pensse que c'est une solution

    ps oui ma 1er hypotése était un peut fastidieuse xD

  10. #10
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    L'exemple de la FAQ devient ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TMyForm.MyEditKeyPress(Sender: TObject; var Key: Char);
    begin
      if not (Key in ['-','0'..'9', Chr(VK_BACK), Chr(VK_DELETE)]) then
        Key := #0;
    end;
    @+

  11. #11
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par A0080
    Pour le spin edit c ok j'ai pas essayé m'est en effet c'est une très bonne solution. Sinon avec mon edit maintenant je ne peux rentrer que des chifrres c'est ok mais pas de signe moins or je voudrais pouvoir le faire et interdire le decimal separatoir par contre. Dans la FAQ il y a un code supplémentaire mais i lest compliqué pour moi. Merci.
    Simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TMyForm.MyEditKeyPress(Sender: TObject; var Key: Char);
    begin
      if not (Key in ['0'..'9', '-', Chr(VK_BACK), Chr(VK_DELETE)]) then
        Key := #0;
    end;

    Citation Envoyé par care
    tu remet une autre condition en indiquant cette fois que tu peut utilisé -

    et une autre condition dans laquelle tu notorise pas la le séparateur.

    je pensse que c'est une solution

    ps oui ma 1er hypotése était un peut fastidieuse xD
    Quand tu n'es pas sûr à 100% d'une réponse abstiens toi de répondre, le but est l'entraide pas d'égarer la personne
    Dernier point, pensez à lire les posts précédents, surtout quand la réponse a été donnée.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 25/11/2022, 13h51
  2. [débutant] PERL :fichier saisi en variable ?
    Par laatysha dans le forum Langage
    Réponses: 9
    Dernier message: 17/06/2008, 14h07
  3. [débutante] Vérifier la saisie dans un TPanel
    Par lilo415 dans le forum Delphi
    Réponses: 3
    Dernier message: 25/06/2007, 18h54
  4. [Débutant] masque de saisie
    Par jojo57 dans le forum Access
    Réponses: 5
    Dernier message: 12/04/2006, 20h07
  5. [Débutant] Pas de saisie dans un scanf
    Par Nyx de Tours dans le forum C
    Réponses: 20
    Dernier message: 30/03/2006, 20h41

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