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

VB.NET Discussion :

Contrôle sur les valeurs


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut Contrôle sur les valeurs
    J'ai des champs où l'utilisateur doit saisir des valeurs (des montants). Je veux qu'avant de passer au champ suivant je contrôle si l'utilisateur a saisi 3 chiffres après la virgule (ex. 200,000). Si l'utilisateur a saisi par exemple 200, je veux que lors du passage au champ suivant ca met automatiquement 200,000. Comment je fais?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    sur l'evenement lost focus par exemple
    ensuite tu traite la chaine de caractère
    s'il n'y a pas de virgule, tu rajoutes ,000
    s'il y en a deja une, tu compes le nombres de chiffres apres et tu completes avec des 0 pour en avoir 3

    sinon tu peux aussi empecher l'utilisateur de saisir plus de 3 chiffres apres la virgule dans l'evenement keypress
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    Est ce que vous pouvez me donner un exemple?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    oui et non faut chercher un peu
    enfin faut connaitre les fonctions de bases d'un langage


    if instr(textbox.text,",") then ' ca c'est pour savoir s'il y a une virgule
    mais y a plein de méthodes possibles
    if cint(textbox.Text) = cdec(textbox.Text) then ' dans ce cas, si la valeur est égale à la partie entière de la valeur ca veut dire qu'il n'y a pas de virgule
    pour savoir ce qu'il y a apres la virgule à priori ca ressemble à :
    right(textbox.Text,len(textbox.Text) - instr(textbox.text,",")



    d'une manière générale pour connaitre un langage il faut regarder tout ce qu'on peut faire, l'avantage du framework c'est que l'autocomplétion nous montre pas mal de chose
    donc je vous conseille de jeter un oeil dans microsoft.visualbasic.
    y a plein de fonctions sympas avec leur description
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Bon voila je l'ai fais pour toi mais c'est pas vraiment très difficile !
    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
    20
    21
    22
    Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
            Dim test As String() = Split(TextBox1.Text, ",") 'test si il y a une virgule
            If test.Length > 1 Then 'il y a une virgule
                Dim temp As String = test(1) 'recupère les chiffres après la virgule
                If temp.Length < 3 Then 'cas inférieur à 3
                    Dim NbreZero As Integer = 3 - temp.Length 'on complete avec des zero
                    Select Case NbreZero
                        Case 1
                            TextBox1.Text = test(0) & "," & temp & "0"
                        Case 2
                            TextBox1.Text = test(0) & "," & temp & "00"
                        Case 3 'si le mec est gogol et qu'il met aucun chiffre après la virgule
                            TextBox1.Text = test(0) & "," & temp & "000"
                    End Select
                ElseIf temp.Length > 3 Then 'supérieur à 3
                    Dim Troncature As String = Microsoft.VisualBasic.Left(temp, 3)
                    TextBox1.Text = test(0) & "," & Troncature
                End If
            Else 'dans ce cas pas de virgule donc
                TextBox1.Text = test(0) & "," & "000"
            End If
        End Sub
    Tout les cas sont traités ! Mais fais des recherches c'est une méthode parmis d'autres...

    Bonne chance
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    Merci Aspic ca marche avec votre exemple. Merci pour votre aide si précieuse !!!

  7. #7
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par loverdev
    Merci Aspic ca marche avec votre exemple. Merci pour votre aide si précieuse !!!
    De rien mais pense à faire une recherche avant car j'ai mis 3 min montre en main pour le faire...
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

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

Discussions similaires

  1. Trier une Map sur les valeurs de façon décroissante
    Par ddams dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 27/12/2011, 18h33
  2. [BO]prompt avec filtre sur les valeurs proposées
    Par arnauann dans le forum Deski
    Réponses: 3
    Dernier message: 30/11/2006, 17h00
  3. Question sur les valeurs de SrcBlock et DstBlock
    Par Sensib dans le forum MATLAB
    Réponses: 3
    Dernier message: 13/10/2006, 11h56
  4. moyenne sur les valeurs d'un même tableau
    Par DelphLaga dans le forum Langage
    Réponses: 12
    Dernier message: 25/09/2006, 11h35
  5. question sur les valeurs de retour
    Par arasium dans le forum Langage
    Réponses: 10
    Dernier message: 24/07/2006, 16h47

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