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 :

Affichage en colonne dans un reachEdit2


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Affichage en colonne dans un reachEdit2
    Bonjour tout le monde.

    Voici mon problème:
    J'ouvre et lis un fichier et affiche ensuite un aperçu de celui-ci dans un ReachEdit2.
    Cependant le fichier est un fichier csv qui se présente comme suit:
    http://nsa15.casimages.com/img/2010/...2916955161.jpg

    Et je voudrais donc le récupérer tel quel (sans les grilles de tableau) dans le ReachEdit2. Pour le moment j'ai réussi à faire ca:
    http://nsa15.casimages.com/img/2010/...3142624251.jpg
    J'ai paramétré correctement le ReachEdit en multicolonne etc... en cherchant sur le net mais pour afficher sous forme de colonnes je ne vois pas comment faire :s.

    Voici mon code pr le moment:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
     
     
    // ConversionFichierDlg.cpp : fichier d'implémentation
    //
     
    #include "stdafx.h"
    #include "ConversionFichier.h"
    #include "ConversionFichierDlg.h"
    #include <string>
    #include <fstream>
    #include <iostream>
    #include <sstream>
    #include <cassert>
    #include <conio.h>
     
    using namespace std;
     
    #define LinesView 9
     
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
     
     
    // boîte de dialogue CConversionFichierDlg
     
     
     
     
    CConversionFichierDlg::CConversionFichierDlg(CWnd* pParent /*=NULL*/)
    	: CDialog(CConversionFichierDlg::IDD, pParent)
    	, FileIn(_T(""))
    	, FileOut(_T(""))
    	, FileView(_T(""))
    {
    	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    }
     
    void CConversionFichierDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	DDX_Text(pDX, IDC_EDIT1, FileIn);
    	DDX_Text(pDX, IDC_EDIT2, FileOut);
    	DDX_Text(pDX, IDC_RICHEDIT21, FileView);
    }
     
    BEGIN_MESSAGE_MAP(CConversionFichierDlg, CDialog)
    	ON_WM_PAINT()
    	ON_WM_QUERYDRAGICON()
    	//}}AFX_MSG_MAP
    	ON_BN_CLICKED(IDC_FILE_SRC, &CConversionFichierDlg::OnBnClickedFileSrc)
    	ON_BN_CLICKED(IDC_FILE_DST, &CConversionFichierDlg::OnBnClickedFileDst)
    END_MESSAGE_MAP()
     
     
    // gestionnaires de messages pour CConversionFichierDlg
     
    BOOL CConversionFichierDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
     
    	// Définir l'icône de cette boîte de dialogue. L'infrastructure effectue cela automatiquement
    	//  lorsque la fenêtre principale de l'application n'est pas une boîte de dialogue
    	SetIcon(m_hIcon, TRUE);			// Définir une grande icône
    	SetIcon(m_hIcon, FALSE);		// Définir une petite icône
     
    	// TODO : ajoutez ici une initialisation supplémentaire
     
    	return TRUE;  // retourne TRUE, sauf si vous avez défini le focus sur un contrôle
    }
     
    // Si vous ajoutez un bouton Réduire à votre boîte de dialogue, vous devez utiliser le code ci-dessous
    //  pour dessiner l'icône. Pour les applications MFC utilisant le modèle Document/Vue,
    //  cela est fait automatiquement par l'infrastructure.
     
    void CConversionFichierDlg::OnPaint()
    {
    	if (IsIconic())
    	{
    		CPaintDC dc(this); // contexte de périphérique pour la peinture
     
    		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
     
    		// Centrer l'icône dans le rectangle client
    		int cxIcon = GetSystemMetrics(SM_CXICON);
    		int cyIcon = GetSystemMetrics(SM_CYICON);
    		CRect rect;
    		GetClientRect(&rect);
    		int x = (rect.Width() - cxIcon + 1) / 2;
    		int y = (rect.Height() - cyIcon + 1) / 2;
     
    		// Dessiner l'icône
    		dc.DrawIcon(x, y, m_hIcon);
    	}
    	else
    	{
    		CDialog::OnPaint();
    	}
    }
     
    // Le système appelle cette fonction pour obtenir le curseur à afficher lorsque l'utilisateur fait glisser
    //  la fenêtre réduite.
    HCURSOR CConversionFichierDlg::OnQueryDragIcon()
    {
    	return static_cast<HCURSOR>(m_hIcon);
    }
     
     
    void CConversionFichierDlg::OnBnClickedFileSrc()
    {
    	// TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
     
    	UpdateData (TRUE);
     
    	CFileDialog dlg( TRUE, NULL, FileIn, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_PATHMUSTEXIST, 
    		_T("Fichier CSV (*.csv)|*.csv| Fichiers XML (*.xml)|*.xml| Tous les fichiers (*.*)|*.*||"), AfxGetMainWnd());
     
    	if (dlg.DoModal() == IDOK)
    	{
    		FileIn = dlg.GetPathName ();
    		int extension = FileIn.ReverseFind('.');
    		FileOut = FileIn.Left(extension);
    		FileOut.Append(_T(".tab"));
    	}
     
    	ifstream Fichier( FileIn );
    	if( Fichier.is_open( ) == false )
    	{
    		cout << "ERREUR LORS DE L'OUVERTURE DU FICHIER" << FileIn << endl;
    	}
     
    	for( int i = 0; i <= LinesView; i++ )
    	{
    		string var;
    		getline( Fichier, var, ';' ); // Récupère les lignes du fichier ouvert
     
    		FileView += CString( var.c_str() );
    		FileView += CString( "\r\n" );
    	}
     
    	UpdateData (FALSE); 
    }
     
    void CConversionFichierDlg::OnBnClickedFileDst()
    {
    	// TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
     
    	UpdateData (TRUE);
     
    	// On définit une variable "dlg" de type CFileDialog pour permettre l'ouverture d'un escalier de répertoire
    	CFileDialog dlg( FALSE, NULL, FileOut, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_PATHMUSTEXIST, 
    		_T("All Files (*.*)|*.*||"), AfxGetMainWnd());
     
    	if (dlg.DoModal() == IDOK)
    	{
    		FileOut = dlg.GetPathName ();	//permet de coller le chemin du fichier choisit dans name_folder_out
    	}
     
    	UpdateData (FALSE);
    }
     
    void CConversionFichierDlg::OnBnClickedButton1()
    {
    	// TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
    }
    J'espère que ce n'est pas trop confus :s.
    S'il faut des précisions n'hésitez pas.

    Merci d'avance

    Altal

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Consultant IT
    Inscrit en
    Avril 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant IT
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 93
    Points : 281
    Points
    281
    Par défaut
    Bonjour,

    Tout d'abord, est-ce que le contrôle dont tu parles n'est pas plutôt un Rich Edit Control 2.0 ?
    Au niveau du contrôle, je ne pense pas que tu puisses créer une sorte de tableau avec, enfin je peux me tromper. Néanmoins, ce que tu peux faire, c'est afficher dans ton RichEdit chaque champ de ton fichier CSV séparé par une ou plusieurs tabulations, en sautant une ligne (dans ton contrôle) dès que tu as atteint la fin d'une ligne de ton fichier CSV.

    De cette manière, tu devrais pouvoir reconstruire de manière relativement lisible ton fichier CSV dans ton contrôle...

Discussions similaires

  1. [AC-2007] Affichage des colonnes dans un combo
    Par domino_dj dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/03/2010, 15h11
  2. Affichage en colonne dans la console
    Par cyberps2 dans le forum Débuter
    Réponses: 6
    Dernier message: 09/05/2009, 19h25
  3. Affichage 2 colonnes dans 1 combobox
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/09/2008, 19h26
  4. Réponses: 5
    Dernier message: 28/05/2008, 10h45
  5. Problème d'affichage de colonnes dans un listview
    Par claireP23 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 12/06/2007, 16h30

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