Hola a todos!
Bueno quiero comentarles una duda para ver si pueden ayudarme.
Soy nuevo en esto de la programacion. Estoy desarrollando una aplicacion en MFC para mi proyecto fin de carrera y tengo algunos problemas.
El problema es el siguiente:
Tengo un combo box de tipo dropdown con una lista de datos tipo CString (p.ej. circular).
El dato seleccionado en ese combo box quiero almacenarlo en una variable y despues quiero llevar el valor de esa variable a un fichero txt.
Lo he intentado, pero cuando ejecuto el programa y miro el fichero txt, este no tiene el CString sino una cadena de letras y numeros que no entiendo (p.ej: 5F4CCB14).
El codigo es:
/////////////////////////////////////////////////////////////////////////////
// CSaisie_Val_SFAB dialog
CSaisie_Val_SFAB::CSaisie_Val_SFAB(CWnd* pParent /*=NULL*/)
: CDialog(CSaisie_Val_SFAB::IDD, pParent)
{
//{{AFX_DATA_INIT(CSaisie_Val_SFAB)
m_choix_forme_fib_neu_s_fab = _T("");
m_choix_forme_sect_s_fab = _T("");
m_choix_largeur = 0.0f;
m_choix_longeur = 0.0f;
m_choix_rayon = 0.0f;
m_choix_var_sect_s_fab = _T("");
m_choix_longueur_fib_neut = 0.0f;
//}}AFX_DATA_INIT
}
void CSaisie_Val_SFAB::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSaisie_Val_SFAB)
DDX_Text(pDX, IDC_CHOIX_FORME_FIBRE_NEUTRE_S_FAB, m_choix_forme_fib_neu_s_fab);
DDX_Text(pDX, IDC_CHOIX_FORME_SEC_S_FAB, m_choix_forme_sect_s_fab);
DDX_Text(pDX, IDC_CHOIX_LARGEUR, m_choix_largeur);
DDX_Text(pDX, IDC_CHOIX_LONGUEUR, m_choix_longeur);
DDX_Text(pDX, IDC_CHOIX_RAYON, m_choix_rayon);
DDX_Text(pDX, IDC_CHOIX_VARIATION_SEC_S_FAB, m_choix_var_sect_s_fab);
DDX_Text(pDX, IDC_LONGUEUR_FIBRE_NEUTRE, m_choix_longueur_fib_neut);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSaisie_Val_SFAB, CDialog)
//{{AFX_MSG_MAP(CSaisie_Val_SFAB)
ON_BN_CLICKED(IDC_Valider_Choix_S_Fab, OnValiderChoixSFab)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSaisie_Val_SFAB message handlers
BOOL CSaisie_Val_SFAB::OnInitDialog()
{
CDialog::OnInitDialog();
return TRUE;
}
void CSaisie_Val_SFAB::OnValiderChoixSFab()
{
/////En validant le choix des valeurs d'attributs du squelette de fabrication//////////////////////////////////
/////Nous enregistrons ces données dans un fichier "choix valeurs squelette de fabrication.txt"/////////////////
/////Ce fichier sera utilisé pour l'identification des Peaux de fabrication et la création de la géométrie//////
CSaisie_Val_SFAB::UpdateData();//mise à jour du contenu des edit box---->très important pour afficher le contenu saisie
CSaisie_Val_SFAB* m_dSaisieValeurs_S_FAB=new CSaisie_Val_SFAB();
CFileDialog FileOpenDialog( FALSE, "txt", NULL, OFN_HIDEREADONLY, "Fichiers (*.txt)|*.txt||" ); //sauvgarder dans fichier *.txt
if(FileOpenDialog.DoModal()==IDOK)
{
POSITION pos=FileOpenDialog.GetStartPosition();
while(pos)
{
AfxMessageBox("Les valeurs sont enregistrées dans le fichier ayant le chemin d'accés:"+FileOpenDialog.GetNextPathName(pos));
}
}
///enregistrement du fichier "*.txt" dont le nom est spécifier par l'utilisateur//////////////////////////////
CString s=FileOpenDialog.GetFileName();
ofstream Enregistre;
Enregistre.open(s, ios::out | ios::binary/*ios::in*/);
Enregistre<<m_dSaisieValeurs_S_FAB->m_choix_forme_sect_s_fab<< " "<<m_dSaisieValeurs_S_FAB->m_choix_var_sect_s_fab<< " "<<m_dSaisieValeurs_S_FAB->m_choix_rayon<< " "<<m_dSaisieValeurs_S_FAB->m_choix_longeur<< " "<<m_dSaisieValeurs_S_FAB->m_choix_largeur<< " "<<m_dSaisieValeurs_S_FAB->m_choix_forme_fib_neu_s_fab<< " "<<m_dSaisieValeurs_S_FAB->m_choix_longueur_fib_neut;
Enregistre.close();
OnCancel();
Alguien sabe cual es el problema?
Muchas gracias.