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

Composants VCL Delphi Discussion :

edit et caractères


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Par défaut edit et caractères
    Bonjour,

    J'ai un tout petit problème dans mon programme de tutoriel

    Il s'agit de rentrer dans un edit des lettres et puis avoir le même texte qui s'affiche en simultané dans un autre edit.
    J'ai réussi à le faire avec des chiffres mais ici je ne sais pas comment et en quoi convertir mes entrées pour que ça reste des lettres...

    merci

  2. #2
    Membre expérimenté
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Par défaut
    salut,
    regarde dans l'événement KeyPress de ton TEdit1 pour concaténer à la propriété Text de ton TEdit2, l'événement te rend un Char...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Par défaut
    ok mais comment tu fais pour concaténer le keypress à la propriété text de l'édit2 ?

  4. #4
    Membre éprouvé Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Par défaut
    Salut, une tite idée au passage. Un truc de ce genre là, ça ne marche pas ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if key in ['A'..'Z','a'..'z','0'..'9'] then
      begin
        Edit1.Text := Edit1.Text + key;
        Edit2.Text := Edit2.Text + key;
        key := #0; 
      end;
    end;
    En affectant cette procedure au OnkeyPress de l'edit1 et de l'edit2

    (A améliorer bien sur)

    ou meme un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      Edit2.Text := Edit1.Text;
    end;

  5. #5
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if key in ['A'..'Z','a'..'z','0'..'9',#8] then
      begin
        Edit1.Text := Edit1.Text + key;
        Edit2.Text := Edit2.Text + key;
        key := #0;
      end;
    end;
    il serait bien de rajouter #8 qui permet l'utilisation du backspace (delete du caractère avant le curseur)
    Modérateur Delphi

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

  6. #6
    Membre éprouvé Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Par défaut
    Tout a fait Malatar, c'est à ça que je pensais dans le (A améliorer bien sur) comme pour les différents caractères de ponctuation qu'il veut accepter.
    Il faut aussi gérer la position du curseur parce que si l'on revient sur ce qui a déjà été ecrit, ça ne marche plus du tout.
    Le OnChange est meilleur en fait

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Par défaut
    ok merci pour vos réponses ça marche à peu pres, j'ai rajouté aussi la touche space.
    Par contre le dernier hic, c'est en effet au niveau du curseur qui reste toujours en début de l'edit puis la touche backspace qui ne fonctionne pas correctement elle me donne des barres noires.....

  8. #8
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      Edit2.Text := Edit1.Text;
      Edit2.SelStart := Edit1.SelStart;
      Edit2.SelLength := Edit1.SelLength;
    end;
    Cela convient ?

  9. #9
    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 faenor
    ok merci pour vos réponses ça marche à peu pres, j'ai rajouté aussi la touche space.
    Par contre le dernier hic, c'est en effet au niveau du curseur qui reste toujours en début de l'edit puis la touche backspace qui ne fonctionne pas correctement elle me donne des barres noires.....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if key not in ['A'..'Z','a'..'z','0'..'9',#8] then
        key := #0;
    end; 
     
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      Edit2.text := Edit1.text;
    end;
    Ca passera mieux comme ca
    Modérateur Delphi

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

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Par défaut
    ta derniere solution ne marche pas malatar. je sais pourquai mais ça me donne une erreur de compilation avec des ";"
    l'idée de faire "edit2.text := edit1.text" n'est pas possible je pense.....

    pour neilbgr, c'est comme avant : des barres noires.....

  11. #11
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Il faut remplacer la ligne par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not (key in ['A'..'Z','a'..'z','0'..'9',#8]) then

  12. #12
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    et char #32??

  13. #13
    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 neilbgr
    Il faut remplacer la ligne par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not (key in ['A'..'Z','a'..'z','0'..'9',#8]) then
    oups

    Citation Envoyé par faenor
    ta derniere solution ne marche pas malatar. je sais pourquai mais ça me donne une erreur de compilation avec des ";"
    l'idée de faire "edit2.text := edit1.text" n'est pas possible je pense.....

    pour neilbgr, c'est comme avant : des barres noires.....
    Si si ca fonctionne tres bien je l'utilise trés souvent.
    et comme Edam l'a dit , faudrait peut être rajouter le #32 (l'espace).
    Modérateur Delphi

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

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Par défaut
    ça marche tres bien merci
    Je vais maintenant suivre la suite du tutorial de JC Armici......

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

Discussions similaires

  1. Champ Edit avec caractère obligatoire
    Par byakuichi dans le forum Débuter
    Réponses: 4
    Dernier message: 16/08/2010, 00h47
  2. Macro edit et caractère &
    Par sam01 dans le forum z/OS
    Réponses: 4
    Dernier message: 31/05/2010, 21h14
  3. Réponses: 9
    Dernier message: 13/03/2007, 11h58
  4. Controler le type de caractére dans un edit
    Par adrix26 dans le forum Delphi
    Réponses: 2
    Dernier message: 05/11/2006, 16h06
  5. Probleme edition caractère euro
    Par cyberyan dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 02/11/2005, 14h23

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