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 :

0 comme minimum ?


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Points : 64
    Points
    64
    Par défaut 0 comme minimum ?
    Bonjour tout le monde, aujourd'hui j'ai encore un petit problème concernant mon programme.

    Je possède :

    Une base de données
    Je suis chez AlwaysData.net
    J'utilise Navicat Premium

    J'ai réalisé un système de Jetons et un système de compte Premium. Avec ces Jetons on va pourvoir acheter soit tout soit ce qu'on veux (J'ai fais ça avec des CheckBox.)

    Nom : prm.png
Affichages : 159
Taille : 8,0 Ko

    Quand on va appuyer sur buy, on va donc perdre les Jetons et obtenir ce qu'on a sélectionner (Logique) Seulement, je n'arrive pas à faire en sorte que si la personne n'a pas assez de Jetons, l'achat ne s'effectue pas. J'ai essayer de faire le système suivant :

    Si le label de la form ou il y a le nombre de jetons qu'on a est inférieur au label de la form ou il y a le prix

    Un message s'affiche

    Sinon, le code s'exécute normalement.

    Mais se système ne fonctionne pas très bien avec les CheckBox...

    Donc, le problème : L'achat s'effectue même si on a pas assez de Jetons et en plus, le label et le champs Jetons qui est dans ma table affichent par exemple : -852 Jetons.

    J'ai bien entendu, chercher, fais des tests etc mais rien n'a correctement fonctionné.


    Merci, Cordialement.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonjour,

    En gros c'est facile, récupération du crédit du joueur, test si le crédit à enlevé est supérieur du crédit restant, si c'est le cas message sinon traitement.

    Peut-on voir le code en place et testé? Car sans ce dernier ça va être dur de voir vos erreurs...

  3. #3
    Membre du Club Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    Bonjour,

    En gros c'est facile, récupération du crédit du joueur, test si le crédit à enlevé est supérieur du crédit restant, si c'est le cas message sinon traitement.

    Peut-on voir le code en place et testé? Car sans ce dernier ça va être dur de voir vos erreurs...
    Bonjour et merci de votre réponse.

    Oui certes, de cette vue , c'est facile, je suis entièrement d'accord.

    Le code de l'achat :

    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
    23
    24
    25
    If Form4.Label5.Text < Label6.Text Then
     
                    MsgBox("Vous n'avez pas assez de Jetons.")
     
     
                Else
     
                    Dim MySqlConnection As New MySqlConnection
                    MySqlConnection.ConnectionString = "server=mysql-ya42800.alwaysdata.net;Port=3306; userid=***; password=***; database=ya42800_sqllogin;"
                    Dim reader As MySqlDataReader
                    Dim command As New MySqlCommand
                    Try
                        MySqlConnection.Open()
                        Dim query As String
                        query = "UPDATE ya42800_sqllogin.login SET Jetons=Jetons-" & Label6.Text & " WHERE username='" & Form1.MaterialSingleLineTextField1.Text & "'"
                        command = New MySqlCommand(query, MySqlConnection)
                        reader = command.ExecuteReader
                        MsgBox("L'achat s'est bien déroulé !")
                        MySqlConnection.Clone()
                    Catch ex As Exception
                        MessageBox.Show(ex.Message)
                    Finally
                        MySqlConnection.Dispose()
                    End Try
                End If
    Le code de l'achat avec les Jetons ressemble à ça.

    Sauf que "If Form4.Label5.Text < Label6.Text Then" ne fonctionne pas

  4. #4
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Je ne connais pas du tout VB, mais est-ce que le "<" entre 2 strings est correct? Est-ce que pour lui "2" > "100" parce que il commence par le premier caractère et "2" > "1" ?
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    Je ne connais pas du tout VB, mais est-ce que le "<" entre 2 strings est correct? Est-ce que pour lui "2" > "100" parce que il commence par le premier caractère et "2" > "1" ?
    Bonjour,

    Tu as entièrement raison, l'évaluation de l'expression n'est pas bonne donc je pense qu'OP doit maintenant savoir ce qu'il doit faire.

  6. #6
    Membre du Club Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Bonjour,

    Tu as entièrement raison, l'évaluation de l'expression n'est pas bonne donc je pense qu'OP doit maintenant savoir ce qu'il doit faire.
    Oui c'est vrai qu'il a raison mais je ne vois absolument pas quoi faire d'autre :/

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Il vous suffit de caster les valeurs en décimal pour que la comparaison puisse avoir lieu sur le type décimal au lieu du type String.

  8. #8
    Membre du Club Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    Il vous suffit de caster les valeurs en décimal pour que la comparaison puisse avoir lieu sur le type décimal au lieu du type String.
    J'ai essayé de faire :

    If (CDec(Form4.Label5.Text)) < (CDec(Label6.Text)) Then



    MsgBox("Vous avez besoin de plus de jetons")


    Else

    ...


    Et ça à l'air de marcher

    En tout cas, merci à vous.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/02/2011, 11h52
  2. Comment fixer une date dans un champ !
    Par LATHIOS dans le forum Access
    Réponses: 8
    Dernier message: 17/06/2005, 19h44
  3. Réponses: 6
    Dernier message: 08/11/2004, 14h18
  4. Réponses: 6
    Dernier message: 28/10/2004, 10h05
  5. [VBA-E] Fixer une plage ?
    Par Zaal dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/04/2004, 08h48

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