Problème avec le windows form (visual studio basic)
kingston2
Messages postés
126
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je dois faire l'exercice suivant :
Une entreprise de distribution a décidé de donner des primes à chacun de ses employés selon le chiffre d'affaire qu'il a réalisé. Ces primes sont distribuées selon les critères suivants:
Si ventes < 2000$ prime=0%
Si 2000$<=ventes <5000$ prime=2.5 %
Si 5000$ <= ventes < 8000$ prime = 4.5 %
Si ventes >= 8000$ prime=6.2 %
Écrivez une application Windows qui nous permet de calculer ces primes.
Le problème est que je n'ai pas d'idée comment faire . Je maîtrise la console , mais pas du tout la windows form.. Pouvez-vous m'aider , c'est plutôt urgent
Merci beaucoup
Une entreprise de distribution a décidé de donner des primes à chacun de ses employés selon le chiffre d'affaire qu'il a réalisé. Ces primes sont distribuées selon les critères suivants:
Si ventes < 2000$ prime=0%
Si 2000$<=ventes <5000$ prime=2.5 %
Si 5000$ <= ventes < 8000$ prime = 4.5 %
Si ventes >= 8000$ prime=6.2 %
Écrivez une application Windows qui nous permet de calculer ces primes.
Le problème est que je n'ai pas d'idée comment faire . Je maîtrise la console , mais pas du tout la windows form.. Pouvez-vous m'aider , c'est plutôt urgent
Merci beaucoup
A voir également:
- Problème avec le windows form (visual studio basic)
- Visual basic - Télécharger - Langages
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Clé windows 8 - Guide
- Obs studio windows 7 - Télécharger - TV & Vidéo
- Microsoft 365 basic - Accueil - Microsoft Office
7 réponses
Bonjour, et bien c'est simple.
Tu démarres un projet windows form.
Sur le formulaire tu déposes:
-un contrôle qui permettra la saisie du chiffre (textbox par exemple)
-un contrôle qui permettra l'affichage du résultat (label par exemple)
-et un bouton pour lancer le calcul.
Tu double cliques sur le bouton, VS va basculer du côté code du formulaire, dans la méthode associée à l'événement par défaut du bouton, soit le simple click.
Là tu tapes presque le même code que tu aurais écris en console. La différence est qu'à la place de readline, il faut récupérer le contenu du contrôle de saisie (propriété Text) et qu'à la place de writeline il faut affecter le contenu du contrôle d'affichage.
Tu démarres un projet windows form.
Sur le formulaire tu déposes:
-un contrôle qui permettra la saisie du chiffre (textbox par exemple)
-un contrôle qui permettra l'affichage du résultat (label par exemple)
-et un bouton pour lancer le calcul.
Tu double cliques sur le bouton, VS va basculer du côté code du formulaire, dans la méthode associée à l'événement par défaut du bouton, soit le simple click.
Là tu tapes presque le même code que tu aurais écris en console. La différence est qu'à la place de readline, il faut récupérer le contenu du contrôle de saisie (propriété Text) et qu'à la place de writeline il faut affecter le contenu du contrôle d'affichage.
je voudrais savoir où je dois poser mes conditions
Comme je l'ai de j'ai écrite
Tu double cliques sur le bouton, VS va basculer du côté code du formulaire, dans la méthode associée à l'événement par défaut du bouton, soit le simple click.
Là tu tapes presque le même code que tu aurais écris en console. La différence est qu'à la place de readline, il faut récupérer le contenu du contrôle de saisie (propriété Text) et qu'à la place de writeline il faut affecter le contenu du contrôle d'affichage.
je suis complétement paumé . voici ce que j'ai fait
Public Class Form1</code>
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dblventes As Double
Dim dblresultat As Double
Dim dblprime As Double
dblventes = txtventes.Text
End Sub
Private Sub txtresultat_Click(sender As Object, e As EventArgs) Handles txtresultat.Click
MessageBox.Show("votre prime est de :" & txtresultat.Text)
End Sub<code basic>
Ha donc c'est du VB.net....
Puisque tu maitrise le mode console, je ne reviens pas sur les événements.
L'événement load se produit au moment du chargement du formulaire, il n'est pas encore affiché.
C'est à ce moment la que l'on peux initialiser l'application (connexion à la base de données, valeurs par défaut des contrôles etc...)
Ce n'est donc pas là que tu dois mettre tes calculs.
Tu as mis ton messagebox dans la méthode associée à l'événement click du textbox, cliquer sur un textbox pour voir afficher un message n'est pas très naturel.
Je t'ai dit de poser un bouton sur le formulaire et d'y faire tous tes calculs (pour une première appli ça suffit).
Puisque tu maitrise le mode console, je ne reviens pas sur les événements.
L'événement load se produit au moment du chargement du formulaire, il n'est pas encore affiché.
C'est à ce moment la que l'on peux initialiser l'application (connexion à la base de données, valeurs par défaut des contrôles etc...)
Ce n'est donc pas là que tu dois mettre tes calculs.
Tu as mis ton messagebox dans la méthode associée à l'événement click du textbox, cliquer sur un textbox pour voir afficher un message n'est pas très naturel.
Je t'ai dit de poser un bouton sur le formulaire et d'y faire tous tes calculs (pour une première appli ça suffit).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui, on va dire que ton utilisateur est assez bien câblé pour remplir les données avant de lancer les calculs, en cliquant sur le bouton.
Public Class Form1
Private Sub btprime_Click(sender As Object, e As EventArgs) Handles btprime.Click
Dim dblventes As Double
Dim dblprime As Double
dblventes = txtventes.Text
Select Case dblventes
Case Is < 2000
dblprime = 0
Case Is >= 2000
dblprime = 0.025
Case Is >= 5000
dblprime = 0.045
Case Is >= 8000
dblprime = 0.062
End Select
MessageBox.Show("votre prime est de :" & dblventes * dblprime)
End Sub
End Class
voici ce que j ai trouvé . ca marche mais je voudrais savoir si j'ai bien écrit
EDIT : voici mon code finale après réflexion:
Public Class Form1
Private Sub btprime_Click(sender As Object, e As EventArgs) Handles btprime.Click
Dim dblventes As Double
Dim dblprime As Double
dblventes = txtventes.Text
If dblventes < 2000 Then
dblprime = dblventes * 0
ElseIf dblventes >= 2000 And dblventes < 5000 Then
dblprime = dblventes * 0.025
ElseIf dblventes >= 5000 And dblventes < 8000 Then
dblprime = dblventes * 0.045
Else
dblprime = dblventes * 0.062
End If
MessageBox.Show("votre montant prime ajoutée est de :" & dblprime + dblventes)
End Sub
End Class
Non le select case est mieux, dans le sens ou c'est plus lisible et plus facile à maintenir.
Il faut juste faire attention à l'ordre dans lequel sont écrit les "case", le programme les exécute dans cet ordre, donc si ta valeur est 5500 et que >2000 est écrit avant >5000, alors il choisira > 2000.
Dans cet ordre, plus de problèmes:
Il faut juste faire attention à l'ordre dans lequel sont écrit les "case", le programme les exécute dans cet ordre, donc si ta valeur est 5500 et que >2000 est écrit avant >5000, alors il choisira > 2000.
Dans cet ordre, plus de problèmes:
Select Case dblventes Case Is >= 8000 dblprime = 0.062 Case Is >= 5000 dblprime = 0.045 Case Is >= 2000 dblprime = 0.025 Case Is < 2000 dblprime = 0 End Select