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

WinDev Discussion :

Lecture de fichier Texte [WD20]


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Points : 45
    Points
    45
    Par défaut Lecture de fichier Texte
    Bonjour,

    J'ai un souci avec la lecture d'un fichier texte généré par une application externe. Ce fichier est un fichier de logs qui se remplit très régulièrement mais peut également se vider pour se reremplir.

    Voici actuellement le code "dégrossi" de ce que je fais pou le parcourir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    nFic est un entier
    sLigne est une chaîne
     
    // ouverture du fichier de logs
    nFic = fOuvre("C:\Logs\toto.log",foLecture)
    SI nFic <> -1 ALORS
    	// Le fichier est ouvert, on commence le traitement
    	fPositionne(nFic,0,fpFin)
    	BOUCLE
    		sLigne = fLitLigne(nFic)
    		SI sLigne <> EOT ALORS
    			// Traitement de la ligne de log
    		FIN
    		Multitâche(-1)
    	FIN
    FIN
    Ici, pas de souci pour lire les nouvelles lignes du fichier. Mais s'il se vide, comme le fpositionne initial est "après" le dernier octet du fichier, les lignes ajoutées ne sont plus lues...
    Je ne sais pas si je suis très clair donc je vais donner un exemple :

    Le fichier de logs initial :
    truc
    machin
    chose
    Le programme se lance, et se positionne à la fin du fichier.
    On ajoute une ligne "bidule" qui est alors lue correctement.
    Mais après la ligne "bidule", le fichier est vidé et devient :
    chouette
    Ici, la ligne "chouette" n'est pas lue par le programme car le fpositionne initial renvoie une position supérieure à la fin du nouveau fichier.

    J'espère que là c'est plus compréhensible.
    Je pense à une vérification permanente de la taille du fichier et dans le cas où la taille change pour être inférieur, on se repositionne au début du fichier avec fpositionne(nFic,0,fpDébut).
    Avez-vous une meilleure solution ?

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,

    Tout d'abord, il est plus efficace, plus rapide et plus aisé de charger le fichier dans une chaîne (fChargeTexte) et de travailler sur la chaine résultante.
    On libère aussi le fichier.

    D'autre part, je suppose que les informations sont plus complètes que le seul code de l'utilisateur et qu'il y a notamment une date et une heure.

    Dans ce cas, vous pourriez baser votre recherche sur la date-heure (>= que le dernière date-heure traitée), peu importe qu'elle se trouve en début, milieu ou fin du fichier (de la chaîne).

    Sinon, effectivement, la variation de taille semble être le seul indice pertinent.

    Bon travail

    Hemgé

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Points : 45
    Points
    45
    Par défaut
    Merci pour ces indications

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2006, 20h57
  2. [C#]Lecture gros fichier texte
    Par kekesilo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/05/2006, 13h58
  3. Lecture d´un fichier texte .
    Par pilouface dans le forum C
    Réponses: 5
    Dernier message: 20/01/2006, 23h48
  4. [AS2] Lecture Ecriture Fichier Texte
    Par cpr0 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 13/09/2005, 11h22
  5. lecture de fichier texte
    Par prorider dans le forum C
    Réponses: 36
    Dernier message: 08/09/2004, 20h55

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