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 :

utilisation de tableaux


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut utilisation de tableaux
    Bonjour à tous,

    Je suis actuellement étudiant et j’apprends le langage VB sous visual studio 2012
    J'ai un projet à réaliser dans lequel j'essaye d'utiliser un tableau donné par une structure

    J'aimerais pouvoir prendre ce tableau, le lire , repérer les lignes correspondantes à une condition du style si la case du tableau ne contient pas la valeur souhaitée alors supprimer la ligne

    Seulement je débute totalement et j'ignore comment m'y prendre

    Voila par exemple comment j'ai fait ma structure et mon tableau
    Comment faire pour copier ce tableau dans un autre et supprimer tout les ordinateurs ne contenant pas par exemple d'écran tactile?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Structure Ordinateur
        Dim Nom As String
        Dim Prix As Double
        Dim Ecran As Double
        Dim Tactile As Boolean
        Dim Processeur As String
        Dim RAM As Integer
        Dim DD As Integer
        Dim CarteGraphique As String
        Dim Marque As String
        Dim Poids As Double
        Dim VitProcesseur As Double
    End Structure

    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
    Dim TabOrdi(50) As Ordinateur
    TabOrdi(0).Nom = "HP 4-1260ef14"
    TabOrdi(0).Prix = 598.79
    TabOrdi(0).Ecran = 14
    TabOrdi(0).Tactile = false
    TabOrdi(0).Processeur = "Intel core i5 3337U"
    TabOrdi(0).RAM = 6
    TabOrdi(0).DD = 500
    TabOrdi(0).CarteGraphique = "Intel HD Graphics 4000"
    TabOrdi(0).Marque = "HP"
    TabOrdi(0).Poids = 1.8 
    TabOrdi(0).VitProcesseur =1.8
     
    TabOrdi(1).Nom = "Lenovo Yoga 2 Pro"
    TabOrdi(1).Prix = 1399.9
    TabOrdi(1).Ecran = 13.3
    TabOrdi(1).Tactile = true
    TabOrdi(1).Processeur = "Intel core i7 4500U"
    TabOrdi(1).RAM = 4
    TabOrdi(1).DD = 256
    TabOrdi(1).CarteGraphique = "Intel HD Graphics 4000"
    TabOrdi(1).Marque = "Lenovo"
    TabOrdi(1).Poids = 1.5
    TabOrdi(1).VitProcesseur = 3
    Merci à tous ceux qui prendront le temps de m'aider

    padbol

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    alors structure et tableau tu oublies, structure ca a plein de défaut, et tableau c'est pas pratique et mal utilisé c'est contre performant

    au lieu de ca : classe et collection
    une collection c'est un peu comme un tableau, on peut y mettre x choses
    il y a plein de collections avec chacune des fonctionnalités différentes, la plus simple étant le List(Of )


    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
    Public Class Ordinateur
            Public Property Nom As String
            Public Property Prix As Double
            Public Property Ecran As Double
            Public Property Tactile As Boolean
            Public Property Processeur As String
            Public Property RAM As Integer
            Public Property DD As Integer
            Public Property CarteGraphique As String
            Public Property Marque As String
            Public Property Poids As Double
            Public Property VitProcesseur As Double
        Public Overrides Function ToString() As String ' utilisé pour l'exemple avec le listbox plus bas
            Return Me.Nom & " " & Me.Prix
        End Function
    End Class

    au passage tu remarqueras que ce forum a une fonctionnalité de mise en forme du code (bouton # dans l'éditeur de message)
    Dim n'est à utiliser que dans un membre (membre = sub/function/property)
    en dehors on utilise une définition de portée (public/private/friend/protected/protected friend)
    On préfère les propriétés aux champs (bien que ce la ne change pas grand chose

    et pour la collection :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Dim Ordinateurs As New List (Of Ordinateur)
    Dim o As New Ordinateur
    o.Nom = "HP 4-1260ef14"
    o.Prix = 598.79
    ' ...
    Ordinateurs.Add (o)
     
    o = New Ordinateur ' même variable mais nouvelle instance, une variable n'est qu'un pointeur vers un objet, le 1er objet a bien été ajouté dans la collection donc il existe toujours
    o.Nom = "Lenovo Yoga 2 Pro"
    o.Prix = 1399.9
    ' ...
    Ordinateurs.Add (o)
     
    ' accès à un index :
    Ordinateurs(1).Prix = 1398.9
     
    ' suppresion d'un index
    Ordinateurs.RemoveAt(1)
    ' où d'un objet
    Ordinateurs.Remove(o)
    ' suite à suppression tous les suivants changent d'index, 2 se retrouve en 1, 3 se retrouve en 2 etc...
     
    ' Parcours : (augmentation du prix par exemple)
    For Each o As Ordinateur In Ordinateurs
      o.Prix += 50
    Next
     
    ' Parcours avec filtre et ordre via LINQ
    Listbox1.items.clear
    For Each o As Ordinateur In (from ordi in Ordinateurs where ordi.tactile = true order by ordi.prix descending select ordi)
      Listbox1.items.add(o) ' quand on donne un truc à un listbox et que ce n'est pas un type par valeur il appelle ToString sur la classe pour savoir quoi afficher
    Next
     
    'même chose avec ancienne méthode avant que LINQ n'existe et sans le tri car ca prendrais plus de lignes ^_^ :
    Listbox1.items.clear
    For Each o As Ordinateur In Ordinateurs
      if o.tactile = false then continue for
      Listbox1.items.add(o)
    Next
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour POL

    Merci beaucoup de ta réponse je vais étudier cela =)

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/12/2007, 13h46
  2. Réponses: 2
    Dernier message: 18/10/2006, 11h36
  3. Réponses: 2
    Dernier message: 09/06/2006, 13h33
  4. Réponses: 4
    Dernier message: 10/05/2006, 10h36
  5. utilisation de tableaux : code correct ?
    Par kuzloka dans le forum C++
    Réponses: 5
    Dernier message: 25/12/2005, 20h16

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