Demo code nữa nè:
void CTestDlg::OnSaveBtn()
{
// TODO: Add your control notification handler code here
this->UpdateData();
CFile flEmployees;
char strFilter[] = { "Employees Records (*.dat)|*.dat|TestFile (*.tes)|*.tes|All Files (*.*)|*.*||" };
CFileDialog FileDlg(FALSE, ".dat", NULL, 0, strFilter);
if( FileDlg.DoModal() == IDOK )
{
if( flEmployees.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite) == FALSE )
return;
CArchive ar(&flEmployees, CArchive::store); // Dùng để lưu trữ
ar << m_FirstName << m_LastName << m_Address << m_City << m_State << m_ZIPCode << m_HourlySalary << m_EmploymentStatus;
ar.Close();
}
else
return;
flEmployees.Close();// Đóng File ở đây nè
}
void CTestDlg::OnOpenBtn()
{
// TODO: Add your control notification handler code here
CFile flEmployees;
char strFilter[] = { "Employees Records (*.dat)|*.dat|TestFiles (*.tes)|*.tes|All Files (*.*)|*.*||" };
CFileDialog FileDlg(TRUE, ".tes", NULL, 0, strFilter);
if( FileDlg.DoModal() == IDOK )
{
if( flEmployees.Open(FileDlg.GetFileName(), CFile::modeRead) == FALSE )
return;
CArchive ar(&flEmployees, CArchive::load);
ar >> m_FirstName >> m_LastName >> m_Address >> m_City >> m_State >> m_ZIPCode >> m_HourlySalary >> m_EmploymentStatus;
ar.Close();
}
else
return;
flEmployees.Close();// Đóng file
UpdateData(FALSE);
}