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

MFC Discussion :

[débutant][MFC] lister le contenu d'un fichier dans un CEdit


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Points : 91
    Points
    91
    Par défaut [débutant][MFC] lister le contenu d'un fichier dans un CEdit
    Bonjour,

    j'ai des données inscrites dans un fichier comme suis :

    5:20060503,20060504,20060505,20060506,20060507

    Pour les afficher dans mon CEdit j'ai déclaré une variable m_edit de type CEdit dans le .h de mon dialogue.

    Voici l'action réalisé lors du clic sur le bouton permettant l'affichage dans mon CEdit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     // lecture du fichier contenant le nom des fichiers :
    char buff[200];
    ifstream infile("liste.txt"); // ouverture du fichier liste.txt
    infile.getline(buff, sizeof(buff)); //lecture d'une ligne complete
    infile.close();
     
    // affichage du fichier dans la zone d'édition
    CString s(buff);
    m_edit.SetWindowText(s);
    Ce code m'affiche la ligne entière dans mon CEdit.
    N'auriez vous pas une technique pour que à chaque séparateur( ":" et ",", l'affichage soit réalisé en liste ?

    Ex:
    5
    20060503
    20060504
    ...

  2. #2
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    tu peux essayer de faire ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // affichage du fichier dans la zone d'édition
    CString s(buff);
    s.replace(":","\n");
    s.replace(",","\n");
    m_edit.SetWindowText(s)
    si \n marche pas essaie \r\n

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    a oui, ce n'est pas bête, remplacer le caractère par un retour à la ligne ...

    Mais j'ai un problème, il me dit que replace n'est pas un membre de Cstring !!!

    J'ai regardé dans l'aide et pourtant c'est marqué que sa fonctionne avec ...

    Je suis avec VS C++ 6.0 au cas ou ...

  4. #4
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    flute erreur de frappe c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // affichage du fichier dans la zone d'édition
    CString s(buff);
    s.Replace(":","\n");
    s.Replace(",","\n");
    m_edit.SetWindowText(s)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    En ce qui concerne le probleme de membre, c'est parce qu'il y a "Replace" et "replace" et que le bon est "Replace" lol voili !

    Maintenant, je regarde pourquoi sa me fait des || .

    Merci pour l'idée en tout cas !

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    l'edit doit avoir la proprieté multi ligne activée.
    attention par defaut un CEdit est limité a 64K.
    il y a un topic dans la faq a ce sujet.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    Et bien sa marche avec "\r\n" !!!

    Mais pour me coucher moins bête, j'aurais voulu savoir à quoi sert \r ?

    j'ai fait :[code]

    s.Replace(":"," fichiers\r\n");
    s.Replace(",","\r\n");
    m_edit.SetWindowText(s);

    ce qui me fait :
    10 fichiers
    ...
    ...

    Pour faire "il y a [] fichiers présent", comment pourrai-je ruser ?

    ya pas un caractère avant le début de phrase ?

    En tout cas, je vous remercie pour l'aide et la rapidité de vos services

  8. #8
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    cadeauuuuu : http://christiansarda.free.fr/VB/c_intro.html (regarde le tableau )

    et je ne comprends pas les 2 questions suivantes

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    * hummm un cadeau !!!!! *
    * ouvre le lien *
    * un cri de joie se fait ressentir depuois la demeure de Nelmo *

    merci pour ce lien, ça me parraît beaucoup moins flou maintenant !

    Pour ce qui est de la 2eme question, je vais mieux m'expliquer !

    j'ai remplacé ":" par "fichiers présents" ( il n'y a que 1 seul ":" donc pour ca, c panard )
    Dans le fichier que je lit, le premier nombre correspond au nombre de fichiers .... ( transparent pour le programmeur ). Donc cela me donne à l'affichage :
    10 fichiers présents
    ...
    ...

    Ce qui me convient .... mais, je voudrai faire : il y a 10 fichiers présents
    Donc il faudrai que j'insere la chaine "il y a" avant le premier caractère que je vai afficher ( c'est pas simple d'expliquer sa lol )

    As tu compris ?

  10. #10
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    j'aurais fait ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // affichage du fichier dans la zone d'édition
    CString s(buff), s2("il y a ");
    s.Replace(":","\n");
    s.Replace(",","\n");
    s2 += s;
    m_edit.SetWindowText(s2);
    je sais pas si il y a une meilleure facon

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    MERCI !!!

    En effet, cela fonctionne très bien, je ne suit pas près d'oublier cette méthode de fourbe

    Encore merci à vous 2

  12. #12
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    oublie pas le tag résolu :S

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/05/2009, 15h27
  2. Réponses: 5
    Dernier message: 12/03/2009, 17h06
  3. Lister le contenu d'un fichier zip
    Par DJBORIE dans le forum Access
    Réponses: 3
    Dernier message: 30/03/2007, 15h01
  4. lister le contenu d'un fichier zip.
    Par rico3434 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 01/11/2005, 17h14
  5. [Débutant] Problème avec le contenu d'un fichier
    Par kennie77 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 15/10/2005, 21h48

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