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
} |
Partager