Les classes
Résolu
Partouchefrancis
Messages postés
110
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, voilà l'exemple dont je parlais
il propose de faire une programme avec un petit panel dont le backcolor est en rouge et qu'on se propose de déplacer avec 4 boutons avance, recule, monte, descend
je vous mets la page de code pour la classe crée et la page de code pour l'action proprement dit
son code me parait plein d'inexactitude
j'en ai corrigé un certain nombre et je vous mets en deuxième partie mon code
mais il génère toujours une erreur que je vous mets en image
désolé c'est un peu long d'où mon message précédent
je n'ai pas fait mon code moi même , je me suis contenté de reprendre le sien et de le corriger en fonction des erreurs affichées
si cà marche après j'essaierai de comprendre la création d'une classe
j'ai essayé la notion de classe dans le cours de Tahé mais ce n'est pas plus clair
A moins que quelqun puisse m'indiquer un lien ou je puisse trouver une explication plus claire
peut être est ce moi qui suis complètement bouché
désolé pour la longueur
cordialement
voici son code :
voici mon code

EDIT : AJout du LANGAGE dans les BALISES DE CODE pour avoir la coloration syntaxique
.
il propose de faire une programme avec un petit panel dont le backcolor est en rouge et qu'on se propose de déplacer avec 4 boutons avance, recule, monte, descend
je vous mets la page de code pour la classe crée et la page de code pour l'action proprement dit
son code me parait plein d'inexactitude
j'en ai corrigé un certain nombre et je vous mets en deuxième partie mon code
mais il génère toujours une erreur que je vous mets en image
désolé c'est un peu long d'où mon message précédent
je n'ai pas fait mon code moi même , je me suis contenté de reprendre le sien et de le corriger en fonction des erreurs affichées
si cà marche après j'essaierai de comprendre la création d'une classe
j'ai essayé la notion de classe dans le cours de Tahé mais ce n'est pas plus clair
A moins que quelqun puisse m'indiquer un lien ou je puisse trouver une explication plus claire
peut être est ce moi qui suis complètement bouché
désolé pour la longueur
cordialement
voici son code :
Public Class Mario Private _CoordonneesActuelles As Point Private _Taille As Size Partie 3 : La programmation orientée objet 176/310 Ce PDF vous est offert par CAPGEMINI Découv rez des métiers plein d'env ies http://www.f r.capgemini.com/carrieres/technology _serv ices www.openclassrooms.com Sub New(ByVal PositionOriginelle As Point, ByVal TailleMario As Size) _CoordonneesActuelles = New Point(PositionOriginelle) _Taille = New Size(TailleMario) End Sub Public Sub Avance() _CoordonneesActuelles.X = _CoordonneesActuelles.X + _PasX() End Sub Public Sub Recule() _CoordonneesActuelles.X = _CoordonneesActuelles.X - _PasX() End Sub Public Sub Monte() _CoordonneesActuelles.Y = _CoordonneesActuelles.Y - _PasY() End Sub Public Sub Descend() _CoordonneesActuelles.Y = _CoordonneesActuelles.Y + _PasY() End Sub Public Property Position() As Point Get Return _CoordonneesActuelles End Get Set(ByVal value As Point) _CoordonneesActuelles = value End Set End Property #Region "Fonctions privées" Private Function _PasX() Return _Taille.Width End Function Private Function _PasY() Return _Taille.Height End Function #End Region End Class Et le code final avec la gestion des touches : Code : VB.NET Public Class PlateauDeJeu 'Mario déclaré en global Dim MonMario As Mario Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Se met en écoute des touches Me.KeyPreview = True 'Un nouveau Mario MonMario = New Mario(Me.PAN_MARIO.Location, Me.PAN_MARIO.Size) End Sub Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown Partie 3 : La programmation orientée objet 177/310 Ce PDF vous est offert par CAPGEMINI Découv rez des métiers plein d'env ies http://www.f r.capgemini.com/carrieres/technology _serv ices www.openclassrooms.com Select Case e.KeyCode Case Keys.Z MonMario.Monte() Case Keys.S MonMario.Descend() Case Keys.Q MonMario.Recule() Case Keys.D MonMario.Avance() End Select Me.PAN_MARIO.Location = MonMario.Position End Sub #Region "Boutons de l'interface" Private Sub BT_AVANCE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_AVANCE.Click 'On le fait avancer MonMario.Avance() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub Private Sub BT_RECULE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_RECULE.Click 'On le fait reculer MonMario.Recule() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub Private Sub BT_DESCEND_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_DESCEND.Click 'On le fait descendre MonMario.Descend() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub Private Sub BT_MONTE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_MONTE.Click 'On le fait monter MonMario.Monte() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub #End Region End Class
voici mon code
Public Class Mario Public CoordonneesActuelles As Point Public Taille As Size Sub New(ByVal PositionOriginelle As Point, ByVal TailleMario As Size) CoordonneesActuelles = New Point(PositionOriginelle) Taille = New Size(TailleMario) End Sub Public Sub Avance() CoordonneesActuelles.X = CoordonneesActuelles.X + _PasX() End Sub Public Sub Recule() CoordonneesActuelles.X = CoordonneesActuelles.X - _PasX() End Sub Public Sub Monte() CoordonneesActuelles.Y = CoordonneesActuelles.Y - _PasY() End Sub Public Sub Descend() CoordonneesActuelles.Y = CoordonneesActuelles.Y + _PasY() End Sub Public Property Position() As Point Get Return CoordonneesActuelles End Get Set(ByVal value As Point) CoordonneesActuelles = value End Set End Property
Public Class Form1 Dim MonMario As Mario Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.KeyPreview = True 'Un nouveau Mario MonMario = New Mario(Me.MonMario.CoordonneesActuelles, Me.MonMario.Taille) End Sub Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown Select Case e.KeyCode Case Keys.Z MonMario.Monte() Case Keys.S MonMario.Descend() Case Keys.Q MonMario.Recule() Case Keys.D MonMario.Avance() End Select Me.MonMario.Position = MonMario.Position End Sub #Region "Boutons de l'interface" Private Sub BT_AVANCE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Avance.Click 'On le fait avancer MonMario.Avance() 'On recupère la nouvelle position Me.MonMario.Position = MonMario.Position End Sub Private Sub BT_RECULE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Recule.Click 'On le fait reculer MonMario.Recule() 'On recupère la nouvelle position Me.MonMario.Position = MonMario.Position End Sub Private Sub BT_DESCEND_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Descend.Click 'On le fait descendre MonMario.Descend() 'On recupère la nouvelle position Me.MonMario.Position = MonMario.Position End Sub Private Sub BT_MONTE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Monte.Click 'On le fait monter MonMario.Monte() 'On recupère la nouvelle position Me.MonMario.Position = MonMario.Position End Sub Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint End Sub #End Region End Class

EDIT : AJout du LANGAGE dans les BALISES DE CODE pour avoir la coloration syntaxique
.
A voir également:
- Les classes
- Classer les applications par ordre alphabétique iphone - Guide
- Comment sont classés les amis sur facebook - Guide
- Comment classer les mails dans gmail - Guide
- Logiciel pour classer les photos - Guide
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? - Forum Programmation
2 réponses
à la ligne 34 de Public Class Mario j'ai oublié le code ci dessous
#Region "Fonctions privées"
Private Function _PasX()
Return Taille.Width
End Function
Private Function _PasY()
Return Taille.Height
End Function
#End Region
Bonjour,
J'ai suivi le code original et cela fonctionne très bien. Seul erreur il recule au lieu d'avancer!
il suffit de corriger comme cela
a mettre dans une classe nommée Mario:
a mettre dans le Form avec un Panel nommé PAN_MARIO:
voilà
J'ai suivi le code original et cela fonctionne très bien. Seul erreur il recule au lieu d'avancer!
il suffit de corriger comme cela
a mettre dans une classe nommée Mario:
Option Strict Off Public Class Mario Private _CoordonneesActuelles As Point Private _Taille As Size Sub New(ByVal PositionOriginelle As Point, ByVal TailleMario As Size) _CoordonneesActuelles = New Point(PositionOriginelle) _Taille = New Size(CType(TailleMario, Point)) End Sub Public Sub Avance() _CoordonneesActuelles.X = _CoordonneesActuelles.X - _PasX() End Sub Public Sub Recule() _CoordonneesActuelles.X = _CoordonneesActuelles.X + _PasX() End Sub Public Sub Monte() _CoordonneesActuelles.Y = _CoordonneesActuelles.Y - _PasY() End Sub Public Sub Descend() _CoordonneesActuelles.Y = _CoordonneesActuelles.Y + _PasY() End Sub Public Property Position() As Point Get Return _CoordonneesActuelles End Get Set(ByVal value As Point) _CoordonneesActuelles = value End Set End Property #Region "Fonctions privées" Private Function _PasX() Return _Taille.Width End Function Private Function _PasY() Return _Taille.Height End Function #End Region End Class
a mettre dans le Form avec un Panel nommé PAN_MARIO:
Option Strict On Public Class Form1 'Mario déclaré en global Dim MonMario As Mario Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Se met en écoute des touches Me.KeyPreview = True 'Un nouveau Mario MonMario = New Mario(Me.PAN_MARIO.Location, Me.PAN_MARIO.Size) End Sub Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Select Case e.KeyCode Case Keys.Z MonMario.Monte() Case Keys.S MonMario.Descend() Case Keys.Q MonMario.Recule() Case Keys.D MonMario.Avance() End Select Me.PAN_MARIO.Location = MonMario.Position End Sub #Region "Boutons de l'interface" Private Sub BT_AVANCE_Click_1(sender As System.Object, e As System.EventArgs) Handles BT_AVANCE.Click 'On le fait avancer MonMario.Avance() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub Private Sub BT_RECULE_Click(sender As System.Object, e As System.EventArgs) Handles BT_RECULE.Click 'On le fait reculer MonMario.Recule() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub Private Sub BT_DESCEND_Click(sender As System.Object, e As System.EventArgs) Handles BT_DESCEND.Click 'On le fait descendre MonMario.Descend() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub Private Sub BT_MONTE_Click_1(sender As System.Object, e As System.EventArgs) Handles BT_MONTE.Click 'On le fait monter MonMario.Monte() 'On recupère la nouvelle position Me.PAN_MARIO.Location = MonMario.Position End Sub #End Region End Class
voilà