Enregistrer le contenu d'un formulaire dans un fichier XML
Fermé
Rulergogo78
Messages postés
35
Date d'inscription
vendredi 20 février 2015
Statut
Membre
Dernière intervention
27 septembre 2016
-
1 juin 2016 à 18:03
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 1 juin 2016 à 23:52
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 1 juin 2016 à 23:52
A voir également:
- Enregistrer le contenu d'un formulaire dans un fichier XML
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Fichier iso - Guide
1 réponse
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
Modifié par Whismeril le 1/06/2016 à 23:52
Modifié par Whismeril le 1/06/2016 à 23:52
Bonsoir
Plusieurs remarques:
C'est relativement simple car le framework nous facilite la vie :-)
Si j'ai bien compris tu as créé une extension .Tartenpion que tu as associé avec un logiciel de ta facture.
Ça c'est du fonctionnement de Windows, pas du .Net.
Dans l'explorateur, tu fais click droit / Ouvrir Avec, tu vas chercher ton programme et tu cliques sur "Toujours utiliser ce programme".
Il faut juste que tu programmes sache prendre en ligne de commande l'adresse du fichier, mais tous les langages savent faire ça.
Donc au final dans ce bout de code, il ne s'agit pas de créer une extension, mais de remplacer la technique manuelle d'association dans windows à un programme.
Bon déjà cette ligne présente un défaut
admettons que lors d'une modification tu décides passer l'extension en paramètre, et qu'à un moment tu la passes sans le point, ça va te couper un caractère.
La partie écriture xml du tuto est nulle. Les outils contenus dans l'espace de nom System.Xml, servent à ne pas avoir à écrire un texte ou on ouvre et on ferme les balises à la main.... C'est quand même un comble d'écrire
Si tu veux une méthode saine pour écrire du xml, va voir ici
https://codes-sources.commentcamarche.net/faq/11196-linq-to-xml-c-et-vb-net
J'imagine que si tu veux faire l'association par le code, c'est que tu comptes déployer l'appli sur plusieurs PC et que tu veux gagner du temps.
Il faut alors au premier démarrage de l'appli ou pendant le setup si tu en fais un, ou même à chaque fois qu'on cherche à ouvrir un fichier qui n'est pas associé, proposer à l'utilisateur d'associer et s'il l'accepte lancer cette méthode. Bon là ton code est un peu plus bourrin, il le fait (ou est sensé le faire je n'ai pas testé ton code, mais en lisant on dirait bien) sans rien demander puisque dans le load, il lance l'association.
Donc cette phrase m'interpelle
Ensuite
ça c'est ce que fait EnregistrerPref
Comme tu n'as pas posé de question, décrit de bug, de message d'erreur, etc... A part le fait que le tuto n'est pas top, ou est ton problème?
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Plusieurs remarques:
- Je suis toujours étonné du principe d'aller chercher un tuto ailleurs et quand on ne le comprends pas de poser des questions ici et pas directement à l'auteur...
J'ai suivis un tutoriel pour créer sa propre extension de fichier en VB.Net .
C'est relativement simple car le framework nous facilite la vie :-)
Si j'ai bien compris tu as créé une extension .Tartenpion que tu as associé avec un logiciel de ta facture.
Ça c'est du fonctionnement de Windows, pas du .Net.
Dans l'explorateur, tu fais click droit / Ouvrir Avec, tu vas chercher ton programme et tu cliques sur "Toujours utiliser ce programme".
Il faut juste que tu programmes sache prendre en ligne de commande l'adresse du fichier, mais tous les langages savent faire ça.
Donc au final dans ce bout de code, il ne s'agit pas de créer une extension, mais de remplacer la technique manuelle d'association dans windows à un programme.
Sub associerExtension() Dim extension As String = ".osms" Dim nomSansPoint As String = extension.Substring(1, extension.Length - 1) 'on aura uniquement test1 Dim cheminFinalProgramme As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments 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
Bon déjà cette ligne présente un défaut
Dim nomSansPoint As String = extension.Substring(1, extension.Length
admettons que lors d'une modification tu décides passer l'extension en paramètre, et qu'à un moment tu la passes sans le point, ça va te couper un caractère.
Dim nomSansPoint As String = extension.Replace(".","")t'éviterais ce risque. Dans l'absolue il faudrait aussi vérifier qu'il n'y a pas de caractères interdits, avec une Regex par exemple.
La partie écriture xml du tuto est nulle. Les outils contenus dans l'espace de nom System.Xml, servent à ne pas avoir à écrire un texte ou on ouvre et on ferme les balises à la main.... C'est quand même un comble d'écrire
Ici on va plutôt utiliser le standard XML, de plus qu’on a déjà pleins de fonctions prévues à cet effet dans le Framework qui nous simplifieront la vie"et de n'utiliser aucun de ces outils.....
Si tu veux une méthode saine pour écrire du xml, va voir ici
https://codes-sources.commentcamarche.net/faq/11196-linq-to-xml-c-et-vb-net
J'imagine que si tu veux faire l'association par le code, c'est que tu comptes déployer l'appli sur plusieurs PC et que tu veux gagner du temps.
Il faut alors au premier démarrage de l'appli ou pendant le setup si tu en fais un, ou même à chaque fois qu'on cherche à ouvrir un fichier qui n'est pas associé, proposer à l'utilisateur d'associer et s'il l'accepte lancer cette méthode. Bon là ton code est un peu plus bourrin, il le fait (ou est sensé le faire je n'ai pas testé ton code, mais en lisant on dirait bien) sans rien demander puisque dans le load, il lance l'association.
Donc cette phrase m'interpelle
L'icône de mon logiciel ne s'affiche pas directement sur le fichier créer (C'est car le fichier par exemple (TEST.Extension) n'est pas directement associer à mon logiciel par défaut , je dois aller le chercher et dire à l'ordinateur qu'il faut toujours utiliser mon logiciel pour ouvrir les fichier (.Extension)On vient de voir que ça c'est la procédure de base et que tu as écrit un code qui le fait pour toi sans même te le demander. Evidement il faut lancer l'exe au moins une fois.
Ensuite
Mon objectif principal , c'est de pouvoir enregistrer le contenu de plusieurs textboxs dans mon fichier xml ,
ça c'est ce que fait EnregistrerPref
et quand j'ouvre celui ci avec mon logiciel , les mots écrit dans les textboxs apparaissent .et ça, c'est écrit dans le load après l'association.
Comme tu n'as pas posé de question, décrit de bug, de message d'erreur, etc... A part le fait que le tuto n'est pas top, ou est ton problème?
Quand j'étais petit, la mer Morte n'était que malade.
George Burns