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

C# Discussion :

Sauvegarder une liste de fichiers


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Points : 320
    Points
    320
    Par défaut Sauvegarder une liste de fichiers
    Salut,

    Je bosse sur une application qui utilise des pseudos fichiers texte de différents types. Je voudrais que l'application recharge automatiquement les fichiers précédemment ouverts.

    Et j'ai besoin de vos avis sur la manière de le faire.

    J'ai pensé à un fichier xml qui contiendrait la liste des fichiers, le parcours et l'édition se faisant avec XPath.

    Qu'en pensez-vous ? N'est-ce pas déployer une machine de guerre pour une tâche simple ? D'autres idées ?

    Merci.

    ++
    Le problème est souvent entre la chaise et le clavier

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    Pas forcement besoin de passer par XPath pour faire une telle lecture et sauvegarde

    Deux approches pour moi :

    1 / Liste sauvegarde dans la base de registre

    2/ Liste sauvegardé dans un fichier XML

    Pour le fichier XML, tu peux créer un modele de fichier XML, ouvrir avec Visual Studio ton fichier, Menu XML->Generate Schema .xsd

    et ensuite, tu lances l'outil XSD pour generer automatiquement la classe associé

    Voir, je crois aussi avec XSD generer le serializer spécifique à ta classe

    Avec la technique décrit en deux, ce qui prend le plus de temps, c'est d'écrire un fichier XML contenant "tous" les tags et les attributs désirés)

    ensuite... Pour serialiser ou desiérialiser, C'est 3 lignes de codes (une fois que la classe a été généré automatiquement par xsd

    Easy, non ?

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Points : 320
    Points
    320
    Par défaut
    theMonz31 !

    Je pense opter pour la solution 2, le fichier XML.

    Voici ce à quoi il ressemble :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="Windows-1252" standalone="yes"?>
    <files>
    	<file>
    		<type>listing</type>
    		<path>c:\toto.txt</path>
    	</file>
    	<file>
    		<type>description</type>
    		<path>c:\titi.txt</path>
    	</file>
    </files>
    Mais c'est après que je n'ai pas tout suivi : ma classe existe déjà, alors pourquoi regénérer une classe à partir du xsd ?

    En fait je veux juste qu'à la fermeture de l'application, le path des fichiers toto.txt et titi.txt soit sauvegardé.

    Quand je relance l'application, je vais lire le fichier xml et je récupère les paths des fichiers dans une chaîne de caractères. Ensuite j'applique un traitement en fonction du type de fichier car la lecture est différente en fonction de ce type.
    Le problème est souvent entre la chaise et le clavier

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    générer la classe avec XSD c'est pour les flemmards comme moi .. qui parte
    du fichier XML pour aller vers la classe associé (et non l'inverse)

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Points : 320
    Points
    320
    Par défaut
    Et du coup que me conseilles-tu ?

    J'ai un truc qui fonctionne avec des XmlTextReader et XmlTextWriter, qu'en penses-tu ?

    ++
    Le problème est souvent entre la chaise et le clavier

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    beh, si cela te convient, super...

    Mais bon, j'aime bien utiliser XSD parce que cela te simplifie la vie et que le code
    est généré automatiquement

    Apres, meme si ta serialisation est tres simple et donc facile à faire, je trouve
    que generer une classe de sérialisation (et désérialisation) de façon automatique est pas mal dans le sens ou cela "optimise" la desérialisation ....

    Apres, moi aussi, dans ce type de situation , j'utilise le XmlSerializer ou bien mon Serializer spécifique

    La solution la plus simple pour toi et celle qui marche bien avant tout et que tu maitrises

    Moi, je trouve que la solution ou le seul truc à faire est de créer le XML est moins "fatiguante" et donc, adaptée pour bcp de cas ...

    D'ailleurs, depuis que je connais cette "technique", je n'ecris plus jamais la moindre classe qui est destinée à être sérialisée.. (par contre, parfois, j'ajoute des elements non sérialisés)

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Points : 320
    Points
    320
    Par défaut
    Je dois avouer que la notion de sérialisation est nouvelle pour moi... Je vais me renseigner là dessus, on en parle pas mal sur les forums, dans les livres. Je ne pense donc pas perdre de temps en regardant ça.

    C'est vrai que là j'ai une solution qui fonctionne et que je comprends mais je pense que si on se limite à ce qu'on connaît on ne progresse pas aussi vite. C'est pourquoi je demandais des avis...

    Merci encore.

    ++
    Le problème est souvent entre la chaise et le clavier

Discussions similaires

  1. Comment charger et sauvegarder une liste dans un fichier
    Par kkainmoh dans le forum Débuter
    Réponses: 8
    Dernier message: 14/12/2013, 21h30
  2. Réponses: 2
    Dernier message: 03/07/2006, 20h14
  3. Réponses: 1
    Dernier message: 24/05/2006, 11h00
  4. [VB]Récupérer une liste de fichiers
    Par yaya54 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/02/2006, 16h03
  5. Réponses: 10
    Dernier message: 30/01/2005, 20h53

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