[sql]
改表结构,工具-选项-designers-表设计器和数据库设计器--阻止保存要求重新创建表的更改
[单词]
urged to 鼓励某人朝某个方向发展
diplomat 外交官
respect 尊敬
judicial 司法的
sovereignty 国家主权的,最高统治权的
espionage 间谍
illegal不合法的。违法的
ample 足够的
arrest逮捕
politicians 政治家
dispute 辩论
counterpart与对方地位相当的人
conducted 举止, expeditiously 迅速的
illegal means不法手段
in accordance with 依照,与。。一致
revive 恢复
send out 发出,长出,散步
assistant 助教
responsible 负有责任,
fiscal and monetary policies 财政金融政策
ensure 确保
[VC++ 孙鑫]
1.不能实例保存,
2.打开文件对话框,
3,初始化信息
writerofilestring(段名1,键名2,要写的字符串)拷贝一字符串到win.ini文件,在注册表中存储初始化信息
win.ini文件位置,
在cFIleAPP类在写,initinstance初始化调用的虚函数
::作用域标识符
::WriteProfileString("http://www.homehe.cn%22,%22admin%22,%22zhangsan/");
得到信息 GetProfilestring(段名1,键名2,缺省值3,4,buffer大小5)
Getbuffer(1),返回指向一个内部..指针,如果修改,在使用其它之前,要调用 releasebuffer
CwndAPP不是从CWnd派生的,所以没有MessageBox,要用AfxMessageBox
区别:
CWinapp::writeProfilestring(1,2,3),nt,3.x,95存win.ini
注册表中,存在这里 current_user-software-local appwizar-generation application-file-setting,
2000系统 直接存在注册表中machine-software下,SetRegistryKey(_T("http://www.suxin.org/"))
XP系统 存在hkey_users-S-1-5-21-682003330-413027322-725345543-1003-Software-Local AppWizard-Generated Applications
读取:cwinapp::getProfilestring(段名1,项名2,)
4.对注册表的编程
增加菜单项, 写注册表,读注册表,
1.regCreatekey(1,2,3),创建指定的注册表项,如果已经存在,则打开
1,句柄,2,打开/创建表项的名字 指向,3,变量,打开接收或创建的句柄,
定义句柄,调用函数regcreatekey,在machine下写,
指向两反斜杠,
2.regSetValue(句柄1,2,3,4,5),//设定指定缺省的数据,eg:默认
2.设定指定指向,空字符串,为表项设值
3,存储 信息类型,如果别的类型regsetvalue
5.数据大小,以字节为单位,不包含中止的空字符
3,regclosekey关闭句柄
eg:HKEY hkey;
RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\http://www.sunxin.org\\Admin",&hkey);
RegSetValue(hkey,NULL,REG_SZ,"zhangsan",strlen("zhangsan"));
RegCloseKey(hkey);
4.读取注册表 regqueryvalue(句柄1,指向2,out返回值,指向bufferr3,4)
t第十二章,文档与串行化
1.文件读取方式
添加一菜单文件,写入文件,读取文件
1.CArchive没有基类,可以保存一个复杂的对象网络,保持持久性,可以加载 ,
archive对象,二进制流,可带缓冲写入数据,读取,处理二进制对象数据,先要创建CFile对象,确保
archive加载,保存状态相一致,可处理cObjiect派生的对象,
类成员 :重载了提取,和插入操作符,
构造函数(指向CFile的指针1,标记加载,保存2,指定内部文件buffer大小3,可选指针4)
4.如果没有指定,从内部分配,
插入数据 ar<<1<<ch<<f<<str;
浮点类型 默认为double.要设为浮点加f 1.3f
保存和提取顺序要一致,
2.写入:
CFile file("1.txt",CFile::modeCreate|CFile::modeWrite);
CArchive ar(&file,CArchive::store);
int i=4;
char ch='a';
float f=1.3f;
CString str("http://www.sunxin.org/");
ar<<i<<ch<<f<<str;
读取:
CFile file("1.txt",CFile::modeRead);
CArchive ar(&file,CArchive::load);
int i=100;
char ch;
float f;
CString str;
CString strResult;
ar>>i>>ch>>f>>str;
strResult.Format("%d,%c,%f,%s",i,ch,f,str);
串行化:使数据持久性的过程
3.设置文档标题:
settitle("http://www.sunxin.org/")
4.string table中IDR_MAINFRAME是何时传到MFC中的呢
APP类中,定义单文档模板指针,关联IDR_MAINFRAME,DOC类,MAINFRAME类,VIEW类,DPCTEMPLATE类,
文档模板函数 getdocstring(1,index2)获取指定的要查找的
CDocTemplate::windowTietles:主窗口标题栏上的字符串,MDI程序不需要指定
CDocTemplate::docName缺省文档名称,缺省为无标题
DCocTemplate::fileNewName,文档类型的名称,如果为多文档,显示在file/new对话框中
filterName:和filterExt一起使用,写上Text Files(*.txt)
filterExt:文档扩展名:
regFileTypeId:如果以::RegisterShellFileTypes向系统的注册表注册文件类型,此值会出现在
hey_classes_root之下成为其子项,并仅供winddows内部使用,如果没有指定,这种文件类型无法注册
regFileTypeName,存在注册表中的文件类型名称,会显示于程序中用以访问注册表的对话框内
5.程序刚启动时调用OnNewDocument(),doc类中,
菜单点击,实际上发送一个命令消息,ID号,onnewdocument()虚函数,
源代码文件位置,找,MFC—srC-appdlg.cpp 文件中,成员 函数,onFileNew,声明
afx_msg void onfileNew() //命令消息响应函数,
成员变量cptrlist对象 是否为空,文档管理器,
cptrlist对象 是指针链表 opendocumentfile
调用单文档模板中的csingdoctemplate,
定义文档类指针,框架类指针,创建文档类对象,创建框架类对象,视类对象,
调onnewdocument
doc类下serialize写代码:
onfileOpen,消息响应函数,调用文档管理器中的onfileopen,DoPromptFileName
获得一指针, opendocumentfilename
先保存,后打开,cdocmanager::opendocumentfile() matchdoctype(1,2)
返回文档类指针,换一个文件保存,再打开就可以看到,换的时候,将数据清空,和新的数据相关联,
只有一个文档对象,
多文档:每打开一个文档就创建一个文档对象,
调用顺序:??
cdocmanage,l转到文档类成员函数,
用seralize保存对象,
对象的类必须支持串行化
CArchive,可串行化的类,
串行化:对象的持入性
1.让类从CObject派生,把CGraph类加入项目中,seralize ppu 实现这个函数,
2.
3.使用delcare 在类头文件的声明中,
4.定义一个不带参数的构造函数,
5,使用implement_serial,
增加成员函数,void,Draw()
根据绘画类型判断,画线形状,
创建透明画刷FromHandle((HBRUSH)GetStockObjctt(NULL_BRUSH));
返回先前在设备描述表中的画刷,
将先前的画刷选到设备描述表中,
打开.以前的资源, *.rc资源
6.COBArray::Add,集合类,view类增加成员变量 COBArray m_obArray public,
因为在doc中要访问,
CGraph *pGraph=new CGraph(m_nDrawType,m_ptOrigin,point);
包含头文件 "Graph.h"
serialize函数中,集合中所保存的数据写到文件当中,
文档类要访问视类,要得到一指针,GetFirstViewPosition得到第一个视类对象在视类对象中的位置
所指示的指针,
返回值:position 表示在集合当中的元素的位置,被MFC的集合类所使用,
GetNextView.返回这个位置所标识的视类对象指针,不断调用,叠类对象,如果下一对象不存在,则设为NULL
Position pos=GetFirstViewPosition()//获取第一个视类对象指针,
CGraphicveiw *pView=(CGraphicveiw)GetNextView(pos)//反回CView指针,要强制转制
利用指针访问成员变量,
m_obArray.GetSIze(),//用在for循环中,效率低。
int nCount=pView->m_obArray.GetSIze()
ar<<nCOunt
保存,for(int i-0;i<nCount,i++)
{
arr<<pView->m_obArray.GetAt(i);
}
因为支持串行化,可以直接保存,
7.提取数据,
保存之前,将数据也保存,
int nCount;
ar>>nCount;
CGraph *pGraph;
for(int i=0;i<nCount;i++)
{
ar>>pGraph;
pView->m_obArray.Add(pGraph);
}
构造,将地址赋绘指针变量,不需要分配空间,
在view类的onDraw中,要实现重绘功能,调用图形绘制函数,
串行化内部机制:
保存数据的时候,实际是调用对象本身的serialize函数完成的
存什么数据,要在可串行化的时候,确定,
COBArray
结合implement_erial支持串行化,将框架调用
过程:
查源代码array.cpp serialize方法,,调用基类,数组数目,数组每一元素依次写到文件中,
doc类中,增加成员变量 .
view中得到文档类成员函数,getdocument(),
8.Document/View结构
文档类:负责管理数据,提供保存和加载数据的功能,负责数据显示,给用户提供对数据的编辑和修改功能,
MFC提供的document/view结构,将应用程序所需要的“数据处理与显示”的函数空壳都设计好了,这些函数都是虚函数,
可以在派生类中重写,
有关文件的读写的操作在CView的onDraw函数中进行,
在派生类中,只需要关注serialize和ondraw函数就可以了
当按下“File/Open”,application framework会激活文件打开对话框,让你指定文件名,自动调用CGraphicDoc::Serialize
读取文件,application framework还调用CGraphicView::OnDraw传递一个显示DC,让你重新绘制窗口内容
MFC提供Document/View结构,希望我们将精力放在数据结构的设计和数据显示的操作上,而不是对象与对象,模块与模块之间的通信上
一个文档对象可以和多个视类对象相关联,一个视类只能关联一个文档对象
9.不管是新建还是打开,都会先deleteContents,删除和文档相关联的所有数据,
虚函数,并不销毁doc对象本身,对象销毁之前,和重复使用之前被调用,
doc中,增加DeleContens方法,
delete m_obArray.GetAt(i)//释放堆内存
removeAt删除在指定索引的元素,m_obArray.RemoveAt(i);
内在泄露,m_obArray.GetSize()做为条件放在for循环当中,
也可以用while(nCount--)从最大开始删
分享到:
相关推荐
- MPI-2.2(2009年9月4日),基于MPI-2.1版本,提供了额外的澄清和修正,同时也加入了一些增强功能。 #### 七、结论 MPI 2.2标准是在长期发展的基础上形成的一个全面的并行计算框架,不仅覆盖了基础的通信功能,还...
在2009年4月23日的这个时间点,该框架可能已经经历了一定的发展和完善,成为了一个流行的开发工具。以下是对咏南插件框架及其相关知识点的详细解释: 1. **插件架构**:咏南插件框架的核心是插件架构,它允许将软件...
7. **固件版本:01.09.10** - 量产工具版本:v1.89&v1.96 - 发布日期:2007-08-14 8. **固件版本:01.03.10** - 量产工具版本:v1.08&v1.89&v1.96 - 发布日期:2007-09-29 9. **固件版本:01.0A.10** - 量...
7. F8:正交模式 - 开启或关闭正交模式,确保直线始终沿水平或垂直方向绘制。 8. F9:栅格捕捉 - 控制是否启用栅格捕捉,使绘制的点自动对齐到栅格点。 9. F10:极轴追踪 - 开启或关闭极轴追踪,根据角度引导绘制...
#### 7. 阿拉伯语-约旦 (Arabic-Jordan) - **英语名称**: Arabic(Jordan) - **中文名称**: 阿拉伯语-约旦 - **内部编码**: 0x2C01 - **十进制数值**: 11265 #### 8. 阿拉伯语-科威特 (Arabic-Kuwait) - **英语...
- Catalyst 6500: `Switch-6500 > (enable) set time fri 3/29/2009 23:00:00` 7. **配置设备管理地址** - Catalyst 3548: 配置VLAN1接口的IP地址和默认网关,如`Switch-3548 (config) # interface VLAN1`,`...
- **考试时间**:2009年上半年(具体日期:5月23日) - **考试时长**:150分钟(9:00~11:30) - **考试形式**:选择题,每题1分,共75题 - **答题卡填写要求**: - 正确填写姓名和准考证号 - 使用正规2B铅笔在准...
7. 分辨率: 320*240 8. 点距:0.16875(H) x 0.16875 (V) 9. 视角: 12:00 10. 控制IC:ILI8961 11. 显示类型:全透型,常白 12. 外形尺寸: 63.2*45.8*2.60 mm 13. 可视面积: 14. 点阵区面积:54*40.5mm 15. 亮度...
23. **(23)A)** - **知识点**: 数据库审计 - **解析**: 选项A可能探讨了数据库审计的重要性及其实施方法。 24. **(24)C)** - **知识点**: 数据库复制 - **解析**: 选项C可能解释了数据库复制技术的原理...
#### 7. Chinese Journal of Electronics - **ISSN**: 1022-4653 - **期刊名**: 电子学报 - **简介**: 聚焦于电子科学与技术领域的基础与应用研究,如电路与系统、信号处理等。 #### 8. Chinese Journal of ...
- 在完全二叉树中,按照层级从上到下、从左到右的顺序编号,可以推导出编号为47的节点的双亲编号为23。 - **正确答案:A** **4. 二分查找的应用** - **选项解析:** - 二分查找适用于键值有序的顺序表,因为...
- **教育时间**:2007/9—2011/7 - **学历**:本科 - **专业名称**:计算机应用与技术 - **所学专业**:计算机科学与技术 - **外语语种**:英语 #### 四、培训经历 - **培训学校**:北大青鸟智创英杰中心 - **培训...
更新时间: 2009-10-6 12:18:40 文件 MD5: 209A03F25704BF9A130B15A85DCD1E30 文件版本: 8.0.50727.42 文件描述: Microsoft.ReportViewer.Common.dll 文件大小: 3.48M X86/X64: X86 更新时间: 2010-12-29...
- **实习经历:**2008年11月至2009年9月参与信息技术领域的Java教师实习项目。 #### 三、专业技能 1. **静态网站开发:** - 熟练掌握使用ASP、HTML、JavaScript及CSS等技术进行静态网站的开发。 - 具备一定的...
2004年发布0.0版,最新版本1.0.5发布于2009年9月29日。 1、安装JDK和Eclipse 网上很多资料,此处不多说。 关于JDK版本,没有找到相关说明,下载较新版本即可,如JDK1.6就可以。 Eclipse最新有一个Helios(太阳神)...
9. 化学需氧量(CODcr):GB 11914-89重铬酸钾法和HJ/T399-2007快速消解分光光度法,需要加热回流装置和快速测定仪。 10. 生物需氧量(BOD5):HJ 505-2009稀释与接种法,使用培养瓶、培养箱和溶解氧测定仪器。 11. ...
- 计划在2009年推出集成以太网功能的B07E机型。 - **I/O点扩展:** - 台达人机界面支持14点和28点I/O扩展模块,适用于AE系列的扩展口。 #### 三、常见技术问题解答 1. **多通讯口应用:** - **问题**: 使用DOP-AS...
9. **更新 LicenseKEY 文件**: - 编辑 LICENSEKEY 文件,输入有效的许可证密钥。 10. **创建 PowerExchange 环境**: - 按照手册中的步骤设置环境变量。 - 例如: 设置 DB2 环境变量。 #### 五、配置与使用 ...
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\Administrator>adb shell root@octopus-perf:/ # 在串口打印中可以看到命令:input keyevent 82可以直接解锁系统。 shell@octopus-perf:/ # ...
2006-03-03 23:23 9,300 DSUIExt.Lib 2006-03-03 23:23 3,526 FaultRep.Lib 2006-03-03 23:23 213,904 Fci.Lib 2006-03-03 23:23 169,738 Fdi.Lib 2006-03-03 23:23 80,910 Gdi32.Lib 2006-03-03 23:23 1,198,410 ...