Je voudrait faire une listbox ( pour calculer mon

urbain19
Messages postés
17
Date d'inscription
samedi 14 juillet 2018
Statut
Membre
Dernière intervention
26 juillet 2018
- 25 juil. 2018 à 19:07
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
- 26 juil. 2018 à 09:08
bonjour a tous

je voudrait faire une listbox ( pour calculer mon coéf sur les basaltes ) avec une textbox (la tonne )

ex :j'ai une textbox ( volume ) et une listbox ( 0/60 recycler ( le coéf et 1.7 )) x par la textbox ( la tonne )

volume x coéf = tonnage



...........................produit............... coef

.....1 )......... 0/31.5 basalte............1.9
......2).......... 6/10 basalte...... .......1.8
......3).......... 4/6 basalte................1.8
......4).......... 0/4 basalte.................1.9

etc................

merci pour votre aide

2 réponses

Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
25 juil. 2018 à 19:49
Je pars du principe que tu as lu le cours que je t'ai conseillé.

Soit la classe
Public Class Basalte
    Private leCalibre As String
    Public Property Calibre As String
        Get
            Return leCalibre
        End Get
        Set(ByVal value As String)
            leCalibre = value
        End Set
    End Property

    Private leCoef As Double
    Public Property Coeficient As Double
        Get
            Return leCoef
        End Get
        Set(ByVal value As Double)
            leCoef = value
        End Set
    End Property

    Public Overrides Function ToString() As String
        Return String.Format("{0} basalte : {1:N1}", leCalibre, leCoef)
    End Function

End Class



Pour l'exemple, je charge le listBox, puis sélectionne une valeur et extrait le coefficient pour un calcul ultérieur
        Dim lesBasaltes As New List(Of Basalte)() From
        {
            New Basalte With {.Calibre = "0/31.5", .Coeficient = 1.9},
            New Basalte With {.Calibre = "6/10", .Coeficient = 1.8},
            New Basalte With {.Calibre = "4/6", .Coeficient = 1.78},
            New Basalte With {.Calibre = "0/4", .Coeficient = 1.9}
        }

        ListBox1.DataSource = lesBasaltes

        ListBox1.SelectedIndex = 2 ' je sélectionne le calibre 4/6

        Dim coef As Double = DirectCast(ListBox1.SelectedItem, Basalte).Coeficient 'SelectedItem est de type Objet, il faut donc le caster pour pourvoir accéder aux propriétés de Basalte

Tu pourras remarquer que chef vaut 1.78 alors que dans la liste c'est affiché "1.8", c'est dû au formatage dans ToString.

0
urbain19
Messages postés
17
Date d'inscription
samedi 14 juillet 2018
Statut
Membre
Dernière intervention
26 juillet 2018

26 juil. 2018 à 08:48
bonjour

es que ton 1er code,je doit le collé dans une table comme Dataset ou datagrid

1) j ai fait les donnée de datagrid plus sa table rien
2) dataset aussi rien
3) j'ai fait une listbox jai ajouter une base de donneé et colle ton code dans la liste de code ( rien )

ça marche pas

je me suis planter a quelque part ? mais ou

merci pour votre aide
0
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
26 juil. 2018 à 09:08
es que ton 1er code,je doit le collé dans une table comme Dataset ou datagrid

Ni l’un ni l’autre.
C’est une classe, un truc de base en programmation objet, or vb.net c’est un langage objet.
Ça se met dans un fichier dédié.
Ce que tu saurais si tu avais pris la peine de suivre le cours que je t’ai déjà conseillé.

Un forum peut d’aider sur un point particulier mais ni t’apprendre la programmation de A à Z (c’est le rôle d’un cours) ni faire ton programme à ta place.

D’autre part, ta question était
comment faire pour qu’en selctionnant un item dans une listbox on puisse obtenir un coefficient
, il n’est nulle par question de base de données.
0