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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    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 : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    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 confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    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 : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    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 confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    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
    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 confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    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

+ 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