龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

不用VC中的Document能否存储数据(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
#define DATA_FILE _T("DataTest.dat") void SaveData() // Code to serialize and save the data { UINT nFlags = CFile::typeBinary | CFile::modeWrite; if (_access(DATA_FILE, 0)) { nFlags |= CFile::modeCrea

#define DATA_FILE _T("DataTest.dat")


void SaveData()                 
//  Code to serialize and save the data
{
    UINT nFlags = CFile::typeBinary | CFile::modeWrite;

    if (_access(DATA_FILE, 0))
    {
        nFlags |= CFile::modeCreate;           
        // The file doesn't exist, so create it
       
        m_bCanSave = TRUE;
    }
    else
    {
        int nTemp = _access(DATA_FILE, 6); 
        // Check Read Write Permissions

        if(nTemp==0)
            m_bCanSave = TRUE;
    }

    if (m_bCanSave)
    {
        CFile file;
        CFileException fe;

        // The file exists with read & write permissions
        if (file.Open(DATA_FILE, nFlags, &fe))
        {
            CArchive ar(&file, CArchive::store);
            UpdateData(TRUE);
            CSerData.m_nID = m_nID;
            CSerData.m_strName = m_strName;
            CSerData.Serialize(ar); // Serialize the data
        }
    }  
}

上面的save操作已经结束,我想该是load的时候了

void LoadData()
//Code to load data

{
    if (_access(DATA_FILE, 6)==0) // If File Exists
    {
        CFile file;
        CFileException fe;

        if (file.Open(DATA_FILE,CFile::typeBinary |
            CFile::modeRead, &fe))
        {
            CArchive ar(&file, CArchive::load);
            Info.Serialize(ar);
        }

    }

    m_nID = CSerData.m_nID;
    m_strName = CSerData.m_strName;
    UpdateData(FALSE);
}

终于写完了,希望不是那么糟糕.希望有点人气度.我在上面说了,本文只适合初学者如果你是高手,读到这儿.就已经说明,你今天很闲,或者你是来找点茶余饭后的消遣那好吧,我的文章希望就能带给你们这么多,下次见.

精彩图集

赞助商链接