bonsoir pouvez vous me dir se qui vas pas dans mon code .
quand je veut ouvrir la fenetre avec la listebox avc le nom des élèves stocker dans eleve>.txt
sa marche sa mafiche au cour de l'aplication eleve.txt a un mauvais format
pourtant j'ai pas warning rien a la compilation
voici mon code:
// SupresionEleveDlg.cpp : implementation file
//
#include "stdafx.h"
#include "a.h"
#include "SupresionEleveDlg.h"
#include "GestionEleve.h"
#include "Personne.h"
#include "SupresionEleveDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSupresionEleveDlg dialog
CSupresionEleveDlg::CSupresionEleveDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSupresionEleveDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSupresionEleveDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CSupresionEleveDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSupresionEleveDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSupresionEleveDlg, CDialog)
//{{AFX_MSG_MAP(CSupresionEleveDlg)
ON_BN_CLICKED(IDC_BUTTON3, OnButton3Quitter)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSupresionEleveDlg message handlers
void CSupresionEleveDlg::OnButton3Quitter()
{
// TODO: Add your control notification handler code here
OnOK();
}
BOOL CSupresionEleveDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//m_TableauPersonnes.SetSize(0,100);
int TabStop[] = {71,143};
((CListBox *)GetDlgItem(IDC_LIST1_SUPRESION_ELEVE))->SetTabStops(2,TabStop);
CFile FichierEleve;
if(!FichierEleve.Open("eleve.txt", CFile::modeRead))
{
//On affiche un message d'erreur
MessageBox("Erreur d'ouverture du fichier !!!", "Erreur de fichier", MB_ICONERROR);
return TRUE;
}
CArchive MonArchive(&FichierEleve,CArchive::load);
m_ListePersonnes.Serialize(MonArchive);
MonArchive.Close();
FichierEleve.Close();
MetAJourListe();
// TODO: Add extra initialization here
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSupresionEleveDlg::MetAJourListe()
{
CString strnom;
strnom="fr";
CListBox * pListBox = (CListBox *)GetDlgItem(IDC_LIST1_SUPRESION_ELEVE);
CString strLigne;
CGestionEleve *pEleve;
POSITION position = m_ListePersonnes.GetHeadPosition();
pListBox->ResetContent();
/*for(int i = 0 ; i < m_TableauPersonnes.GetSize() ; i++)
{
pEleve = (CGestionEleve *)m_TableauPersonnes[i];
strLigne.Format("%s\t", pEleve->GetNom());
pListBox->AddString(strLigne);
}*/
while(position)
{
pEleve = (CGestionEleve *)m_ListePersonnes.GetAt(position);
strLigne.Format("%s",pEleve->GetNom());
pListBox->AddString(strLigne);
m_ListePersonnes.GetNext(position);
}
CFile FichierEleve;
if(!FichierEleve.Open("eleve.txt", CFile::modeWrite | CFile::modeCreate ))
{
MessageBox("Erreur d'ouverture du fichier !!!", "Erreur de fichier", MB_ICONERROR);
return;
}
CArchive MonArchive(&FichierEleve, CArchive::store);
m_ListePersonnes.Serialize(MonArchive);
MonArchive.Close();
FichierEleve.Close();
}
// GestionEleve.cpp: implementation of the CGestionEleve class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "a.h"
#include "GestionEleve.h"
#include "AjoutEleveDlg.h "
#include "SupresionProfDlg.h"
#include <windows.h>
#include <afx.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CGestionEleve::CGestionEleve()
{
}
CGestionEleve::CGestionEleve(CString strNom)
{
m_strNom = strNom;
}
CGestionEleve::~CGestionEleve()
{
}
CString CGestionEleve::GetNom()
{
return m_strNom;
}
void CGestionEleve::AjoutEleve(CString strNom)
{
// ouvre ou créer le fichier eleve.txt
FILE* FichierEleve;
FichierEleve=fopen("eleve.txt","a");
// écrit le nom de l'élève dans le fichier eleve.txt
fprintf(FichierEleve,"Nom de l'élève: %s\n",strNom);
// ferme le fichier eleve.txt
fclose(FichierEleve);
//déclaration pour la création de répertoire
char* decoupage;
char temp[MAX_PATH];
char * chemin;
chemin = CStringToPtr( strNom );
if ( NULL == chemin )
{
// MessageBox("Vous avez oublié de saisir un nom",MB_OK);
return;
}
RtlZeroMemory(temp,MAX_PATH);
decoupage=strtok( chemin,"\\");
strcat(temp,decoupage);
CreateDirectory(temp,NULL);
strcat(temp,"\\");
delete [] chemin; // libère la mémoire à la fin
}
char * CGestionEleve::CStringToPtr(CString & cstring)
{
char * copy;
size_t length;
length = cstring.GetLength(); // récupère la taille de la chaine
copy = new char[ (length + 8) ]; // alloue de la mémoire(+8 c'est plus `safe`)
if ( NULL != copy ) // si aucune erreur
{
strcpy( copy, cstring.GetBuffer(0) ); // copie la chaine dans le nouvel espace mémoire
}
return copy; // renvoie la copie de la chaine contenue dans `cString`
// Renvoie NULL si problème/erreur/...
}
void CGestionEleve::Serialize(CArchive & MonArchive)
{
//Protection
CObject::Serialize(MonArchive);
//si j'enregistre
if(MonArchive.IsStoring())
//Ecriture sur le disque
MonArchive << m_strNom ;
else
//Lecture sur le disque
MonArchive >> m_strNom ;
}