J'aimerais que lorsque j'appuie sur enter mon code s'active mais rien ne se passe ...
Private Sub Textbox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Textbox1.KeyPress, Textbox2.KeyPress, Textbox3.KeyPress, ' etc... jusqu'à la dernière Textbox à contrôler If e.KeyChar = Convert.ToChar(13) Then ' ton code End if
Dim A, B, C, D, J, F, G, H, I, K, L, M, X, Y, Zne sont pas typées ?
Dim det1 As Double Dim det2 As Double Dim det3 As Double Dim det4 As Double Dim det5 As Double Dim det6 As Doublepeut s'écrire sur une seule ligne
Dim det1, det2, det3, det4, det5, det6 As Double
Public Class Form1 Private A, B, C, D, J, F, G, H, I, K, L, M, X, Y, Z ' types à rajouter Private matrice(1) As Double Private determinant As Double ' remarque : ne pas mettre d'accent ou de cédille dans les variables Private det1, det2, det3, det4, det5, det6 As Double ' etc .....
Dim A, B, Clà je déclare 3 variables mais on ne sait pas le type de variable
Dim A, B, C as Integerlà je déclare 3 variables de type Integer
Dim A, B, C as Stringlà je déclare 3 variables de type String
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiondet1 = A * (((J) * (I)) - ((H) * (F)))les parenthèses autour d'une variable ne servent à rien, on peut donc déjà simplifier comme ça
det1 = A * ((J * I) - (H * F)). Mais c'est pas tout, VB respecte la priorité des opérations => la multiplication est prioritaire sur la soustraction et l'addition, il ne faut mettre des parenthèses que pour contrecarrer cette priorité.
det1 = A * (J * I - H * F), ça fait moins mal aux yeux non?
TextBox13.Text = "x =" & X & " " & "y=" & Y & " " & "z=" & Zc'est du VB6. Comme précédement c'est lourd à lire, les & et les ", y'en a partout et on a vite fait de se tromper. En plus en l'état, X, Y et Z étant des doubles ça peut afficher pleins de chiffres après la virgule => code difficile à coder et à lire et résultat encore plus difficiles à lire du gens
"x= 1.99999999999999999999999 y = 1.234567890123456789 etc..."effet pourri garanti, surtout si c'est plus long que ce que ton textbox peut afficher.
String.Format("x={0:0.00} y={1:0.00} z={2:0.00}", 1.23456789, 2.99999999999, 3.0987654321)ce qui donne en mode console
''' <summary> ''' Méthode qui calcule la division de 2 nombres ''' C'est donc une méthode dont le travail est un calcul ''' </summary> ''' <param name="Dividende">Nombre à diviser</param> ''' <param name="Diviseur">Nombre par lequel on divise</param> ''' <returns></returns> Private Function Divise(Dividende As Double, Diviseur As Double) As Double If Diviseur = 0 Then Return Double.NaN 'la division par 0 est impossible alors on retourne Not A Number End If Return Dividende / Diviseur End Function
''' <summary> ''' Méthode abonné aux évenènements KeyPress des 2 textbox d'entrée ''' Cette méthode vérifie que les conditions sont remplies pour le calcul et si oui demande à la méthode dédiée de le faire. ''' Elle affiche un text selon le cas. ''' C'est une méthode d'IHM ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> Private Sub MesTextBox_KeyPress(sender As Object, e As KeyPressEventArgs) 'sender est l'objet qui appelle la méthode, en théorie c'est un textbox, on essaye de caster pour vérifier Dim tbx As TextBox = TryCast(sender, TextBox) If tbx Is Nothing Then Return 'finallement c'était pas un textbox, y'a un bog quelque part mais on s'en affanchi en quittant la méthode maintenant End If If e.KeyChar <> Convert.ToChar(13) Then tbxRes.Text = "tapez Enter pour calculer" Return End If Dim a, b As Double If Double.TryParse(tbxA.Text, a) And Double.TryParse(tbxB.Text, b) Then 'les textes contenus dans tbxA et tbxB sont convertis en double, on peut appeler la méthode qui calcule Dim res As Double = Divise(a, b) If Double.IsNaN(res) Then tbxRes.Text = "Division par 0 impossible" Else tbxRes.Text = String.Format("A/B = {0:0.000}", res) End If Else tbxRes.Text = "tbxA et tbxB ne contiennent pas que des nombres" End If End Sub