Lire un nouveau fichier texte chaque jour

Emma_52 - 17 juil. 2019 à 11:14
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 - 21 juil. 2019 à 18:57
Bonjour,
j'ai développé une application en vb.net , mais j'ai pas réussi à faire une chose. j'ai un répertoire qui contient plusieurs fichiers texte, chaque jour un nouveau fichier texte est créé dans le répertoire. mon problème c'est : comment je peux faire pour lire le nouveau fichier créé chaque jour ?
Merci

8 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
18 juil. 2019 à 08:38
Bonjour,

pour afficher le texte dans une Textbox (ou RichtextBox) voir ceci:

https://clxer.blogspot.com/2013/06/comment-ouvrir-un-fichier-texte-en-vb.html

pour ouvrir le fichier avec le logiciel dédié voir cela:

https://www.dotnetperls.com/process-vbnet

1
Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
18 juil. 2019 à 09:09
Bonjour et merci pour votre réponse. pour la lecture c'est bon c'est déjà fait , mais le problème c'est comment changer le nom du fichier texte chaque jour, c'est comme une mise à jour du fichier, vous comprenez le principe ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
18 juil. 2019 à 11:16
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
18 juil. 2019 à 10:22
Bonjour
Attention changer le nom d'un fichier et mettre à jour un fichier sont 2 opérations très différentes . La seconde concerne les données du fichier ( son contenu ) alors que la première ne fait que changer son nom
Pour changer le nom d'un fichier chaque jour pourquoi ne pas combiner par exemple Fichier avec la date du jour : pour aujourd'hui ce serait Fichier18072019 comme nom de fichier et demain Fichier19072019 , etc .....
Autre chose faut-il que tu gardes les fichiers précédents lorsque tu crées un nouveau fichier ? Car en 1 année cela fera 365 fichiers .
1
Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
18 juil. 2019 à 10:29
Exactement je veux changer que le nom du fichier . pour vous expliquer un peu, chaque jour le nouveau fichier créé automatiquement ( ce n'est pas moi qui le fait c'est le système) a un nom différent de l'ancien, ca veux dire ce que je veux moi c'est : le nouveau fichier va remplacer l'ancien fichier , c'est là où je suis bloqué et je ne sais pas comment faire . Merci pour votre réponse
0
Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
18 juil. 2019 à 10:30
les fichiers ils sont des noms un peu spéciaux, ce n'est pas avec la date du jour mais un nom qui est spécial
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
18 juil. 2019 à 18:49
Bonjour

un truc comme ça
    Private Sub Emma52()
        'lister les fichier *.txt dans le répertoire C:\temp, extension et répertoire à modifier au besoin, 
        Dim fichiers() As String = Directory.GetFiles("C:\temp", "*.txt")

        'obtention des métadonnées des fichiers
        Dim infos As List(Of FileInfo) = fichiers.Select(Function(f) New FileInfo(f)).ToList()

        'sélection du plus récent (pour le cas ou le fichier du jour ne soit pas encore crée, ou inversement qu'il y ait plusieur fichiers ce jours
        Dim leFichier As FileInfo = infos.OrderBy(Function(f) f.CreationTime).Last()

        If (leFichier.CreationTime.Date = DateTime.Now.Date) Then
            Dim leTexte As String = File.ReadAllText(leFichier.FullName)
        End If

    End Sub






1
Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
19 juil. 2019 à 08:17
Bonjour , ouiii ça m'interèsse beaucoup ça , merci beaucoup , j'ai fait un code mais ça à pas marcher :

For Each foundFile As String In My.Computer.FileSystem.GetFiles( "L:\CFT-BRHM\",
' Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.SW")
' Dim dt As DateTime = File.GetCreationTime(foundFile)

' Dim datej As Date
' datej = Date.Now

'If ( dt <> datej) Then
'File.ReadAllLines(foundFile)

' End If

'MsgBox (foundFile)

'Next

du coup j'ai laisser tomber ce code j'ai pas chercher à le résoudre , mais votre code m’intéresse merci beaucoup
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 18 juil. 2019 à 10:39
bonjour
Dans ce cas il suffit
1) de supprimer l'ancien fichier
2) de donner au nouveau fichier le même nom que l'ancien
Ceci fait partie des commandes de base des systèmes de fichiers
Voir https://docs.microsoft.com/fr-fr/dotnet/api/system.io.file?view=netframework-4.8 et principalement les commandes Delete(string) et Move(String, String)

0
Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
18 juil. 2019 à 10:42
et ca peux marcher avec la date de création du fichier ? si oui vous pouvez me donner un exemple ? merci beaucoup ( si la date de création du fichier = à la date du jour du coup on lis le fichier qui à la date du jour )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
18 juil. 2019 à 12:21
bonjour
J'ai l'impression que tu confonds "Remplacement de fichier" et "Changement de nom de fichier" ! Il faudrait que tu sois plus claire dans tes explications
0
Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
18 juil. 2019 à 15:32
d'accord je m'explique très bien , il s'agit de " changement du nom du fichier " c'est ce que je veux. excusez moi de vous avoir dérangé.
Merci beaucoup .
0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7 > Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
Modifié le 18 juil. 2019 à 16:59
Monsieur VB95, et les autres intervenants ont répondu poliment… et patiemment à ta réponse, et tes remerciement sont justifiés.

Mais, il faut savoir que coder une routine n'est pas simple sans exemple ni début de code.

Tu as un fichier 1235455.LOG que tu dois afficher.
Tu n'as pas le nom, mais tu dois prendre le dernier créé, le copier dans un fichier "générique" chaque jour (INFO.TXT) et rafraichir l'affichage en cas de changement de date.

Donc, ton problème est de "targeter" le fichier système récemment créé !
Le copier sur le fichier "générique", et à l'aide d'un timer, le recharger si celui-ci a changé (info.txt ne doit pas avoir la même taille).

Car, apparemment, tu avais oublié de spécifier que tu n'avais pas besoin d'historique journalier !
Le seul vrai problème pour toi, est de "trouver" le fichier qui à été créé le jour même!... Donc, soit tu cherche la méthode d'encodage au niveau du système (et tu fais un tri par date, caractères…sur le nom de fichier), soit tu trouves le moyen de faire un tri au niveau de la date de création… ce qui est possible avec les fonctions de gestion de fichiers avancés.

Ta question est donc, "Comment trier des fichiers par ordre de création, pour copier le plus récent dans un fichier que je vais afficher?"

C'est comme ça que ça marche…

"je veux. excusez moi de vous avoir dérangé", oui et ils te maudissent tous…
0
Emma_52 Messages postés 7 Date d'inscription mercredi 17 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019 > JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023
19 juil. 2019 à 08:15
premièrement , vous n'avez pas le droit de me tutoyer, 2eme chose merci pour votre réponse et c'est à vous de me répondre poliment, et vous n'avez pas le droit de me dire " oui il te maudissent tous" parce que vous n'avez pas le droit de parler à la place des gents, d'accord ? et pour le code j'ai déjà un début mais ça marche pas, alors arrêtez de juger les gents et de les insulter , si ma question ne vous intéresse pas, ne répondez pas .barre , personne ne vous a obligé à répondre .
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 19 juil. 2019 à 10:48
Bonjour JeuduTaquin
Moi je ne maudis personne et votre commentaire en fin de post est plus que déplacé !
Vous dîtes que tout le monde a répondu poliment à Emma_52 . Pourquoi n'en faîtes vous donc pas autant ? A moins que ce ne soit pour taquiner . Mais dans ce cas on ne taquine que les personnes que l'on connaît et dont on peut se le permettre et toujours avec gentillesse et respect !

0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7
Modifié le 19 juil. 2019 à 17:13
Salut VB95,

Pas de problème, si ça peut paire avancer le projet.

Mais, il m'est insupportable qu'un intervenant poste un message de ce type.

Finir par un "c'est pas grave!", "mes excuses pour le dérangement" ou "on m'a dit sur un autre forum"... n'est pas la bonne manière de trouver une solution à un problème qu'un quémandeur se pose.

Pour trouver une solution, il faut exposer clairement un cahier des charges, en faire la synthèse et trouver la bonne (meilleur) solution à ce problème.

Un projet, c'est 20% d'idées, 60% de reflection et 20% de recherches.

Les "autres" ne sont pas plus intelligent que lui, seulement, ils savent en faire la synthèse.

Mais, c'est pas grave, il va aller chercher la solution ailleurs…
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
20 juil. 2019 à 10:15
Bonjour
J’espérais qu’en postant une solution cela clorait le débat, mais manifestement non.

Donc Emma tu es nouvelle, il y a quelques choses que tu dois savoir.
Le tutoiement est traditionnel sur CodeS SourceS, même si tous ne l’utilisent pas. Cela date d’une époque reculée où vbfrance, delphi.fr etc était un groupement de forums animés par des « copains virtuels ». Certains étaient copains dans la vie, d’autres le sont devenus. Voilà quand tu postes sur CodeS SourceS, il faut accepter que l’on te tutoie.

Quand tu postes un message, tu connais exactement ta situation, et tu tentes de la résumer le plus clairement possible. Mais il se peut que tu ne sois pas si claire que ça, ou que tes interlocuteurs interprètent différemment tes écrits. Brefs de malentendus en malentendus ça finit parfois par s’envenimer.

Une phrase telle que
excusez moi de vous avoir dérangé.
peut-être interprétée des 2 manières totalement opposées:
  • des excuses
  • de l’ironie


N’oublie pas que nous sommes bénévoles, et des gens comme les autres.
0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7
Modifié le 20 juil. 2019 à 20:57
Salut Whismeril,

J'aimerai ajouter pour le tutoiement, qu'il n'est aucunement en rapport avec un manque de respect.

La langue Français porte un quiproquo sur le mot "Vous" et "vous".

Pour un forum, une équipe ou un groupe, soit on s'adresse à un intervenant, soit à un groupe.

"Tu", c'est toi et "vous" … tout le monde.

Donc, comme le groupe est ouvert et lu par des centaines de personnes… certains vont te répondre car ils se sentent concerné par le caractère global de la destination.

Le "tutoiement" permet de privatier une question d'une intervenant… et non pour montrer une estime, un grade, une expertise… ou un âge… dans une conversation.

Il est à noter que le vouvoiement s'effectue principalement dans une conversation direct… qui ne peut porter d'ambiguïté sur le destinataire du discours.
Sur un forum public, RIEN ne permet de faire la part des chose, même si le pseudo est cité, le futur lecteur s'identifiant au quémandeur se trouvera d'autant plus flatté de ce vouvoiement, "immérité" pour certains !

Donc, "avez-vous" compris?" (pour l'équipe)… et "As-tu compris?" pour l'intervenant cité.

Et perso, les "Vous" dans tous les sens, ça gave au bout d'un moment… nous ne sommes pas tous des vieux, des profs ou des flics.

Mais dans la vraie vie, je vous demanderai de me vouvoyer, se sont les règles pour débuter un conversation inopinée.

Ici, le "manque de respect", c'est d'igorer ta question...
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
21 juil. 2019 à 18:57
Mouais, n’empêche que
ils te maudissent tous…
n’était pas approprié
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
20 juil. 2019 à 23:39
Merci pour les vieux, les profs et les flics ! Je fais partie de 2 de ces catégories
0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7
Modifié le 21 juil. 2019 à 01:06
Salut Vb95,
Oui, remarque judicieuse, car nous oublions trop souvent que les "vous" ont un effet cumulatif par rapport à ces trois critères de vouvoiement.

A un vieux : "Vous pouvez traverser ! c'est vert."

A un vieux prof.:
"Vous vous êtes trompé sur ma note, y'a pas de chiffre devant le zéro"

A un vieux sergent instructeur de l'IGPN:
"Vous...Vous, vous allez rire, mais le coup est parti tout seul !"
0
Rejoignez-nous