Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1563 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Sauvegarde en fichier xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB.NET] Sauvegarde en fichier xml

n°1913141
Orla
Posté le 09-08-2009 à 14:05:25  profilanswer
 

Bonjour,
 
Depuis quelques temps déjà, je suis entrain de programmer un jeu mais, il devient de plus en plus évident que le problème de la sauvegarde doit être réglée. Bien qu'ayant fait plusieurs recherches sur divers sites et d'avoir utilisé la fonction rechercher sur ce forum, je ne trouve rien qui me permet d'avoir des informations très précises.
 
Voici ce que je cherche:
-Comment créer le code de création du fichier de sauvegarde xml ?
-Dois-je indiqué toutes les variables dans le code de création de fichier xml ? Si oui, dans quelle partie du code ?
-Quel code utilisé pour utiliser le fichier xml grâce à une option "charger" ?
 
Pour plus d'informations, je vous explique un peu plus comment je veux faire:
 
Tout d'abord, le joueur devra faire une inscription en donnant un pseudo et un mot de passe (permettant ainsi d'avoir plusieurs parties sur le même ordinateur mais empêchant n'importe qui d'accéder à une partie). Puis, lorsque le joueur voudra sauvegarder, il cliquera sur un bouton "Sauvegarder" et n'aura plus qu'à décidé d'un nom reconnaissable. Lorsqu'il reviendra sur le jeu, il pourra cliquer sur un bouton "Charger" et choisir le fichier de sauvegarde lui appartenant. Avant le chargement de ce fichier, un demande de mot de passe lui sera demandée pour vérifier l'identité.
 
Je peut concevoir tout à fait qu'il soit dur de faire ce projet mais, c'est tout ce qu'il me manque pour pouvoir faire mon jeu complètement.
 
Cordialement et en vous remerciant d'avance,
 
Orla.

mood
Publicité
Posté le 09-08-2009 à 14:05:25  profilanswer
 

n°1913166
TotalRecal​l
Posté le 09-08-2009 à 15:51:00  profilanswer
 

Plutôt que réinventer la roue, renseigne toi sur les fichiers "Settings" de .Net. Ca se met en place très très simplement, il n'y a rien à développer et tu n'es pas limité au stockage des types primitifs.  
Sauf si tu as des besoins poussés en matière de gestion de profils utilisateurs multiples ou de contrôle/réplication du fichier généré, je pense que c'est ce que tu veux.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°1913297
Orla
Posté le 10-08-2009 à 10:34:51  profilanswer
 

Merci de ta réponse TotalRecall mais maintenant, j'ai un autre problème avec les fichiers "Settings" car, d'après ce que j'ai compris des rares informations que j'ai trouvé après plusieurs recherches, il semblerait que ses fichiers permettent de faire comme une sauvegarde (dit-le moi si je me trompe) mais le problème, c'est que je n'arrive pas du tout à les utiliser malgré l'aide en ligne de VB 2008. Si quelqu'un pouvait m'aider, ce serait super.

n°1913655
Orla
Posté le 10-08-2009 à 18:55:13  profilanswer
 

Cela semble assez facile bien que je ne comprenne pas certaines choses:
-La solution, c'est ce que je programme ?
-Comment rajoutez le fichier ? (j'arrive pas à trouver)
-Tu dit rajouter des propriétés en les typant, mais que veut-tu dire par là ?
-Comment crypter le fichier XML ?
-Le Settings1.Default.login, je le place à l'endroit où se trouve le texte qui doit être enregistré puis utilisé, non ?
 
Ces questions peuvent avoir l'air débile mais, je suis encore assez débutant dans le domaine bien que je m'améliore rapidement de jour en jour, en partie grâce à ce que je lis sur ce forum.
 
Encore merci de vos réponses.
 
Orla

n°1913748
Orla
Posté le 10-08-2009 à 22:17:01  profilanswer
 

Dans Visual Studio 2008 Express, je ne trouve pas "Fichier de paramètres" mais suite à un essai fait avant, j'ai un fichier nommé "app.config", est-ce ça ? Ensuite, pour les propriétés, je n'y comprends rien du tout. Cependant, dans la partie "Propriétés" de mon projet, j'ai "Paramètres" et dedans, un tableau qui me permet de mettre un "nom", un "type", une "portée" et une "valeur", serais-ce cela qui ferrait aussi le "Fichier de paramètres" mais en plus simple ?
 
Ceci est encore plus bête que le reste mais, dans cette partie:

Citation :

Ensuite dans ton programme, tu tapes Settings1.Default.login, et tu accèdes ainsi en lecture et en écriture directement.


Que faut-il mettre à la place du ".Click" pour que cela s'active automatiquement ? J'ai demandé si c'était dans le programme qu'il fallait le mettre mais sans me renseigner dans quelle partie exactement.
 
Merci de vos réponses et de votre patience,
Cordialement,
 
Orla.


Message édité par Orla le 10-08-2009 à 22:19:58
n°1917672
Orla
Posté le 23-08-2009 à 18:34:10  profilanswer
 

Désolé pour le double-post (ce que je n'aime pas faire cela  :cry: )
 
J'aimerais bien savoir si quelqu'un peut répondre à mes questions. De plus, après avoir discuté avec mon père qui est informaticien depuis de longues années, j'en suis venu à la conclusion que le xml est le mieux donc, je reprends l'idée du xml. Désolé pour ceux qui m'avaient conseillé le .Settings mais mon père m'as assuré que ce n'était pas ce que je recherchais pour faire des sauvegardes.

n°1917936
Kormyr
Posté le 24-08-2009 à 23:47:12  profilanswer
 

Pour créer un fichier XML simplement, utilise XmlTextWriter

Message cité 1 fois
Message édité par Kormyr le 24-08-2009 à 23:48:41
n°1918053
Orla
Posté le 25-08-2009 à 12:20:50  profilanswer
 

Merci de ta réponse Kormyr mais je n'arrive pas à comprendre comment faire pour stocker des informations dans le fichier et ensuite les réutiliser et comment faire pour que tout ceci soit automatique (au chargement de la page ?). Encore merci de m'aider car, bien que j'ai du mal à comprendre plusieurs choses, je voit que vous acceptez de m'aider malgré mes multiples questions.

n°1918097
Kormyr
Posté le 25-08-2009 à 14:33:19  profilanswer
 

Je ne comprends pas très bien ce que tu ne comprends pas.
Pour écrire le fichier XML tu utilises la classe que je t'ai donné : XmlTextWriter. Il y a des exemples très clair sur MSDN :
ex :

Citation :


 w.WriteStartElement("root" );
 w.WriteAttributeString("xmlns", "x", null, "urn:1" );
  w.WriteStartElement("item","urn:1" );
  w.WriteEndElement();
  w.WriteStartElement("item","urn:1" );
  w.WriteEndElement();
 w.WriteEndElement();


 
donne :
 

Citation :


 <root xmlns:x="urn:1">
  <x:item/>
  <x:item/>
 </x:root>


 
Une fois que ton fichier XML est créé, tu peut le lire avec XmlTextReader
 
Lit bien ce qui est expliqué sur MSDN et n'hésite pas à aller sur google. Tu verra ce n'est pas bien compliqué

n°1918133
Orla
Posté le 25-08-2009 à 15:37:42  profilanswer
 

Oui, j'ai compris que ce que tu as montré en premier donne ce que tu as montré en second mis, la seule chose que je n'arrive pas à comprendre avec MSDN, c'est où y mettre les multiples variables. Après, c'est peut-être moi qui ne comprend pas assez bien MSDN (je pense que ce doit être le cas)
 
Edit: le principal problème, c'est que je ne comprends pas dans ceci:
 

Citation :

w.WriteStartElement("root" );
 w.WriteAttributeString("xmlns", "x", null, "urn:1" );
  w.WriteStartElement("item","urn:1" );
  w.WriteEndElement();
  w.WriteStartElement("item","urn:1" );
  w.WriteEndElement();
 w.WriteEndElement();


 
ce qu'est "root", "xmlns", "x", "item", "urn:1". En fait, pour faire plus simple, je pense qu'il sera bien plus simple de me dire à quoi correspond chaque parties du code  ncar j'ai beau relire MSDN 25 fois, je n'y comprends rien. Merci de votre patience.


Message édité par Orla le 25-08-2009 à 16:24:31
mood
Publicité
Posté le 25-08-2009 à 15:37:42  profilanswer
 

n°1918188
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-08-2009 à 16:37:46  profilanswer
 

Kormyr a écrit :

Pour créer un fichier XML simplement, utilise XmlTextWriter


You failed ! :o
Linq To Xml est largement plus simple et intuitif à utiliser que les classes de System.Xml, ça n'a rien à voir [:ciler]
Ca nécessite .NET 3.5, mais l'upgrade en vaut largement la peine.
 

Kormyr a écrit :

Je ne comprends pas très bien ce que tu ne comprends pas.
Pour écrire le fichier XML tu utilises la classe que je t'ai donné : XmlTextWriter. Il y a des exemples très clair sur MSDN :
ex :

Citation :


 w.WriteStartElement("root" );
 w.WriteAttributeString("xmlns", "x", null, "urn:1" );
  w.WriteStartElement("item","urn:1" );
  w.WriteEndElement();
  w.WriteStartElement("item","urn:1" );
  w.WriteEndElement();
 w.WriteEndElement();


 
donne :
 

Citation :


 <root xmlns:x="urn:1">
  <x:item/>
  <x:item/>
 </x:root>



En Linq To XML :

Code :
  1. XElement xml = new XElement("root", new XAttribute(XNamespace.Xmlns + "x", "urn:1" ),
  2.                 new XElement("item" ),
  3.                 new XElement("item" ));


c'est quand même largement plus buvable que le code "ancienne version" non ? [:dawa]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1918203
Orla
Posté le 25-08-2009 à 16:50:31  profilanswer
 

Ton code semble effectivement plus simple mais, je repose ma question, que veut dire: "root", "x", "urn:1" et "item" ? De plus, ton code, je le met avec le reste du code VB.NET ? car ça me semble assez différent du code VB.NET

n°1918215
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-08-2009 à 16:55:49  profilanswer
 

Orla a écrit :

Ton code semble effectivement plus simple mais, je repose ma question, que veut dire: "root", "x", "urn:1" et "item" ? De plus, ton code, je le met avec le reste du code VB.NET ? car ça me semble assez différent du code VB.NET


root : le nom de la balise
x : l'espace de noms utilisé (namespace)
urn:1 : le nom du namespace
item : le nom de la balise
 
ce sont des notions de base ça... si tu ne connais pas ça, renseigne toi sur le format XML, sinon tu n'arriveras à rien au niveau du parsing
quant à mon code, il est en C#, mais il est adaptable en VB très facilement (cf MSDN, lien donné dans le post précédent)


---------------
J'ai un string dans l'array (Paris Hilton)
n°1918222
Orla
Posté le 25-08-2009 à 16:59:18  profilanswer
 

Bien, merci à vous tous, je pense avoir ce qu'il faut. Je vais me renseigner sur le format XML et je pense que tous ira bien après. Encore merci à vous tous pour votre aide.
 
Cordialement,
 
Orla

n°1918265
Kormyr
Posté le 25-08-2009 à 18:05:29  profilanswer
 

@ Harkonnen : Je vois pas en quoi j'ai failed vu que ma technique marche :o
 
Plus sérieusement merci je connaissait pas, je regarderais quand j'aurais le temps.
 
Sinon Orla tu peut aussi l'écrire à la main comme je le faisait dans le temps :
 

Citation :


...
sw.WriteLine(String.Format("<{0}>{1}</{0}>", taBalise, tonContenu));
...


xD
 
Bon ok je ->[]

Message cité 1 fois
Message édité par Kormyr le 25-08-2009 à 18:06:24
n°1918272
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-08-2009 à 18:09:06  profilanswer
 

Kormyr a écrit :

@ Harkonnen : Je vois pas en quoi j'ai failed vu que ma technique marche :o


ok, la prochaine fois que j'irais aux states, je prendrais le bateau au lieu de prendre l'avion [:petrus75]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1918273
Kormyr
Posté le 25-08-2009 à 18:11:28  profilanswer
 

Harkonnen a écrit :


ok, la prochaine fois que j'irais aux states, je prendrais le bateau au lieu de prendre l'avion [:petrus75]


 
[HS]Au moins si tu tombes en panne, c'est moins risqué.[/HS]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Sauvegarde en fichier xml

 

Sujets relatifs
Récuperer des informations xml contenu dans le même fichier phpRenvoyer un fichier Xml après appel d'un WCF
Acces serveur de fichier distant[VBA] ouvrir un fichier dont le repertoire est choisi par lutilisateur
[Resolu] Deziper un fichier en vbsCréation fichier log retraçant le déroulement d'une macro
[awk] Extraire et additionner différents élements d'un fichierVBS VB ecrire message dans une fenetre soustraite/reduite
lire un nombre en notation scientifique dans un fichier[VB.NET] Lister les sous repertoires et les fichiers d'un repertoire
Plus de sujets relatifs à : [VB.NET] Sauvegarde en fichier xml


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR