Probleme Visual Basic, changer de mode

Résolu/Fermé
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 - Modifié par rj35 le 15/08/2012 à 12:33
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 - 20 août 2012 à 21:58
Bonjour, Je débute en Programmation...
Habitué à Java qui lit toutes les classes, Je suis surpris par Visual Basic qui ne lis pour un projet Fenetre, que la class Form de départ.
Est ce que je dois Changer de type d'application, j'ai essayé Console, mais pareil. Ne lis que la class main de départ.

J'aimerais simplement qu'il me lise toutes les autres classes et qu'il me lance MessageBox.Show présent dans les autres classes, je met un exemple:

Public Class Form1
Public Sub Form1()
End Sub


End Class
Public Class Voiture
Private marque As String

Private modele As String
Private anneeCircu As Integer

Private puissance As Integer
Private essence As Integer

Public Sub FairelePlein(ByVal essence As Integer)
Me.essence = Me.essence + essence
End Sub
Public Sub GonflerMoteur(ByVal cvgagnes As Integer)
Me.puissance = Me.puissance + cvgagnes

End Sub
End Class
Class Voiture2
Public anneeCirculation As Integer = 1987

End Class
Class Personne
Public Sub frauderVoiture(ByVal laVoiture As Voiture2)
laVoiture.anneeCirculation = laVoiture.anneeCirculation + 5
MessageBox.Show("Age : " + laVoiture.anneeCirculation)
End Sub
End Class
Class Voiture3
Private marque As String
Public Function GetMarque() As String
GetMarque = Me.marque
End Function
Public Sub setMarque(ByVal laMarque As String)
Me.marque = laMarque
End Sub
Private modele As String

Private anneeCircu As Integer
Public Function GetAnneeCircu() As Integer
If (Me.anneeCircu > 2012) Then
MessageBox.Show("Annee Impossible")
GetAnneeCircu = -1
End If
GetAnneeCircu = Me.anneeCircu
End Function
Public Sub setAnneeCircu(ByVal anCircu As Integer)
If (anCircu > 2012) Then
MessageBox.Show("Année Invalide")
Else
Me.anneeCircu = anCircu
End If

End Sub
Private puissance As Integer
Private essence As Integer
'Ne peut pas être modifier
End Class
Class Voiture4
Private _marque As String
Public Property Marque() As String
Get
Return Me._marque

End Get
Set(ByVal value As String)
Me._marque = value
End Set
End Property
Private _marque1 As String
Public ReadOnly Property Marque1() As String
Get
Return Me._marque1
End Get
End Property
Private _puissance As Integer
Public WriteOnly Property Puissance() As Integer
Set(ByVal value As Integer)
Me._puissance = value
End Set
End Property

End Class
Class Personne1
Public Sub frauderVoiture(ByVal laVoiture As Voiture2)
laVoiture.anneeCirculation = laVoiture.anneeCirculation + 5
MessageBox.Show("Age : " + laVoiture.anneeCirculation)
End Sub
Public Sub vendreVoiture(ByVal laVoiture As Voiture3)
Dim texteAnnonce As String
laVoiture.setAnneeCircu(2002)
laVoiture.setMarque("LaMarqueTropBien")
texteAnnonce = "Vends voiture" & laVoiture.GetMarque
texteAnnonce = texteAnnonce & "immatriculé en "
texteAnnonce = texteAnnonce & laVoiture.GetAnneeCircu()
MessageBox.Show(texteAnnonce)


End Sub


End Class

Que dois je faire Merci.



A voir également:

14 réponses

Utilisateur anonyme
15 août 2012 à 21:07
Bonjour,

Suggestion :

En supposant que ta classe Voiture se définit comme suit :

Public Class Voiture

#Region "--- Attributs ---"
	Private mMarque As String
	Private mModele As String
	Private mAnneeCircu As Integer
	Private mPuissance As Integer
	Private mEssence As Integer
	Private mNbrRoue As Integer
#End Region

#Region "--- Propriétés ---"

	Public Property Marque() As String
		Get
			Return Me.mMarque
		End Get
		Set(ByVal value As String)
			Me.mMarque = value
		End Set
	End Property
	Public Property Modele() As String
		Get
			Return Me.mModele
		End Get
		Set(ByVal value As String)
			Me.mModele = value
		End Set
	End Property
	Public Property AnneeCirculation() As Integer
		Get
			Return Me.mAnneeCircu
		End Get
		Set(ByVal value As Integer)
			Me.mAnneeCircu = value
		End Set
	End Property
	Public Property Puissance() As Integer
		Get
			Return Me.mPuissance
		End Get
		Set(ByVal value As Integer)
			Me.mPuissance = value
		End Set
	End Property
	Public Property Essence() As Integer
		Get
			Return Me.mEssence
		End Get
		Set(ByVal value As Integer)
			Me.mEssence = value
		End Set
	End Property
	Public Property NbrRoue() As Integer
		Get
			Return Me.mNbrRoue
		End Get
		Set(ByVal value As Integer)
			Me.mNbrRoue = value
		End Set
	End Property
#End Region

#Region "--- Méthodes ---"

	''' <summary>
	''' Constructeur par défaut
	''' </summary>
	''' <remarks></remarks>
	Public Sub New()

	End Sub

	Public Sub FairelePlein(ByVal pEssence As Integer)
		Me.mEssence += pEssence
	End Sub

	Public Sub GonflerMoteur(ByVal cvgagnes As Integer)
		Me.mPuissance += cvgagnes
	End Sub

	Public Sub FrauderVoiture()
		Me.mAnneeCircu += 5
		MessageBox.Show(String.Concat("Age : ", Me.mAnneeCircu.ToString))
	End Sub

	Public Sub VendreVoiture()
		Dim texteAnnonce As New System.Text.StringBuilder
		texteAnnonce.Append(String.Concat("Vends voiture ", Me.mMarque))
		texteAnnonce.Append(String.Format("{0}{1}{2}", " ", Me.mModele, " "))
		texteAnnonce.Append(" immatriculé en ")
		texteAnnonce.AppendLine(Me.mAnneeCircu.ToString)
		MessageBox.Show(texteAnnonce.ToString)
	End Sub

#End Region

End Class


Et le code du bouton :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

	Dim Voiture1 As Voiture = New Voiture

	Voiture1.AnneeCirculation = 1987
	Voiture1.Marque = "Toyota"
	Voiture1.Modele = "Corolla"
	Voiture1.Puissance = 120
	Voiture1.Essence = 30

	Voiture1.VendreVoiture()

End Sub


Ça devrait bien fonctionner :-)

Cdt

Lupin
2
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
15 août 2012 à 13:20
Bonjour,
Je n'ai pas examiné tout ton code mais il semble que tu n'ai pas saisi le principe, tu peu très bien lancer ce que tu veux à partir de la "Forme de départ" qui n'est en fait que le point d'entrée.
Exemple :
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'C'EST ICI QUE COMMENCE l'APPLI
        'MAIS TU NE PEU PAS APPELER TES FONCTIONS IL FAUT D'ABORD INITIALISER LES VARIABES
    End Sub

End Class

Pour initialiser les variables le mieux serait de créer le design de Form1 avec des contrôles qui te permette de sélectionner ce que tu veux.
Quand une sélection est faite tu peu lancer la Form2
    MessageBox.Show

Mais ça ne supporte pas de paramètre
Pour communiquer entre formes tu dois mettre un module général .bas avec des variable Public.
Voir quelque tuto pour comprendre la structure
Encore un mais il y en a des miliers sur la toile.
1
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
15 août 2012 à 16:26
Un Module c'est aussi une classe mais qui est visible dans toute l'appli, sauf stipulation contraire, tout ce qui y est est public, les fonctions, les sub, les variables etc..
Dans l'IDE -> Projet -> ajouter une classe -> Module
1
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
15 août 2012 à 18:53
Merci Bcp, cependant je viens de voir que le problème réapparait...

,Je n'arrive pas a crée des accesseurs Partagés à partir d'un Me.nom , J'ai le droit a: impossible de faire référence a un membre d'une instance d'une classe a partir d'une méthode partagé
Et quand je l'enleve le partage (Shared) Une référence a un membre non partagé requiert une référence Objet...

Je suis perdu, le livre a du sauté des étapes car elle ne donne qu'une partie du programme en plus des erreurs d'écriture.
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
15 août 2012 à 18:57
Est ce que le Me. Est vraiment utile ?
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
15 août 2012 à 19:22
Apparement elle fait référence a l'instance actuelle d'une classe. Je préfère mm si ca prend plus de temps de définir l'instance dans laquelle elle se trouve, car sinn elle ne peut etre partagé.
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
15 août 2012 à 13:14
up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
15 août 2012 à 13:50
Ok, merci de la réponse. J'ai crée un nouveau bouton, je lui est mis tout ce qu'il lui faut pour qu'il affiche le message. Il m'a bien renvoyé le message que je cherchait grâce a MessageBox.Show. Je croyais que ca ne marcherais pas.

Je suis débutant en Visual, ce qui fait que j'ai un peu de mal a comprendre le concept d'une fenêtre de départ. Je dois trop être habitué a Java.
Grace a toi j'ai compris que Visual Sudio et Java n'ont rien a voir.

Le problème avec le livre que j'ai acheté pour apprendre la programmation, c'est qu'ils ne définissent pas tout et font des erreurs. Si bien que je suis obligé de les corrigés en cherchant sur Internet.

J'ai entendu parler de Module, mais j ai un peu de mal a voir la différence avec une classe.
Merci Bcp.
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
Modifié par rj35 le 15/08/2012 à 13:53
Voila Mon appli  
Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    End Sub 

    Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
        MessageBox.Show("Une voiture a " & Voiture.nbreroue & " roues.") 
        Dim voiture1 As New Voiture() 
        Dim voiture2 As New Voiture() 
        Dim voiture3 As New Voiture() 
        MessageBox.Show("Nbre de roues de la voiture 1 = " & Voiture.nbreroue & " roues.") 
        MessageBox.Show("Nbre de roues de la voiture 2 = " & Voiture.nbreroue & " roues.") 
        MessageBox.Show("Nbre de roues de la voiture 3 = " & Voiture.nbreroue & " roues.") 
    End Sub 
End Class 
Public Class Voiture 
    Public Shared nbreroue As Integer = 4 
    Public Sub Lol() 
        MessageBox.Show("Une voiture a " & Voiture.nbreroue & " roues.") 

    End Sub 
End Class 
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
Modifié par rj35 le 15/08/2012 à 23:04
Merci deja d'avoir retravaillé tout le programme. Je garde Ca précieusement.

Si je me trompe pas Donc (j'aime bien tout comprendre Mm si je débute) tu a utiliser des accesseurs (Getteurs et setteurs) pour que les variables de bases soient Récupérer et Défini (Partagé). Puis tu as utilisé des méthodes pour modifier les valeurs (frauder) ou les afficher (VendreVoiture)
Puis lorsque l'on clique sur Le bouton On instancie Une nouvelle voiture avec des paramètres et on affiche L'annonce.

C'est PARFAIT, je l'ai testé et il marche. Ca m'a énervé en ne voyant aucune aide concernant les boutons et en essayant de comprendre sa logique (auteur du livre) qui n'est pas très clair. Mais la c'est très clair (enfin si j'ai bien compris) et surtout complet.

J'ai aussi réalisé un autre programme, l'auteur note "Liez maintenant cette méthode au bouton Sauvegarder"

J'ai recherché sur internet comment lier. Je suis tomber sur le mm programme que je devais faire, soit une personne qui avait le même livre et le même problème.

Donc, c'est grâce a toi, à la communauté qu'on arrive a avancer face aux erreurs qui sont grotesques. Le livre n'est pas mauvais mais pour une 4eme edition, c'est anormal...

En tout cas tu as la capacité de faire des cours (c'est peut être deja le cas), car Tout est propre; bien séparer, on voit le programme qui se lance sous nos Yeux.
Merci encore et encore. Je remercie aussi lermite222 qui m'a permis d'anticiper l'apprentissage des modules et comprendre le fonctionnement de VB.

Thanks ;)
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
16 août 2012 à 09:47
J'ai encore un nouveau problème. Cette fois ci c'est au niveau de la serialisation. Le fichier est bien crée mais je n'ai que les Integer qui sont egals a 0...


Voici le code

Imports System.Runtime.Serialization.Formatters.Binary
Imports System.IO
Imports System.Xml.Serialization


Public Class Form1
    Private Function XMLSerialize(ByVal monLivre As Livre) As Boolean
        If monLivre Is Nothing Then Return False
        Dim stream2 As New StreamWriter("C:\Aide\Product.xml")
        Dim serializer As New XmlSerializer(GetType(Livre))
        serializer.Serialize(stream2, monLivre)
        stream2.Close()
        Return True
    End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim livre1 As New Livre()

        If (XMLSerialize(livre1) = True) Then
            'tout c'est bien passé
        Else
            MessageBox.Show("erreur")
        End If
    End Sub
End Class


'Class Livre
Imports System.Runtime.Serialization.Formatters.Binary
Imports System.IO
Imports System.Xml.Serialization

<Serializable()> Public Class Livre
    Private mTitre As String
    Private mAuteur As String
    Private mEditeur As String
    Private mAnneeDeParution As Integer
    Private mNbreDePages As Integer
    Private mIsbn As Long

    ReadOnly Property Titre() As String
        Get
            Return mTitre
        End Get
        'Set(ByVal value As String)
        '    mTitre = value
        'End Set
    End Property

    ReadOnly Property Auteur() As String
        Get
            Return mAuteur
        End Get
        'Set(ByVal value As String)
        '    mAuteur = value
        'End Set
    End Property

    ReadOnly Property Editeur() As String
        Get
            Return mEditeur
        End Get
        'Set(ByVal value As String)
        '    mEditeur = value
        'End Set
    End Property

    Property AnneeDeParution() As Integer
        Get
            Return mAnneeDeParution
        End Get
        Set(ByVal value As Integer)
            mAnneeDeParution = value
        End Set
    End Property

    Property NbreDePages() As Integer
        Get
            Return mNbreDePages
        End Get
        Set(ByVal value As Integer)
            mNbreDePages = value
        End Set


    End Property

    Property Isbn() As Long
        Get
            Return mIsbn
        End Get
        Set(ByVal value As Long)
            mIsbn = value
        End Set
    End Property

End Class
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
16 août 2012 à 10:46
C bn j'ai reglé le probleme.
Pour ceux qui aurait le mm livre et que ca interesse :
Imports System.IO
Imports System.Xml.Serialization

Module Module1
    Public Class op
        Public Shared Function XMLSerialize(ByVal monLivre As Livre) As Boolean

'La notion Shared permet le partage avec les autres Classe
'Si vous voulez vous pouvez rajouter un systeme de gestion de la reponse du Boolean Ex If False, "Show erreur".

            If monLivre Is Nothing Then Return False
            Dim stream2 As New StreamWriter("F:Product.xml")

"Le fichier va être crée les informations notés dans le Disque local F sous forme Xml.

            Dim serializer As New XmlSerializer(GetType(Livre))
            serializer.Serialize(stream2, monLivre)
            stream2.Close()
            Return True
        End Function
    End Class

End Module


Public Class Form1

    Dim Livre1 As New Livre

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Conversion()
'Le bouton va lancer la class Conversion, On ne peut pas faire la conversion directement dans la classe du bouton!
    End Sub

    Public Sub Conversion()
        Livre1.Titre = TextBox1.Text
        Livre1.Auteur = TextBox2.Text
        Livre1.Editeur = TextBox3.Text
        Livre1.AnneeDeParution = TextBox4.Text
        Livre1.NbreDePages = TextBox5.Text
        Livre1.Isbn = TextBox6.Text
'Ici Les Le Livre1 Prend les paramètres que vous avez entrer dans les Textbox
        Module1.op.XMLSerialize(Livre1)
'Puis on lance la function XMLSerialize avec comme paramètre Livre1 pour Sauver les attributs dans un fichier Xml.
    End Sub
End Class
Public Class Livre
    Private mTitre As String
    Private mAuteur As String
    Private mEditeur As String
    Private mAnneeDeParution As Integer
    Private mNbreDePages As Integer
    Private mIsbn As Long

    Property Titre() As String
        Get
            Titre = mTitre
        End Get
        Set(ByVal value As String)
            mTitre = value
        End Set
    End Property

    Property Auteur() As String
        Get
            Auteur = mAuteur
        End Get
        Set(ByVal value As String)
            mAuteur = value
        End Set
    End Property

    Property Editeur() As String
        Get
            Editeur = mEditeur
        End Get
        Set(ByVal value As String)
            mEditeur = value
        End Set
    End Property

    Property AnneeDeParution() As Integer
        Get
            AnneeDeParution = mAnneeDeParution
        End Get
        Set(ByVal value As Integer)
            mAnneeDeParution = value
        End Set
    End Property

    Property NbreDePages() As Integer
        Get
            NbreDePages = mNbreDePages
        End Get
        Set(ByVal value As Integer)
            mNbreDePages = value
        End Set


    End Property

    Property Isbn() As Long
        Get
            Isbn = mIsbn
        End Get
        Set(ByVal value As Long)
            mIsbn = value
        End Set
    End Property

End Class
0
re:

Quelques commentaires ...

Chaque programmeur définit son style et il n'y as pas vraiment
de mauvaises façon de faire, néanmoins, il est plus facile habituellement
d'entretenir un programme si les règles de l'art sont toujours respectées.
Je veux dire par là de toujours créer ses objets de la même façon.

Lorsque tu créé un objet, exemple ta classe Livre : Public Class Livre

Place toujours un constructeur, même vide
''' <summary>  
''' Constructeur par défaut  
''' </summary>  
''' <remarks></remarks>  
Public Sub New()  

End Sub  


Tu peux aussi créer une sucharge du New ainsi :

''' <summary>  
''' Constructeur par défaut  
''' </summary>  
''' <remarks></remarks>  
Public Sub New()  

End Sub  

''' <summary>  
''' Surcharge du constructeur  
''' </summary>  
''' <remarks></remarks>  
Public Sub New(ByVal pTitre As String, _  
      ByVal pAuteur As String, _  
      ByVal pEditeur As String, _  
      ByVal pAnneeDeParution As Integer, _  
      ByVal pNbreDePages As Integer, _  
      ByVal pIsbn As Long)  

 Me.mTitre = pTitre  
 Me.mAuteur = pAuteur  
 Me.mEditeur = pEditeur  
 Me.mAnneeDeParution = pAnneeDeParution  
 Me.mNbreDePages = pNbreDePages  
 Me.mIsbn = pIsbn  

End Sub  


Tu pourras ainsi instancié ton objet avec des paramètres :

Private Livre1 As Livre = New Livre(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text)


Dans ta classe Op, dans la méthode je recommande de ne pas placer
plus d'un Return dans celle-ci, lorsque celle-ci deviendra complexe,
tu pourrais passer facilement à côté d'un problème si tu commence
à envoyer des [ Return ] un peu partout dans la méthode :

Public Class op  

 Public Shared Function XMLSerialize(ByVal monLivre As Livre) As Boolean  

  Dim Reponse As Boolean = False  

  If monLivre IsNot Nothing Then  
   Dim stream2 As New StreamWriter("F:Product.xml")  
   Dim serializer As New XmlSerializer(GetType(Livre))  
   serializer.Serialize(stream2, monLivre)  
   stream2.Close()  
   Reponse = True  
  End If  

  Return Reponse  

 End Function  

End Class  


Sous .NET, je n'ai utlisé que très peu les modules, si tu veux
regrouper des classes utilise plutôt un [ NameSpace ] commun .

Tu peux aussi utliser les modules comme extension a tes classes.

<Extension()> _  
Public Module Module1  

 <Extension()> _  
 Public Sub Afficher(ByVal pLivre As Livre)  

  Dim Chaine As New System.Text.StringBuilder  
  Chaine.AppendLine(pLivre.Titre)  
  Chaine.AppendLine(pLivre.Auteur)  
  Chaine.AppendLine(pLivre.Editeur)  
  Chaine.AppendLine(pLivre.AnneeDeParution.ToString)  
  Chaine.AppendLine(pLivre.NbreDePages.ToString)  
  Chaine.AppendLine(pLivre.Isbn.ToString)  
  MessageBox.Show(Chaine.ToString)  

 End Sub  

End Module  


l'appel se fait alors ainsi :

monLivre.Afficher

Cela demeure des suggestions et n'oblige à rien, tu prends ce qui te plait
et c'est tout.

Cdt

Lupin
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
16 août 2012 à 14:54
Il me reste des problèmes de compréhension concernant l'instanciation des Objets, Notamment les paramètres. Je pense que je dois davantage programmer pour comprendre les subtilité des paramètres. Pour les extensions, Je pense que mon livre doit aborder beaucoup plus tard ce point. J'ai utiliser ce que je sais, c'est a dire le partage de Classe, qui reste pour moi le plus simple.

Pour les renvoies return c'est très clair.

Ces suggestions sont très bonnes, j'accepte chaque remarque car je sais que je fais des erreurs en tant que débutant. Je dois encore acquérir de la rigueur...
Merci encore.
0
Utilisateur anonyme
16 août 2012 à 16:02
re :

Voici un modele de base complet que tu pourras examiné :
https://www.cjoint.com/?BHqozsEEOxW

C'est une application utilisant une BD Access :-)

Cdt

Lupin
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
Modifié par rj35 le 16/08/2012 à 17:27
Je viens d'apprendre a mieux organsiner mes programmes. A bien séparé les différentes parties pour que le programme puisse être édité par d'autres personnes.

Ce programme que tu m'as transmit correspond a la hiérarchie qui m'a été imposé.
Ça me permet de mieux comprendre le fonctionnement et de confirmé la demande de bien séparé le programme en plusieurs Classe/Projet.

J'ai aussi Appris le fonction namespace/Imports. C'est bcp plus pratique
J'ai testé ton programme, Il marche sauf quand j'insèreune nouvelle Ligne, (j'ai une exception) . J'ai pas tout regardé mais je comprend un petit peu le fonctionnement majeur (sql, Namespace), Quand j'aurais fini mon livre j'essaierais de refaire ton Programme...
Merci
0
Utilisateur anonyme
16 août 2012 à 18:53
re:

Ligne 177 du projet form doit être remplacé par :

CollectionLocale.Add(EntY)

Cdt

Lupin
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
16 août 2012 à 20:11
Ok c bon ca marche.
J'aurais besoin d'un dernier renseignement. Dans mon livre, on apprend a créer un fichier d'aide CHM, crée par NDOC. Je précise comme mm que mon Livre a edité en 2012... Ils n'ont pas actualisé le processus. De plus l'aide CHM et le logiciel Ndoc ne sont plus utilisés depuis la version 2005 de Visual Studio.

Que dois-je utilisé pour crée un fichier d'aide qui correspond aux usages d'aujourd'hui?

Merci encore pour tout.
0
Utilisateur anonyme
16 août 2012 à 20:47
re :

Personnellement, je ne connais que [ Robothelp ] d'Adobe.

Cdt

Lupin
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
Modifié par rj35 le 18/08/2012 à 10:14
J'ai encore un petit problème... je cherche a créer un lecteur Audio avec directX. Mais une fois la valeur instancier, je ne peux modifier son état a partir d'autre Fonction.
Imports Microsoft.DirectX 
Imports Microsoft.DirectX.AudioVideoPlayback 

Public Class Form1 

    Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 
            Dim PlayAudio As New Microsoft.DirectX.AudioVideoPlayback.Audio(OpenFileDialog1.FileName) 
            PlayAudio.Play() 

            'La musique que j'ai choisi est lancé. 

        End If 
    End Sub 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 

    End Sub 

    Public Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 

        'Je cherche a modifier l'état de la musique pour la mettre sur pause mais je n'a arrive pas a accéder a PlayVideo. 


    End Sub 
End Class 
0
Utilisateur anonyme
20 août 2012 à 12:49
re:

désolé, je ne connais pas cette partie, je n'ai jamais travaillé avec de la musique ...

Cdt

Lupin
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
20 août 2012 à 13:42
Re,
En VB6 je me sert de Windows Média Player qui permet toutes les fonctions d'un lecteur CD, Play, pause, Liste de musique etc..
Iil est aussi disponible en .Net mais je ne connais pas la syntaxe.
A+
0
rj35 Messages postés 922 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 19 janvier 2016 138
20 août 2012 à 21:58
Ok merci.
0