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

SL & STL C++ Discussion :

Probléme pour l'utilisation de ifstream avec le composant TMemo


Sujet :

SL & STL C++

  1. #1
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Points : 43
    Points
    43
    Par défaut Probléme pour l'utilisation de ifstream avec le composant TMemo
    Bonjour, voila je veut lire un fichier .txt et pour cela j'utilise le ifstream mon soucie et que le flux lis doit etre intégrer dans le composant TMemo et sa je n'y arrive pas

    exemple de code.
    ----------------------------------------------------------
    ifstream lecturefichier(".\\doc.txt");

    if (!lecturefichier)
    {
    Label1->Caption = "fichier introuvable! ou erreur systéme";
    }
    else{
    Label1->Caption = "Ok lecture en cours";
    While(!lecturefichier.eof())
    {

    /////////////////////// ICI normalement on doit faire appelle au memo et intégrer le contenu du fichier

    }
    }
    lecturefichier.close();
    -----------------------------------------------

    quelqu'un aurez t'il la solution merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Points : 1 053
    Points
    1 053
    Par défaut
    Tu sais, c'est désagréable l'orthographe SMS...

  3. #3
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Points : 43
    Points
    43
    Par défaut
    désolé pour l'orthographe

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Points : 1 053
    Points
    1 053
    Par défaut
    Pour ce qui est de ton problème, on ne saurait pas te répondre, on n'a pas assez de données.
    Il faudrait déja savoir ce qui ne marche pas. Est-ce que le flux s'ouvre correctement? Est-ce que la lecture fonctionne?
    Ou alors est-ce un problème inhérent à ta classe TMemo? (je ne connais pas MFC, je ne sais même pas ce à quoi ca sert en fait)

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Le composant TMemo, ne serait-ce pas un composant de chez borland?

    Si oui, il me *semble* qu'il doit disposer d'une méthode de lecture dans les fichier texte...

    Cela devrait se trouver du coté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TonMemo->Lines->ReadFromFile(nom du fichier);
    Tu n'aurais meme pas à t'embeter avec les ifstream... surtout si tu te base sur la boite de dialogue "ouvrir" pour y arriver

    Sinon, tu ton TMemo devrait sans doute disposer d'un membre fort proche de lines, pour prenre chacune des lignes du memo...

    Ce membre devrait disposer d'une méthode "add(chaine)"...

    La boucle serait donc du genre de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while(!fichier.eof())
    {
        fichier>>chaine;
        if(!fichier.eof())
            TonMemo->Lines->Add(chaine);
    }

  6. #6
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 281
    Points : 11 029
    Points
    11 029
    Par défaut
    Citation Envoyé par koala01
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while(!fichier.eof())
    {
        fichier>>chaine;
        if(!fichier.eof())
            TonMemo->Lines->Add(chaine);
    }
    C'est quand bien compliqué. Juste pour une fois dans la catégorie lecture sur eof, mais compliqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while (fichier >> chaine)
        TonMemo->Lines->Add(chaine);

  7. #7
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Luc Hermitte
    C'est quand bien compliqué. Juste pour une fois dans la catégorie lecture sur eof, mais compliqué.
    Mais c'est toujours faux (càd boucle infinie) dans la catégorie erreur de lecture (genre read(2) qui retourne EIO sous Unix, ok ça n'arrive pas tous les jours). eof() n'est alors pas vrai alors que fail() l'est (et donc operator! aussi et operator void* renvoie NULL).

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Points : 1 053
    Points
    1 053
    Par défaut
    Citation Envoyé par koala01
    Le composant TMemo, ne serait-ce pas un composant de chez borland?
    Haaaa, j'ai blaspémé

  9. #9
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Points : 43
    Points
    43
    Par défaut
    merci et oui tous bête pas besoin d'utiliser les flux, avec le composant tmemo de builder, il sufit de faire :

    Memo1->Lines->LoadFromFile("mon fichier");
    --------------------------------- pour la lecture d'un fichier


    Memo1->Lines->SaveToFile("mon fichier");
    --------------------------------- pour l'ecriture dans mon fichier

    merci et un probleme de résolu.

  10. #10
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 281
    Points : 11 029
    Points
    11 029
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Mais c'est toujours faux (càd boucle infinie) [...]
    Effectivement. Au temps pour moi.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/11/2007, 20h12
  2. problème pour faire avancer un listbox avec un bouton suivant
    Par Namson dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/04/2007, 15h54
  3. [Lazarus] Problème pour l'utilisation des fichiers
    Par Lulu_n10 dans le forum Lazarus
    Réponses: 7
    Dernier message: 30/03/2007, 16h54
  4. problème pour parser un fichier xml avec XML::Simple
    Par black_code dans le forum Modules
    Réponses: 3
    Dernier message: 30/01/2006, 19h32
  5. Problème pour piloter le port série avec TComPort
    Par Jayceblaster dans le forum Composants VCL
    Réponses: 6
    Dernier message: 08/12/2005, 14h21

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