第13课 文档与串行化

1.CArchive 保存时的代码
(1)保存
 CFile file("1.txt",CFile::modeCreate | CFile::modeWrite);
 CArchive ar(&file,CArchive::store);
 int i=4;
 char ch='a';
 float f=1.3f;//c/c++中,浮点数在默认情况下被定义为double类型,如果希望指定为float类型,需要在该数值后面加上字母f
 CString str("http://www.sunxin.org");
 ar<<i<<ch<<f<<str;  //保存
(2)打开
 CFile file("1.txt",CFile::modeCreate | CFile::modeRead);
 CArchive ar(&file,CArchive::store);
 int i;
 char ch;
 float f;//c/c++中,浮点数在默认情况下被定义为double类型,如果希望指定为float类型,需要在该数值后面加上字母f
 CString str;
 ar>>i >> ch >> f >> str;  //打开,注意:对象提取的顺序跟保存的顺序必须保持一致

2. 文档 -  视类结构简介
  在CDocument类中通过SetTitle函数来修改文档的标题。
   OnNewDocument  在程序启动时被调用,此时可设置文档标题,也可以在 String TableIDR_MAINFRAME 的第二个 "\n"后改变文档的标题。须了解的 7个字符串的用途,见PPT
  另外,一个资源ID可以表示多种资源,例如IDR_MAINFRAME可以表示字符串资源,菜单,图标等资源,如下。

    WinAPP InitInstance()中完成DOC,View,MainFrame的归一。
    当点击系统的打开和新建菜单时,有一系列的步骤,孙鑫老师给我们跟踪了代码的调用过程,此段跟踪我们略过。但我们要牢记住: CWinAPP负责管理文档管理器,文档管理器有一个指针链表,且来保存文档模板的指针,文档模板指针管理三个类 DOCVIEW MAINFRAME,使其为某文件对象服务。

3. 利用 CArchive  来保存一个类的对象,此类必须支持串行化,需要 5个步骤。
  a. 让类从 CObject  派生;
  b. 覆盖 Serialize()  函数,在其中完成保存和读取功能;
  c. .h  中加入 DECLARE_SERIAL(CGraph)
  d. 在。 cpp  中加入IMPLEMENT_SERIAL(CGraph, CObject, 1 )//第三个参数是一个版本号
  e. 定义一个不带参数的构造函数。

  保存绘画数据到文件的简单过程(串行化)
  a. CGraph  中增加一个画图的成员函数,其实不增加也行。可以在 View中完成相应功能。
  b. 增加四个画图菜单,菜单可以从  11课的代码中拷贝。
  c. View  中增加LButtonDown UP的响应,在UP中画图,在 DOWN中保存点
  d. 利用 CObArray  集合类来保存绘画数据
  e. CGraphicDOC::Serialize()  中保存和读取数据
  f. 然后在 OnDraw  中重绘。

4. 新建和打开文档时,要注意销毁原来的数据。在  DOCDeleteContents 虚函数中是好时机。代码如下
 int nCount;
(1)方法1
 nCount=m_obArray.GetSize();
 /*for(int i=0;i<nCount;i++)
 {
  delete m_obArray.GetAt(i);//  释放指针指向的内存空间
 }
 m_obArray.RemoveAll();*/
(2)方法2
 while(nCount--)
 {
  delete m_obArray.GetAt(nCount);
  m_obArray.RemoveAt(nCount);
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过融合先进技术,如物联网、大数据、人工智能等,实现校园的智能化管理与服务。政策的推动和技术的成熟为智慧校园的发展提供了基础。该方案强调了数据的重要性,提出通过数据的整合、开放和共享,构建产学研资用联动的服务体系,以促进校园的精细化治理。 智慧校园的核心建设任务包括数据标准体系和应用标准体系的建设,以及信息化安全与等级保护的实施。方案提出了一站式服务大厅和移动校园的概念,通过整合校内外资源,实现资源共享平台和产教融合就业平台的建设。此外,校园大脑的构建是实现智慧校园的关键,它涉及到数据中心化、数据资产化和数据业务化,以数据驱动业务自动化和智能化。 技术应用方面,方案提出了物联网平台、5G网络、人工智能平台等新技术的融合应用,以打造多场景融合的智慧校园大脑。这包括智慧教室、智慧实验室、智慧图书馆、智慧党建等多领域的智能化应用,旨在提升教学、科研、管理和服务的效率和质量。 在实施层面,智慧校园建设需要统筹规划和分步实施,确保项目的可行性和有效性。方案提出了主题梳理、场景梳理和数据梳理的方法,以及现有技术支持和项目分级的考虑,以指导智慧校园的建设。 最后,智慧校园建设的成功依赖于开放、协同和融合的组织建设。通过战略咨询、分步实施、生态建设和短板补充,可以构建符合学校特色的生态链,实现智慧校园的长远发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值