Probleme Visual Basic, changer de mode

Résolu
rj35 Messages postés 978 Statut Membre -  
rj35 Messages postés 978 Statut Membre -
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.

14 réponses

  1. Utilisateur anonyme
     
    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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. rj35 Messages postés 978 Statut Membre 138
       
      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
    2. rj35 Messages postés 978 Statut Membre 138
       
      Est ce que le Me. Est vraiment utile ?
      0
    3. rj35 Messages postés 978 Statut Membre 138
       
      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
  4. rj35 Messages postés 978 Statut Membre 138
     
    up
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rj35 Messages postés 978 Statut Membre 138
     
    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
    1. rj35 Messages postés 978 Statut Membre 138
       
      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
  7. rj35 Messages postés 978 Statut Membre 138
     
    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
  8. rj35 Messages postés 978 Statut Membre 138
     
    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
  9. rj35 Messages postés 978 Statut Membre 138
     
    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
  10. Utilisateur anonyme
     
    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
  11. rj35 Messages postés 978 Statut Membre 138
     
    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
  12. rj35 Messages postés 978 Statut Membre 138
     
    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
    1. Utilisateur anonyme
       
      re:

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

      CollectionLocale.Add(EntY)

      Cdt

      Lupin
      0
    2. rj35 Messages postés 978 Statut Membre 138
       
      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
    3. Utilisateur anonyme
       
      re :

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

      Cdt

      Lupin
      0
    4. rj35 Messages postés 978 Statut Membre 138
       
      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
    5. Utilisateur anonyme
       
      re:

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

      Cdt

      Lupin
      0
  13. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  14. rj35 Messages postés 978 Statut Membre 138
     
    Ok merci.
    0