第11章 文件处理
自学考试公文写作与处理第十一章

(4)行政事务性的通知、便函、介绍信和请柬等;
(5)领导“亲收”、“亲启”件,这类信件应由收件人本人或其委托
人收阅后,认为须交机关存查或处理的,再行登记,并交有关部门处
理。
收文登记的形式和登记的项目要求,一般说来应根据机关的
大小和收来文件的多少等情况来确定。 内收发的收文登记主要项目应包括:收文顺序号、收到日期、
(4)在文件份数少,阅办阅知部门多的情况下,应按先办理、后阅知,
先主办、后协办,先正职、后副职的次序分送;(5)公文的分发要建 立登记交接制度,对那些要求退回归档的文件,要在文件上标明“阅
后请退回归档”字样。
传阅
公文的传阅是指单份或份数很少的文件以及一些非承办性文
件,需要经机关各位领导人和许多部门阅知时,由文书人员组织在他
2.批办是指机关领导人对送批的文件如何处理所作的批示。
公文批办的作用:在于使机关或部门的领导人及时阅读重要的收 文,掌握上级指示精神、工作发展情况和其他有关信息;并便于加强
对公文处理工作的领导,向承办人及时交代意图与要求,合理组织人
力,避免承办人在文书处理Байду номын сангаас走弯路,或由于分工不明,责任不清, 形成观望等待而拖延时间等。
文件阅毕后,阅看人员要在《文件传阅单》上签注姓名和日期。
三、拟办、批办与承办P302 1.拟办 公文的拟办是指对来文的处理提出初步意见,供领导人批办 时参考。 公文办理过程中做好拟办工作的重要性: 拟办是收文处理中的一个重要环节,机关领导,每天要阅批大量文件, 要对文件中涉及的许多问题表明态度。如果办公部门不管什么来文,一律 送领导批办,就必然增加领导负担,甚至造成领导包揽一切,发挥不了办 公部门的作用;如果向领导呈送文件之前,先提出拟办意见,即提出解决 问题的妥善方案,就等于起到“外脑”作用,助了领导同志“一臂之力”, 使他们能够节省耗费在阅批公文、应付事务上的时间,集中精力考虑大事。 因此,加强拟办工作,是提高工作效率和工作质量的有效措施。
第11章 Symbian手机上的文件操作

文件服务器
目录操作
读取目录列表 //获得指定目录下子目录和文件列表 TFileName fnPath; fnPath.Copy(_L("c:\\Data\\")); RFs& fs=CCoeEnv::Static()->FsSession(); CDir* pDir=NULL; TInt nn=fs.GetDir(fnPath,KEntryAttNormal|KEntryAttMat chMask, ESortByDate,pDir); for(int i=0;i<pDir->Count();i++) { RDebug::Print(_L("%S\n"),&((*pDir)[i].iName)); } delete pDir;
文件类RFile
创建、打开、关闭文件
创建文件 TFileName fnDataFile; fnDataFile.Copy(_L("c:\\Data\\FileExam.dat")); RFs& fs=CCoeEnv::Static()->FsSession(); RFile file; User::LeaveIfError(file.Create(fs,fnDataFile,EFileWrite) ); ... ... //使用file对象处理已经打开的文件 //或者使用下面的方式创建文件 User::LeaveIfError(file.Replace(fs,fnDataFile,EFileWrit e)); ... ... //使用file对象处理已经打开的文件
文件服务器
文件操作
删除文件 //删除文件 TFileName fnNew; fnNew.Copy(_L("c:\\Data\\Others\\dir2\\3.txt") ); RFs& fs=CCoeEnv::Static()->FsSession(); fs.Delete(fnNew);
11-异常处理(jb)

第11章异常处理 (1)11.1 C++的异常处理机制 (1)11.2 异常处理的实现 (2)第7章第11章异常处理异常处理(exception handling)机制是用于管理程序运行期间出现非正常情况的一种结构化方法。
C++的异常处理将异常的检测与异常处理分离,增加了程序的可读性。
异常处理常用于大型软件的开发中。
本章介绍异常处理的基本概念,以及异常处理程序的构造。
11.1 C++的异常处理机制软件开发不但要保证逻辑上的正确性,还必须具有容错能力。
即要求应用程序不但在正常情况下能够正确运行,发生意外时也可以做出适当处理,不会导致丢失数据或破坏系统运行等灾难性的后果。
这些意外可能由用户误操作、外部设备或文件的不正确连接,或者内存空间不足等原因所造成。
异常包括错误,也可能是某些很少出现的特殊事件。
为了处理可以预料的异常,传统的程序设计中,经常使用中断指令。
例如:abortassertexitreturn典型的方法是被调用函数运行发生错误时,返回一个特定的值,让调用函数检测到错误标志后做出处理。
或者当错误发生时,释放所有资源,结束程序执行。
这些处理方法使得异常处理代码分布在系统可能出错的各个地方。
优点是处理直接,运行开销小,适用于处理简单的局部错误。
缺点是错误处理代码掺杂于系统功能实现的代码主线,降低了程序的可读性和可维护性,不适用于组件式的大型软件开发。
如果设计的类是提供给其他程序员重用,使用传统的异常处理方式,虽然可以检测到异常条件的存在,但无法确定其他程序员如何处理这些异常;另一方面,这些程序员想按照自己的意愿处理异常,但又无法检测到异常条件是否存在。
异常处理的基本思想是将异常检测与处理分离。
出现异常的函数不需具备处理异常的能力。
当一个函数发生异常时,它抛出一个异常信息,希望它的调用者捕获并处理这个异常。
如果调用者不能处理,还可以报告(抛出)给上一级调用者处理。
一直到运行系统,若仍不能处理,将简单终止程序。
电路设计与制版——Protel 2004第11章

图11-2 设计规则校验器设置对话框
11.2
DRC设计校验
(2)在该对话框中左侧列表栏中选中 【Report Options】(报告文件)选 项,然后在右侧面板上选中以下3项: 【Create Report File】(生成设计规 则校验报表文件)、【Create Violations】(生成违反设计规则绿色 标记)和【Sub-net Details】(列出 违反设计规则的子网络),并设置当 设计规则的冲突数目超过“500”时, 系统将自动中止停止校验。 (3)在该对话框中左侧列表栏中选中 【Electrical】(电气规则),然后在 右侧面板上选中以下3个选项的 “Batch”项:【Clearance】、 【Short-Circuit】和【Un-Routed Net】,如图11-3所示 。
图11-3
设置电气校验规则
11.2
DRC设计校验
(4)在该对话框中左侧列表栏中选中【Routing】(布线规则),然后在 右侧面板上选中【Width】选项的“Batch”项,如图11-4所示。
图11-4 设置布线校验规则
11.2
DRC设计校验
Setup3:完成上述设计校验项目的设置后,单击 按钮,系 统将执行DRC设计规则校验,生成设计规则校验报表文件。系统将自动切 换到报表文件窗口,如图11-5所示 。
图11-7 PCB文件
11.3 通过DRC设计校验报告修改电路板
Setup2:执行菜单命令【Tools】/【Design Rule Check】,系统执行 DRC设计规则校验操作并生成规则校验表文件,该文件如下所示。系统自 动弹出【Message】面板,如图11-8所示。
图11-8 消息面板中的错误信息
11.1 设置DRC设计校验选项
Photoshop_CS图像处理课程第11章

中文版Photoshop CS图像处理培训教程 中文版Photoshop CS图像处理培训教程
11.1 通道的应用
• 11.1.1 知识讲解 • 11.1.2 典型案例——制作云雾效果 典型案例——制作云雾效果
中文版Photoshop CS图像处理培训教程 中文版Photoshop CS图像处理培训教程
中文版Photoshop CS图像处理培训教程 中文版Photoshop CS图像处理培训教程
3.复制通道
• 如果需要直接对通道进行编辑,最好先复
制一个通道,再编辑该复制的通道,以免 编辑后不能还原。复制通道的操作方法与 复制图层类似,先选中需要复制的通道, 然后按住鼠标左键不放并拖动到下方的 “新建通道”按钮 上,当鼠标光标变成 新建通道” 形状时释放鼠标即可。
2.创建新Alpha通道 .创建新Alpha通道
• 新创建的通道称为Alpha通道,它常用于保存图像 新创建的通道称为Alpha通道,它常用于保存图像
选区的蒙版,而不是保存图像的颜色。创建通道 主要有以下两种方法: – 单击通道面板底部的“新建通道”按钮 ,即 单击通道面板底部的“新建通道” 可新建一个Alpha通道,新建的Alpha通道在图 可新建一个Alpha通道,新建的Alpha通道在图 像窗口中显示为黑色。 – 单击通道面板右上角的 按钮,在弹出的下拉 菜单中选择“新通道” 菜单中选择“新通道”命令。在打开的 “新通 道”对话框中设置新通道的名称、色彩的显示 方式和颜色后单击 按钮,即可新建一 个Alpha通道。 Alpha通道。
1)颜色通道的类型
– Lab模式图像的颜色通道:Lab模式图像的颜色通道 Lab模式图像的颜色通道:Lab模式图像的颜色通道 有3个,包括明度通道、a(由红色到绿色的光谱变 个,包括明度通道、a 化)通道和b 化)通道和b(由蓝色到黄色的光谱变化)通道。 – 灰度模式图像的颜色通道:灰度模式图像的颜色通道 只有一个,用来保存图像的灰度信息,用8位或16位 只有一个,用来保存图像的灰度信息,用8位或16位 来表示。 – 位图模式图像的颜色通道:位图模式图像的颜色通道 只有一个,用来表示图像的黑白两种颜色。 – 索引颜色模式图像的颜色通道:索引颜色模式图像的 颜色通道只有一个,用来保存调色板中的位置信息, 具体的颜色由调色板中该位置所对应的颜色来决定。
第11章:场地、链接文件和共享坐标

第11章场地、链接文件和共享坐标概述:通过本章节的学习,我们将了解场地的相关设置与地形表面、场地构件的创建与编辑的基本方法和相关应用技巧。
随后我们将了解到如何应用和管理链接文件,最后是共享坐标的应用和管理。
11.1场地的设置单击“体量与场地”选项卡,“场地建模”面板下按钮,设置等高线间隔值、经过高程、添加自定义等高线、剖面填充样式、基础土层高程、角度显示等项目全局场地设置。
(如图11.1-1所示)。
图11.1-111.2地形表面的创建11.2.1拾取点创建打开“场地”平面视图,选项栏“体量与场地”“场地建模”面板下,“地形表面”命令,进入绘制模式。
单击“工具”面板下“放置点”命令,选项栏设置高程值,单击鼠标放置点,连续放置生成等高线。
修改高程值,放置其它点。
点“表面属性”命令设置材质,单击“完成表面”(如图11.2-1所示)。
图11.2-111.2.2导入地形表面打开“场地”平面视图,单击“插入”选项卡,“导入”面板下“导入CAD”命令,导入三维等高线数据。
单击“体量与场地”选项卡,“场地建模”面板下“地形表面”命令,进入绘制模式。
用“使用导入的”命令,选择已导入的三维等高线数据。
系统会自动生成选择绘图区域中已导入的三维等高线数据。
此时出现“从所选图层添加点”对话框,选择要将高程点应用于到的图层,并单击“确定”。
Revit Architecture 会分析已导入的三维等高线数据,并根据沿等高线放置的高程点来生成一个地形表面。
单击“地形属性”设置材质,完成表面。
11.2.3地形表面子面域单击“体量与场地”选项卡“修改场地”面板下“子面域”命令,进入绘制模式。
用“线”绘制工具,绘制子面域边界轮廓线。
点“子面域属性”设置子面域材质,完成绘制。
11.3 地形的编辑11.3.1拆分表面打开“场地”平面视图或三维视图,“体量与场地”选项卡“修改场地”面板下“子拆分表面”命令,选择要拆分的地形表面进入绘制模式。
数据结构--第11章 文件

• 更新某个记录必须对整个文件进行"复制"。
• 每个记录面有一个读/写磁 头,所有读写头安装在一 个活动臂装置上,可以一 起作径向移动。当磁道在 读/写头下通过时,便可以 进行信息的读/写。
• 各记录盘面上直径相同 的磁道组成一个“柱面”
• 一个磁道又可分为若干 弧段,称为“扇面”。 • 磁盘信息存取的单位为 一个扇面的字符组,称 为一个“页块” • 因此需用一个三维地址 来表明磁盘信息:柱面 号、记录面号和页块号。
二、B树的操作
• (1)按关键码进行查找 假设要查找关键码等于 kval 的记录
• 首先将根结点读入内存进行查找,若找到,即找 到了该记录所对应的物理记录位置,算法结束;
• 否则沿着指针所指,读入相应子树根结点继续进 行查找,直至找到关键码等于kval的索引项或者 顺指针找到某个叶子结点
• 前者可由索引项取得主文件中的记录,后者说明 索引文件中不存在关键码等于 kval 的记录。
二、磁盘存储器
• 磁盘是一种直接存取的存 储设备,既能顺序存取, 又能随机存取。目前使用 多为活动头磁盘。
• 由若干盘片组成一个盘片 组,固定在一个主轴上, 随着主轴顺一个方向高速 旋转。
• 除最顶上和最底下的两个 外侧盘面外,其余用于存 储数据的盘面称为“记录 盘面”,简称“记录面” • 记录面上存储数据的同心 圆称为“磁道”。
• 静态索引以ISAM文件为代表,它是一种专为磁 盘存取设计的文件组织方式,由索引区,数据区 和溢出区三部分组成。 • 索引区通常是与硬件层次一致的三级索引:总索 引,柱面索引和磁道索引,溢出区用来存放后插 入的记录。
c11 文件

二进制文件读写
fread函数
第 11 章 文 件
{"Sun",20050104,73.5},{"Li",20050106,87}}; FILE *fp;存区域中。 int i; if((fp=fopen("t.dat","wb"))==NULL) { printf("file creat error!\n"); 一般调用格式是:fwrite(buffer,size,count,fp); exit(0); } buffer是要输出数据在内存中存放的首地址;size是每次输出到文 for(i=0;i<N;i++) 件中的字节数;count是要输出的次数;fp是文件指针。它的功能是 fwrite(&s[i],sizeof(struct student),1,fp); 将从buffer为首地址的内存中取出count次数据块,每次size个字 fclose(fp); if((fp=fopen("t.dat","rb"))==NULL) 节,写入fp所指的磁盘文件中,如果函数调用成功,则返回实际写 { printf("file open error!\n"); 入的数据块个数。 exit(0); } for(i=0;i<N;i++) { fread(&a[i],sizeof(struct student),1,fp); printf("\n%s,%ld,%f",a[i].name,a[i].num,a[i].score); } fclose(fp); }
第 11 章 文 件
}
Copyright@ Henan Polytechnic University
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件不存在,则打开失败
文件存在,打开失败 打开文件进行写操作 删除文件后重新新建文件 文件以二进制形式打开
• 需要注意的是当利用此open()函数打开的文件不存在时,应用程序会新 建一个文件,然后再进行打开。当需要以一种以上的方式打开文件时,
11.1.4 二进制文件的输 入和输出
• 任何文件都可以以二进制形式打开,文本文件是字符流,而二进制文件
是字节流。 • 在默认情况下,文件的打开方式是以文本文件的形式。如果需要指定以
二进制文件打开文件,只需要在open()函数时指定方式为ios::binary方式。
• 对二进制文件的读写有两种方式,一种是使用get()和put()函数,另一种 是使用read()和write()函数。这四个函数也可以用于文本文件的读写,其 使用方式与二进制文件的使用区别不大。
•
• •
这个函数的第一个参数是块数据的首字节地址,第二个参数是读入的字节数。
ostream& write( const char* pch, int nCount ); ostream& write( const unsigned char* puch, int nCount );
•
•
ostream& write( const signed char* psch, int nCount );
文件的输出
ifstream
istream
文件的输入
fstream
iostream
文件的输入或输出
• 在C++中,文件的打开一般需要进行下面几步:
• (1)建立流对象。C++提供了3个标准的输入输出流,可以利用这些流 类建立需要的对象。
• (2)使用流类的成员函数open()打开文件。其原型如下:
• void open( const char* szName, int nMode, int nProt = filebuf::openprot );
后才可以对文件进行操作,当操作结束时还需要关闭文件。下面对文件 打开和关闭的基本过程进行介绍。
1.文件的打开
• 在C++中文件的打开实际上就是将文件与一个流对象关联起来,C++提
供了3个标准的流类,3个流类列表如表11.1所示。
表11.1 C++的流类
名 称
基 类
作 用
ofstream
ostream
• abcde
• 本节介绍了在Visual C++中进行文件操作的基本函数和过程。在MFC中
对这些操作以C++类的形式进行了封装,使得文件的操作更加简单和方 便。在11.2节中将会看到使用MFC封装的文件类进行文件操作的基本方
法和过程。
11.2 CFile类
• 在MFC中利用C++类的形式封装了对各种各样的文件的操作。其中CFile
文件,文件的打开方式是一个需要注意的问题。Open函数中参数 nOpenFlags的常用取值为以下的一个或几个。
• CFile::modeCreate:打开文件时,如果文件不存在则新建一个文件。
• CFile::modeNoTruncate:普通方式打开文件。 • CFile::modeRead:只读方式打开文件。 • CFile::modeReadWrite:文件可读可写。 • CFile::modeWrite:只写方式打开文件。
11.1.3 文本文件的输入 和输出
• 在打开文件以后,就可以对文件进行输入操作,即写操作。使用运算符
“<<”,就可以将内容输入到文件。在C++中对屏幕的输出使用的是 cout<<,而此时使用的是与文件关联起来的流对象。对文件的读操作正
好与写操作相反,它使用的运算符为“>>”,其他的含义是完全相同的。
即nMode的取值有多个,需要用“|”连接起来,这样就可以以多种方式
打开文件。 • 注意:在Visual C++中使用C++的标准流类,需要包含头文件
iostream.h。
2.文件的关闭
• 在对文件的输入输出完成以后,需要关闭文件,即取消流对象和文件之
间的关联。文件的关闭需要使用close()函数。close()是流类的成员函数, 它的使用非常简单,没有参数,也没有返回值。
【示例11.1】
• 将1~10这10个整数输入到文件中。新建一个控制台应用程序,编写代
码如下:
• 程序运行后,屏幕上并不显示任何内容,因为输出的内容保存在文件中。
打开当前目录下的文件num,可以看到文件中的内容如下:
• 12345678910
• 上面的例子是先建立一个输出文件,然后写入数据,最后关闭文件。可 以看到文件中已保存了输出的内容。
virtual UINT Read( void* lpBuf, UINT nCount );
DWORD ReadHuge( void* lpBuffer, DWORD dwCount ); virtual void Write( const void* lpBuf, UINT nCount ); void WriteHuge( const void* lpBuf, DWORD dwCount ); virtual LONG Seek( LONG lOff, UINT nFrom ); void SeekToBegin(); DWORD SeekToEnd(); virtual DWORD GetLength() const; virtual void SetLength( DWORD dwNewLen ); virtual DWORD GetPosition() const; virtual CString GetFileName() const; static void PASCAL Rename( LPCTSTR lpszOldName, LPCTSTR lpszNewName ); static void PASCAL Remove( LPCTSTR lpszFileName );
1.get()和put()函数的使 用
• get()是输入流类istream的成员函数,它可以从流对象连接的文件中读出数
据,每次读取一个字节。put()是输出流类ostream的成员函数,它可以向流 对象连接的文件写入数据。 • • • • • get()和put()函数的原型如下:
istream& get( unsigned char& ruch );
11.2.2 使用CFile类
• 前面介绍了CFile类的基本成员,下面结合实例对CFile类的使用进行介
绍。Leabharlann 示例11.3】• 在对话框中利用CFile类实现保存在编辑框中输入的内容,单击“显示”
按钮后,在文件中保存该内容,并且在另一个对话框中输出文件的所有 内容。操作步骤如下:
• (1)新建一个基于对话框的应用程序。
• (2)在资源编辑环境中添加两个编辑框和一个按钮控件。
• (3)添加单击按钮控件的消息映射,编写函数体如下:
• 分析:上面代码首先将编辑框1里面的内容保存在文件的末尾,然后将 文件里面的所有内容读出来,显示在编辑框2里面。 • 提示:应预先建立test.txt文件。 • (4)编译、连接,运行结果如图11.1所示。
每次读入一个字节,并且放入rush中。 ostream& put( char ch );
将字符ch写入到文件中。
2.read()和write()函数的使用
• • • • read()和write()函数可以用来读写一个块数据,即可以读写结构体、数组等。其原型如下:
istream& read( char* pch, int nCount ); istream& read( unsigned char* puch, int nCount ); istream& read( signed char* psch, int nCount );
这个函数参数的意义和read()函数的参数的意义完全相同,只不过这个函数是将数据写入 文件。
【示例11.2】
• 将存放'a'到'e'的5个字符的数组写入文件。新建一个控制台应用程序,
编写代码如下:
• 分析:程序运行后,屏幕上并不显示任何内容,因为输出的内容保存在
文件中,打开当前目录下的文件num,可以看到文件中的内容如下:
数如表11.3所示。
表11.3 CFile的主要成员
函 数 CFile( LPCTSTR lpszFileName, UINT nOpenFlags ); 构造函数 说 明 virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = 打开文件 NULL ); virtual void Close(); 关闭文件
•
• •
COleStreamFile:封装了使用COMM Istream接口对复合文件的操作。
CSocketFile:封装了对Windows Socket提供的操作。 说明:CFile类是CObject的派生类,因此它支持串行化操作。在应用中可
以使用串行化操作保存文件。
• CFile类是文件类的基类,它封装了对磁盘文件进行的操作,其成员函
简单的事情。本节介绍C++中文件的输入输出操作的基本知识。
11.1.1 C++对文件操作 的支持
• C++把文件看做是字符序列,也就是说文件是由一个个字符数据顺序组成