cs_Alexis35
Messages postés44Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention 2 mai 2011
-
2 juin 2006 à 11:00
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
2 juin 2006 à 11:33
Bonjour je suis en train de creer une petite aplli en vb.net pour me familiariser avec la notion d'objet, mon appli est une gestion de bande dessinnées notament en fonction des genres, j'ai donc une classe Bd, et une classe genre:
Public
Class Genre
Protected Libelle
As
String
Public
Sub Genre(
ByVal l
As
String)Libelle = l
End
Sub
Public
Function getLib()
Return Libelle
End
Function
Public
Sub setLib(
ByVal l
As
String)Libelle = l
End
SubEnd
Class
Public
Class Bd
Protected Titre
As
String
Protected NbPage
As
Integer
Protected Genre
As Genre
Protected Edition
As Edition
Protected Collection
As Collection
Protected Dessinateur
As Auteur
Protected Scenariste
As Auteur
Protected Dispo
As
Boolean
Public
Sub Bd(
ByVal t
As
String,
ByVal nb
As
Integer,
ByVal g
As Genre,
ByVal ed
As Edition,
ByVal c
As Collection,
ByVal dess
As Auteur,
ByVal scen
As Auteur,
ByVal d
As
Boolean)Titre = t
NbPage = nb
Genre = g
Edition = ed
Collection = c
If dess.EstDessinateur =
True
ThenDessinateur = dess
End
If
If scen.EstScenariste =
True
ThenScenariste = scen
End
IfDispo = d
End
Sub
Public
Function getTitre()
Return Titre
End
Function
Public
Function getNbPage()
Return NbPage
End
Function
Public
Function getGenre()
Return Genre
End
Function
Public
Function getEdition()
Return Edition
End
Function
Public
Function getCollection()
Return Collection
End
Function
Public
Function getDessinateur()
Return Dessinateur
End
Function
Public
Function getScenariste()
Return Scenariste
End
Function
Public
Function EstDispo()
Return Dispo
End
Function
Public
Sub setTitre(
ByVal t
As
String)Titre = t
End
Sub
Public
Sub setNbPage(
ByVal Nb
As
Integer)NbPage = Nb
End
Sub
Public
Sub setGenre(
ByVal g
As Genre)Genre = g
End
Sub
Public
Sub setCollection(
ByVal c
As Collection)Collection = c
End
Sub
Public
Sub setEdition(
ByVal e
As Edition)Edition = e
End
Sub
Public
Sub setDessinateur(
ByVal d
As Auteur)Dessinateur = d
End
Sub
Public
Sub setScenariste(
ByVal s
As Auteur)Scenariste = s
End
Sub
Public
Sub SetDispo(
ByVal d
As
Boolean)Dispo = d
End
Sub
Public
Sub Emprunter()
If Dispo =
True
ThenDispo =
False
End
If
End
SubEnd
Class
enfin g une classe pour avoir tous mes genres et une autre pour avoir toutes mes Bds:
Public
Class TabGenre
Inherits System.Collections.CollectionBase
Public
Sub add(
ByVal UnGenre
As Genre)List.Add(UnGenre)
End
Sub
Public
Function GetGenre(
ByVal i
As
Integer)
Return List.Item(i)
End
FunctionEnd
Class
Public
Class TabBd
Inherits System.Collections.CollectionBase
Public
Sub add(
ByVal UneBd
As Bd)List.Add(UneBd)
End
Sub
Public
Function GetBd(
ByVal i
As
Integer)
Return List.Item(i)
End
FunctionEnd
Class
Mais ce que je voudrais c'est avoir Un tablo de bd pour chaque genre...
Suis je assez clair...
Merci de m'aider je seche completement
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 2 juin 2006 à 11:16
Bonjour
Remarques :
- code source son identé
-Protected Collection
As Collection
Collection est une collection (d'objet) ou une classe utilisateur ?
- Public Sub Bd(...) dans la classe Bd c'est une routione d'initialisation ? Dans ce cas, préfère
Public Sub New(...)
- Préfixe le nom de tes variables : xx_Nom
Premier x
a : attribut
l : local
p : paramètre
Deuxième x
i integer
l long
s string
f single/double (float)
- à la place de :
public function Set...
et
public Sub Get...
Utilise
public [readonly|writeonly] property NomPropriété as Type
Get
Return MaValeur
End Get
Set(byval pValue as Type)
Monattribut=pValue
End Set
End Property
Tu vera ton code sera plus lisible avec tout cela.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
cs_Alexis35
Messages postés44Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention 2 mai 2011 2 juin 2006 à 11:24
Merci, mais en fait j'ai appris comme cela donc ...
Je voudrais juste savoir comment faire pour repertorier mes Bds en fonction de mes genres...
C'est a dire par exemple pour le genre policier avoir toutes mes bds du genre policier dans un tablo...
Merci
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 2 juin 2006 à 11:33
Bonjour
J'ai corigé une parti de ton code :
Public Class ClsGenre
Protected as_libelle As String
Public Sub Genre(ByVal pLibelle As String)
as_libelle = l
End Sub
Public property property Lib() as string
Get
Return Libelle
End Get
set (byval pValue as string)
as_libelle = pValue
End Set
end Property
End Class
Public Class ClsBd
Protected as_titre As String
Protected ai_nbPage As Integer
Protected at_genre As ClsGenre
Protected at_edition As ClsEdition
Protected at_collection As ClsCollection
Protected at_dessinateur As ClsAuteur
Protected at_scenariste As ClsAuteur
Protected ab_dispo As Boolean
Public Sub New(ByVal pTitre As String, ByVal pNbPage As Integer, ByVal pGenre As ClsGenre, ByVal pEdition As ClsEdition, ByVal pCollection As ClsCollection, ByVal pDessinateur As ClsAuteur, ByVal pScenariste As ClsAuteur, ByVal pDispo As Boolean)
as_Titre = ptitre
ai_NbPage = pnbpage
at_Genre = pgenre
at_Edition = pedition
at_Collection = pcollection
If dess.EstDessinateur Then
at_Dessinateur = dess
Else
at_dessinateur=nothing
End If
If scen.EstScenariste Then
at_Scenariste = pscenariste
Else
at_scenariste=nothing
End If
ab_Dispo = d
End Sub
Public Property Titre() as string
Get
Return as_Titre
end Get
Set(byval pValue as string)
as_titre=pvalue
end set
end property
'J'ai pas tout converti
Public Sub Emprunter()
Dispo = False
End Sub
End Class
Collection est une classe de VB, il faut les différencier, j'ai l'habitude d'utiliser Cls pour les classes, Frm pour les forms, Mdl pour les modules, Ctl pour les controles utilisateur.
Je te propose un code :
'Liste des Bd dans un ArrayList nommé at_LstBd
Public function GetList(byval pGenre as Clsgenre) as arrayList
dim lLst as new ArrayList
for each lBd as ClsBd in at_LstBd
if lBd.Genre is pGenre then 'Test si c'est le même genre, il faudra peut-être revoir ce test en fonction du type d'instanciation
llst.add (lBd)
end if
Next
Return lLst
end function
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)