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 :

Ouvrir un fichier XML avec un programme réalisé en VB.NET


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2015
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2015
    Messages : 169
    Par défaut Ouvrir un fichier XML avec un programme réalisé en VB.NET
    Bonjour à tous.

    J'aimerais ouvrir un/des fichier(s) XML avec une extension autre que *.XML (je ne nais pas encore quelle extension mais ce n'est pas le problème).

    En fait j'aimerais que ce(s) fichier(s) s'ouvre(nt) directement dans mon logiciel lors d'un double clic, à l'image d'un *.doc qu'on ouvrirait avec word prêt à être édité.

    J'ai trouvé ce bout de code mais ce n'est pas la bonne approche à première vue... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Environment.CurrentDirectory.Count >= 2 Then
          Nom_Client = Ouverture_Fiche_Client(Environment.CurrentDirectory)
          LBL_Nom_Entreprise.Text = Nom_Client.Société.Nom
    End If
    Ce code est placé dans premièrefenêtre_load.

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour afficher le fichier dans une TextBox multiline :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string ThePath="C:\\Dir1\\File1.xml" ; 
    string[] TheLines = System.IO.File.ReadAllLines(ThePath);
    string TheText="" ;
    foreach (string TheLine in TheLines) TheText+=(TheText==""?"":Environment.NewLine)+TheLine ;
    MyTextBox.Text=TheText ;
    Pour exploiter le contenu XML, utiliser la classe System.Xml.XmlDocument.
    voir par exemple : http://csharp.net-tutorials.com/xml/...document-class

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2015
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2015
    Messages : 169
    Par défaut
    Bonjour et merci de votre réponse.

    Mais ce code est déjà fait pour ma part :

    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
     Function Ouverture_Fiche_Client(ByVal filename As String) As Client 'Créé la fonction lecture du fichier xml'
     
            Try 'Essaye le code suivant :'
                Using objStreamReader As New StreamReader(filename) 'Utilise le flux de données du fichier "filename"'
                    Try 'Essaye le code suivant : '
                        Return DirectCast((New XmlSerializer(GetType(Client))).Deserialize(objStreamReader), Client) 'Sérialise le fichier xml'
                    Catch ex As Exception 'Si l'essais échoue'
                        Erreur = True 'Met le booléen en valeur "vrai"' 
                        MessageBox.Show("Echec de la lecture." & ex.Message) 'Affiche un message d'erreur'
                    End Try 'Fin de l'essais du code'
                End Using 'Coupe toutes ressources utilisées pour créer le flux.'
            Catch ex As Exception 'Si le fichier n'existe pas'
                Erreur = True 'Met le booléen en valeur "vrai"'
                MessageBox.Show("Fichier inaccessible." & ex.Message) 'Affiche un message contenant l'erreur.'
            End Try 'Fin de l'essais du code'
            Return Nothing
     
        End Function
    Ce que je voudrais c'est récupérer le fichier qu'on exécute, mais pas par le logiciel, quand on ouvre un fichier txt on double clique dessus et il nous ouvre le bloc note prêt à éditer le fichier.

    C'est ce que je voudrais faire: ouvrir mon fichier XML et qu'il m'exécute mon programme.

    Donc récupérer un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Environment.CurrentDirectory.Count >= 2 Then
          Nom_Client = Ouverture_Fiche_Client(Environment.CurrentDirectory)
          LBL_Nom_Entreprise.Text = Nom_Client.Société.Nom
    End If
    en remplaçant CurrentDirectory par 'MonFichierXML' par exemple.

    J'espère que c'est un peut plus clair

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Pour orienter tes recherches, ta demande est plus :

    -> "associer une extension" à un programme.
    (Pour cela il faut aller écrire ce qu'il faut dans la base de registre ou le faire toi même via Windows (Ouvrir avec etc...))

    -> Après tu cherches à lancer le programme avec le chemin du fichier en paramètre, ça se fait aussi.

    Avec ces termes, tu trouveras facilement de infos.

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2015
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2015
    Messages : 169
    Par défaut
    Merci pour vos réponses.

    Pour ce qui est d'associer une extension au logiciel c'est pas le problème c'est au niveau de l'exécution, pour récupérer le fichier qu'on veux ouvrir (sur lequel on à préalablement double-cliqué donc).

    J'ai trouvé ce code que je me suis adapté :

    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
    Private Sub Lecture_Fiche_Client_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
            Try 'on gère les erreurs
                If My.Computer.Registry.ClassesRoot.OpenSubKey(".cli") Is Nothing Then
     
                    'si l'extension n'est pas encore associée, on l'associe.
                    associerExtension()
     
                End If
     
            Catch ex As Exception
                MsgBox("Oups, erreur") 'message très descriptif..
            End Try
     
            'on obtient les arguments, à savoir le nom du fichier avec lequel le prog s'est ouvert
            For Each argument As String In Environment.GetCommandLineArgs()
     
                If argument.Contains("cli") Then 'si il contient notre extension
     
                    'on affiche le chemin du fichier test1
                    Nom_Client = Ouverture_Fiche_Client(argument)
     
                End If
            Next
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Sub associerExtension()
     
            Dim extension As String = ".cli"
            Dim nomSansPoint As String = extension.Substring(1, extension.Length - 1) 'on aura uniquement cli
            Dim cheminFinalProgramme As String = "C:\Users\Patrick\Documents\Visual Studio 2013\Projects\Jestcli\Jestcli\bin\Debug"
     
            My.Computer.Registry.ClassesRoot.CreateSubKey(extension).SetValue("", nomSansPoint, Microsoft.Win32.RegistryValueKind.String)
            My.Computer.Registry.ClassesRoot.CreateSubKey(nomSansPoint & "\shell\open\command").SetValue _
                ("", cheminFinalProgramme & " ""%l"" ", Microsoft.Win32.RegistryValueKind.String)
     
        End Sub
    Mais il ne fonctionne pas !

    Je continue de chercher.

  6. #6
    Membre confirmé Avatar de marcoxavier
    Homme Profil pro
    ADMINISTRATEUR SYSTEME UNIX
    Inscrit en
    Mai 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : ADMINISTRATEUR SYSTEME UNIX

    Informations forums :
    Inscription : Mai 2015
    Messages : 72
    Par défaut
    Arrêtez moi si je dis une gros bêtise mais, si tu fais clique droit sur ton fichier XML, ouvrir avec et que de la tu selectionne ton programme en .exe, après quand tu va double cliquer sur le fichier XML, cela va ouvrir ton programme non?

    Cdt,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] Ouvrir un fichier video avec programme par défaut
    Par paidge dans le forum Langage
    Réponses: 4
    Dernier message: 29/03/2013, 11h35
  2. ouvrir un fichier xml en lecture avec silverlight 3
    Par rimenis dans le forum Silverlight
    Réponses: 3
    Dernier message: 07/05/2011, 14h20
  3. [XL-2000] Ouvrir un fichier xml avec excel
    Par kev159 dans le forum Excel
    Réponses: 2
    Dernier message: 27/02/2010, 15h15
  4. Ouvrir les fichiers png avec un autre programme
    Par fabou3377 dans le forum NetBeans
    Réponses: 1
    Dernier message: 18/01/2010, 14h04
  5. comment ouvrir un fichier XML avec excel
    Par ALCINA dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/03/2006, 14h42

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