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++Builder Discussion :

Ajouter des lignes dans un fichier *.log


Sujet :

C++Builder

  1. #1
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut Ajouter des lignes dans un fichier *.log
    Salut,

    Lors d'un exception, je dois créer un fichier d'erreur avec la date et l'heure..

    Voilà comment j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    AnsiString errorbuffer;
    AnsiString Date = FormatDateTime("dd-mm-yyyy-hh-nn-ss",Now());
    TFileStream * errorfile;
    errorfile = new TFileStream("c:/FileError.log",fmCreate);
    errorbuffer = Date + " : Une erreur est survenue lors du traitement des données.";
    errorfile->Write(errorbuffer.c_str(),errorbuffer.Length());
    delete(errorfile);
    Sauf qu'à chaque nouveau lancement de l'application c'est toujours la première ligne du fichier qui s'écrase... Et moi je voudrais qu'à chaque nouvelle exception (application relancer ou pas) on change de ligne...

    Merci...

  2. #2
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Salut,

    Il faut donc positionner le curseur à la fin du fichier. Pour ce faire, il faut utiliser
    ou THandleStream::Seek, ou bien THandleStream +

  3. #3
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Il faut que tu regardes du côté de la méthode Seek.

    Elle permet de se déplacer dans le fichier lu. Si tu sais que tu viens d'ouvrir un fichier (et non de le créer), il suffit que tu te déplaces à la fin du fichier avant d'écrire la suite du fichier.

  4. #4
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut
    Merci à vous...

    J'ai pigé...

  5. #5
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut
    Pour info, voilà ce que ça donne :

    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
    17
    18
    19
    AnsiString errorbuffer;
    AnsiString Date = FormatDateTime("dd-mm-yyyy-hh-nn-ss",Now());
    TFileStream * errorfile;
    if (FileExists("c:/FileError.log"))
    {
     errorfile = new TFileStream("c:/FileError.log",fmOpenWrite);
     errorfile->Seek(0,soFromEnd);
     errorbuffer = "\n";
     errorfile->Write(errorbuffer.c_str(),errorbuffer.Length());
     errorbuffer = Date + " : Une erreur est survenue lors du traitement des données.";
     errorfile->Write(errorbuffer.c_str(),errorbuffer.Length());
    } 
    else
    {
    errorfile = new TFileStream("c:/FileError.log",fmCreate);
    errorbuffer = Date + " : Une erreur est survenue lors du traitement des données.";
    errorfile->Write(errorbuffer.c_str(),errorbuffer.Length());
    }
    delete(errorfile);

    Merci...

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

Discussions similaires

  1. Ajouter des lignes dans un fichier GenBank
    Par hajarita dans le forum Bioinformatique
    Réponses: 1
    Dernier message: 25/04/2012, 11h49
  2. log4j: Répétitions des lignes dans le fichier log
    Par troumar dans le forum EDI et Outils pour Java
    Réponses: 0
    Dernier message: 06/05/2011, 11h02
  3. [CSV] Ajouter et supprimer des ligne dans un fichier CSV
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2007, 17h00
  4. Réponses: 14
    Dernier message: 22/09/2005, 16h49
  5. [langage] [PERL] prendre des infos dans un fichier log
    Par osiris73 dans le forum Langage
    Réponses: 2
    Dernier message: 24/05/2005, 16h42

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