Les Snippets

Connexion

TextBox Numerique Seulement

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 25/03/2006 22:58:11 et initié par EBArtSoft [Liste]
Vue : 15480
Catégorie(s) : API, Trucs & Astuces, WinForm, Control
Langages dispo pour ce code :
- VB6
- VBA
- Javascript
- Java



Langage : VB6
Date ajout : 25/03/2006
Posté par EBArtSoft [Liste]

Const ES_NUMBER As Long = &H2000&
Const GWL_STYLE As Long = -16

Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Function SetTextBoxNum(ByRef Obj As Object) As Boolean
    SetWindowLong Obj.hwnd, GWL_STYLE, GetWindowLong(Obj.hwnd, GWL_STYLE) Or ES_NUMBER
End Function
' ==== Utilisation :

'Private Sub Form_Load()
'    Call SetTextBoxNum(Text1)
'End Sub


Langage : VBA
Date ajout : 14/03/2007
Posté par Drikce06 [Liste]
'Vérifie si la valeur saisie dans le textbox est numérique en même temps que la saisie
'Déclaration des Api
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As LongByVal LCTYPE As LongByVal lpLCData As StringByVal cchData As LongAs Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As LongByVal LCTYPE As LongByVal lpLCData As StringAs Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
'Déclaration de la constante séparateur décimal
Private Const LOCALE_SDECIMAL = &HE
Dim Separateur As String
 Public Sub numerique(ByVal KeyAscii As MSForms.ReturnInteger, ByVal Text As String)
 
'Si le caractère n'est pas numérique ou pas le séparateur de décimal, on annule l'appui sur la touche
If Not IsNumeric(Chr(KeyAscii)) And CStr(Chr(KeyAscii)) <> Separateur Then KeyAscii = 0
'Si le caractère est le séparateur de décimal mais celui-ci a déjà été saisi, on annule l'appui sur la touche
If Chr(KeyAscii) = Separateur And InStr(1, Text, Separateur, vbTextCompare) = 2 Then KeyAscii = 0
   End Sub
'récupère le séparateur de décimal dans les options régionales
Public Property Get DecimalSeparator() As String
Dim nLength As Long
Dim nLocale As Long
    nLocale = GetUserDefaultLCID()
    nLength = GetLocaleInfo(nLocale, LOCALE_SDECIMAL, vbNullString, 0) - 1
    DecimalSeparator = Space$(nLength)
    GetLocaleInfo nLocale, LOCALE_SDECIMAL, DecimalSeparator, nLength
    
End Property
'***Exemple d'utilisation
Public Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Separateur = DecimalSeparator()
Call numerique(KeyAscii, TextBox1.Text)
End Sub
Langage : Javascript
Date ajout : 06/04/2007
Posté par stfou [Liste]
textbox.onkeydown=function(e)
{
isNaN(Number(String.fromCharCode((e||window.event).keyCode))) ? return false : return true;
}
Langage : Java
Date ajout : 08/04/2007
Posté par Ombitious_Developper [Liste]
/**
  * Ne pas accepter que des caractères numérique dans un JTextField.
  * On redéfinit le document associé à un JTextField.
  * Un document est un conteneur de données, utilisé par Swing pour représenter
  * les données associées à des composants destinés à acceuillir du texte. 
  */
import javax.swing.text.PlainDocument;
import javax.swing.text.BadLocationException;

class NumericDocument extends PlainDocument {
    public void insertString (int offs, String str, AttributeSet att) 
                    throws BadLocationException {
        if (str.matches ("[0-9]*")) {
            super.insertString (offs, str, att);
        }
    }
}

/**
  * Tester notre nouveau type de document.
  */

import javax.swing.JTextField;
// ...
JTextField textField = new JTextField (30);
// Associer un type de document avec setDocument ()
textField.setDocument (new NumericDocument ());
// ...


Snippets en rapport avec : Textbox, Numerique



Codes sources en rapport avec : Textbox, Numerique

{C# / C#.NET} TEXTBOX NUMERIQUE (NUMBOX)
Ceci est juste une petite classe héritée d'un TextBox utilisable pour la saisie de valeurs numerique...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTBOX EVOLUTION
Voici une TextBox un peu plus évoluée que celle de VB Possibilité de définir les caractères autor...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTBOX NUMERIQUE
Cause: crée pour un logiciel personnel , je le transmet à tout le monde C'est un OCX .On rentre les...

{C# / C#.NET} TEXTBOX NUMÉRIQUE
Comme cette question revient sans cesse dans le forum, voici comment créer une textbox n'acceptant q...

{Visual Basic, VB6, VB.NET, VB 2005} LIMITER LA SAISIE À CERTAINS CARACTÈRES/TOUCHES DANS UN TEXTBOX EN VB.NET
Voila, c'est encore une source assez simple, mais qui pourra surement depanner certains... les meth...

{C# / C#.NET} TEXTBOX SÉQUENCE DE TOUCHES.
Voici un contrôle qui peut etre interessant à utiliser si vous avez besoin d'enregistrer et/ou d'exp...

{Visual Basic, VB6, VB.NET, VB 2005} PICTURE DRAG DROP
Comment déplacer ou copier une image d'une PictureBox à une autre,ainsi que les Treeview ,les ListBo...

{Visual Basic, VB6, VB.NET, VB 2005} DÉFINIR TOUS LES CONTRÔLES D'UN USERFORM EN TANT QUE VARIABLES DANS UN TABLEAU (ARRAY)
il est parfois fastidieux et surtout très long d'écrire textbox1.value="xxx" textbox2.value="yyy"...

{Visual Basic, VB6, VB.NET, VB 2005} LIMITER LE NOMBRE DE LIGNES DANS UN TEXTBOX
J'utilise une API pour compter le nombre de lignes. Il y a plusieurs problématiques : Si une lett...

{Javascript / DHTML} INSERTION À PARTIR DE LA POSITION DU CURSEUR DANS UNE TEXTBOX OU AUTRE.
D'aprés ce que j'ai vu,il marche déja sur IE et Mozilla.Et donc comme son titre l'indique,il permet ...