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

C++Builder Discussion :

memo limiter 1 seule lignes


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut memo limiter 1 seule lignes
    j'utilise un memo pour la saisie car je peux centrer le texte et non sur un TEdit

    Y a -t-il moyen de le bloquer a une seule ligne car quand j'appuye sur ENTER il passe la ligne... c'est un peu embetant car c'est une simple saisie.


    Merci


    2eme question sur mon Memo :

    J'utilise la fonction de la FAQ.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if ((Key < '0' || Key >'9') && Key != 8 && (Key != DecimalSeparator ||
    						((TEdit *)Sender)->Text.Pos(DecimalSeparator)!=0))
    															Key = NULL;
    car dans ce memo je dois taper un prix mais je voudrais limiter ce prix a 2 chiffres apres la virgule. Coment puis je faire cela ?

    Merci

  2. #2
    Membre confirm�
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Par d�faut
    Je sais pas pourquoi tu utilise memo pour un simple nombre r�el.
    Tu utilise le controle Edit et tu met Center dans la propri�t� Align.

  3. #3
    R�dacteur/Mod�rateur
    Avatar de ero-sennin
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par d�faut
    Citation Envoy� par Socrat Voir le message
    Je sais pas pourquoi tu utilise memo pour un simple nombre r�el.
    Tu utilise le controle Edit et tu met Center dans la propri�t� Align.
    Le TEdit ne permet pas d'aligner le texte! Donc l'id�e du M�mo est certes la solution la plus simple ...

    Pour r�pondre au question de bullrot :

    Y a -t-il moyen de le bloquer a une seule ligne car quand j'appuye sur ENTER il passe la ligne... c'est un peu embetant car c'est une simple saisie.
    Dans les propri�t�s du Memo, mettre la propri�t� WantReturnsfalse.

    Ensuite, pour la saisie de nombre, voici ce que je propose :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key)
    {
      // Si on appuie sur le '.' du pavé numérique, on le remplace par le DecimalSeparator
      if (Key == '.')
      Key = DecimalSeparator;
     
      if ((Key < '0' || Key >'9') && Key != 8 && (Key != DecimalSeparator ||
     						((TMemo *)Sender)->Text.Pos(DecimalSeparator)!=0))
      {
        Key=0;
      }
      else
      {
        if ( Memo1->Text.Pos(DecimalSeparator) && Memo1->Text.Length()-Memo1->Text.Pos(DecimalSeparator)-1>2 && Key!= VK_BACK)
        {
          Key=0;
        }
      }
    }
    Voil�

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    Oui voila exactement on ne peut pas mettre le texte au centre dans un Tedit.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Dans les propriétés du Memo, mettre la propriété WantReturns à false.
    Ca marche super je savais pas que cette fonction fesait ca

    Ensuite j'ai essayer ton code : sauf que je l'ai mis dans un Edit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    void __fastcall TNewProduits::Edit4KeyPress(TObject *Sender, char &Key)
    {
    // Si on appuie sur le '.' du pavé numérique, on le remplace par le DecimalSeparator
      if (Key == '.')
      Key = DecimalSeparator;
     
      if ((Key < '0' || Key >'9') && Key != 8 && (Key != DecimalSeparator ||
    						((TEdit *)Sender)->Text.Pos(DecimalSeparator)!=0))
      {
        Key=0;
      }
      else
      {
        if ( Edit4->Text.Pos(DecimalSeparator) && Edit4->Text.Length()-Edit4->Text.Pos(DecimalSeparator)-1>2 && Key!= VK_BACK)
        {
          Key=0;
        }
      }
    }
    Le point est bien remplacer par une virgule et une seule virgule est accept�e mais il ne limite pas le nombre de chiffre apres la virgule a 2 mais a 4...

  5. #5
    R�dacteur/Mod�rateur
    Avatar de ero-sennin
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par d�faut
    Re,

    Petite erreur de ma part :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    void __fastcall TForm1::Edit4KeyPress(TObject *Sender, char &Key)
    {
      // Si on appuie sur le '.' du pav� num�rique, on le remplace par le DecimalSeparator
      if (Key == '.')
      Key = DecimalSeparator;
    
      if ((Key < '0' || Key >'9') && Key != 8 && (Key != DecimalSeparator ||
    						((TEdit *)Sender)->Text.Pos(DecimalSeparator)!=0))
      {
        Key=0;
      }
      else
      {
        if ( Edit4->Text.Pos(DecimalSeparator) && Edit4->Text.Length()-Edit4->Text.Pos(DecimalSeparator)+1>2 && Key!= VK_BACK)
        {
          Key=0;
        }
      }
    }
    Voilou

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    593
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 593
    Par d�faut
    Pas de prob pour l'erreur ca arrive vite

    Franchement c'est super

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Limite d'une ligne
    Par Etienne1 dans le forum MS SQL Server
    R�ponses: 7
    Dernier message: 26/09/2007, 18h02
  2. plusieurs enregistrements dans une seul ligne
    Par Celelibi dans le forum Requ�tes
    R�ponses: 3
    Dernier message: 03/01/2005, 15h55
  3. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    R�ponses: 8
    Dernier message: 05/12/2004, 19h24
  4. [JTable]Selectionner une seule ligne d'une jTable ?
    Par Maximus32 dans le forum Composants
    R�ponses: 2
    Dernier message: 22/10/2004, 02h06
  5. [Memo] Hauteur d'une ligne
    Par Linkin dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 06/10/2004, 14h18

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