@StringBuilder
désolé d'arriver (une fois de plus) comme un cheveux sur la soupe
C'est vrai ... 
Mais ici, tu fais autre chose que de la critique acerbe et stérile ...
Tes propos sont tout-à-fait justes, mais tu viens avec de notions de programmation plus complexes. D'autant que tous les objets concernés n'ont tous les même propriétés, cela met un cran de difficulté supplémentaire. Et puis, comme tu le mentionnes, il faudra implémenter une méthode de sérialisation et assurer la persistance des données. Idem pour la relecture avec désérialisation.
Tout cela me paraît fort complexe pour enregistrer finalement peu de choses. Alors, perso, je trouve le fichier TXT relu avec usage de la méthode SPLIT est une alternative facile pour un non professionel (note que je ne connais pas la capacité de programmation de Btacorn).
Comme tu notes d'entrée de jeu, il faut comprendre ses besoins. Pour avoir l'historique de la discussion, il faut revoir le post " (DesignSurface Class) Form Designer génération de code et lecture de fichier" du 14/4. Mais quels que soient ses besoins, ses données peuvent se trouver aussi bien sous forme littérale dans des TXT, ou dans une DB, ou sous forme d'objets sérialisés dans un fichier ou une DB.
Finalement, c'est à Btacorn de voir ce qu'il peut gérer.
J'ai nettoyé un peu mes codes d'hier soir et je les renvoie ici avec ce mot d'explication sur l'algorithmique illustrée. Tu peux donc prendre connaissance de l'ensemble. Comme tu sembles très "pour" la POO, pourquoi n'écrirais-tu pas quelques exemples conduisant aux mêmes résultats ? Cette question n'est pas une taquinerie de ma part. Si tu disposes d'un peu de temps, cela te permettrait peut-être de te rendre compte que la POO n'et pas toujours aussi simple pour tout le monde. Je crois que beaucoup de demandeur d'infos sur le forum ne sont pas des professionnels de la programmation.
@Youtpout
Bien sûr XML sert à cela. Mais là aussi je me demande s'il est vraiment à la portée de non-professionels de la programmation.
@Btacorn
Voici donc le projet amélioré (meilleure présentation des données relues) : CSV_0C.zip
Voici les quelques algorithmes presqu’indépendants les uns des autres (hormis 3 variables globales).
En principal, ces algos sont :
Sub BCharge_Click( … )
Lecture de tes fichiers TXT originaux et remplissage d’un DGV après élimination des caractères inutiles.
Sub BEnregistre_Click( … )
Enregistrement dans un fichier « Data » (tu donnes le nom et l’extension que tu veux) des données présentes dans le DGV. Ces données utilisent UNE ligne du fichier « Data ». L’enregistrement d’un autre DGV crée une autre ligne dans ce même fichier.
Sub BLire_Click( … )
Lecture d’un fichier « Data » et remplissage d’un ListBox avec les lignes du fichier.
Sub LBData_SelectedIndexChanged( … )
La sélection d’une ligne du ListBox provoque le remplissage du DGV avec les données de cette ligne.
En secondaire, quelques algos :
Sub FTest_CSV_Load( … )
Notamment, remplissage d’un ListBox de présentation des noms des fichiers « Sources » disponibles dans le dossier, pour permettre le choix de celui à charger et montrer dans le DGV.
Sub LBFichiersSources_SelectedIndexChanged( … )[/INDENT]Sub VideDonnees()
Nettoyage du DataTable et du DGV. Ces lignes de codes factorisées dans cette Sub pour éviter leur récriture là où elles sont nécessaires.
Sub Nettoyer()
Eliminations des caractères inutiles dans les données du DataTable (usage des Trim). Ces lignes de codes factorisées dans cette Sub pour éviter leur récriture là où elles sont nécessaires.
J’espère que tu y trouveras de quoi avancer …
Bonne soirée à tous
Partager