好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C++ Builder 6程序设计教程 教学课件 ppt 作者 陆卫忠 刘文亮 等第五章文件管理.ppt

46页
  • 卖家[上传人]:w****i
  • 文档编号:94356843
  • 上传时间:2019-08-06
  • 文档格式:PPT
  • 文档大小:241.50KB
  • / 46 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • C++ Builder 6程序设计教程,第五章 文件管理,,C++Builder中使用文件管理组件或通用对话框来交互式地打开文件、保存文件,同时某些组件本身也提供了相关方法来对文件进行输入输出操作,应用程序中也可以直接编程对文件进行操作5.1 文件管理组件,C++Builder提供了驱动器列表框(TDriveComboBox)、目录列表框(TDirectoryListBox)、文件列表框(TFileListBox)、文件过滤器TFilterComboBox等四个组件 ,位于Win3.1页中,5.1.1 驱动器组件TDriveComboBox,用于指定或显示当前驱动器运行时,在默认情况下只显示当前驱动器的名称,单击下拉箭头即会显示本地计算机上所有的驱动器,可以选择所需要的驱动器,也可以直接输入有效的驱动器字母来实现选择,常用属性,DirList属性 :指定驱动器组件对应的目录列表组件,使目录列表框组件的驱动器与驱动器组件的当前驱动器相关联 Drive属性:运行时可以访问的属性,用于设置或返回当前选择的驱动器(字母),常用事件,OnChange事件 :用户选择或指定了一个新的驱动器后,就会引发该事件 可以在该事件中通过返回的Drive属性来更新目录列表框与文件列表框,5.1.2 目录列表框组件TDirectoryListBox,用于显示当前或指定的驱动器上的目录结构,它是一个列表框。

      显示时从根目录开始,各子目录按层次结构依次缩进,类似于Windows 98中的“打开文件”对话框利用单击或光标键的移动可以选择某个目录,双击目录会打开该目录下的所有子目录,常用属性,FileList属性 :用来指定目录列表框所关联的文件列表框,使得文件列表框的目录与目录列表框的当前目录关联 DirLabel属性:用来记录当前目录的路径 Drive和Directory属性 :运行时可以访问的属性Drive属性用于设置或返回当前选中的驱动器,Directory属性用于设置或返回当前选中的目录,5.1.3 文件列表框组件TFileListBox,用于显示当前目录中的所有文件或指定文件的清单 常用属性 : FileEdit属性:用于指定文件列表框的文件名编辑框,使编辑框中显示的文件名与文件列表框中选定的文件关联,也可以在编辑框中指定要查找的文件名,可以使用通配符 MultiSelect属性:取值为true时,允许在文件列表框中同时选定多个文件,,Drive属性:运行时可以访问的属性,返回当前选中的文件所在的驱动器 Directory属性:运行时可以访问的属性,返回当前选中的文件所在的目录路径 FileName属性:运行时可以访问的属性,返回当前选中的文件名 FileType属性:数组属性,用于设置是否允许在文件列表框中显示指定属性的文件。

      属性的取值可以是:ftReadOnly、 ftHidden、 ftSystem、ftVolumeID、ftDirectory、 ftArchive、 ftNormal,5.1.4 文件过滤器组件TFilterComboBox,用于显示指定模式的文件默认时,文件列表框将显示当前目录中的所有文件,即其值为“*.*” Filter属性:决定显示文件的类型,可以在设计时设置,也可以在运行时设置,支持通配符“*”和“?” FileList属性:用来指定与文件过滤器关联的文件列表框名,使文件列表框的文件类型与过滤器当前的设置类型一致 示例,5.2 文件及其处理,在C语言中,把文件看作是一个字节流,根据数据的组织形式,可分为两种文件类型:二进制文件和文本文件 在C++Builder中,可以使用多种方法对文件进行操作:基于ANSI C的文件操作、基于C++的文件操作、基于Windows API的文件操作和基于C++Builder库的文件操作,,C++Builder提供的文件操作函数中,可分为三种类型:文件I/O函数、文件名函数、文件管理函数要使用这些函数,需在头文件中包含SysUtils.hpp文件 。

      5.2.1 文件I/O函数,文件I/O函数完成对文件的读写相关的操作,,FileOpen() : 原型: int __fastcall FileOpen(const AnsiString FileName, unsigned Mode); 功能:打开文件,如果成功返回其句柄,否则返回-1 参数: FileName 要打开的文件名 Mode 打开的方式 用法: int i=FileOpen(“D:\\BCD\\CH06\\Readme.txt“,fmOpenReadWrite|fmShareExclusive);,,FileClose() 原型: void __fastcall FileClose(int Handle); 功能:关闭打开的句柄 参数:Handle 要关闭的句柄 用法:FileClose(i); //将句柄i代表的文件关闭,,FileRead() 原型: int __fastcall FileRead(int Handle, void *Buffer, unsigned Count); 功能:读文件,返回实际读取的字节数,句柄必须首先由FileOpen或FileCreate创建。

      参数:Handle 要读取的句柄 Buffer 存放读取的数据的缓冲区 Count 读取的字节数 用法: char buffer[400]; FileRead(hnd1,buffer,400);,,FileSeek() 原型: int __fastcall FileSeek(int Handle, int Offset, int Origin); 功能:移动文件读取指针,成功返回文件指针的位置,失败返回-1 参数:Handle 相关联的句柄 Offset 移动的量 Origin 起始点,0=文件头,1=当前位置,2=文件尾 用法:ShowMessage(FileSeek(fd,0,2)); //取得文件的长度,,FileWrite() 原型: int __fastcall FileWrite(int Handle, const void *Buffer, unsigned Count); 功能:写文件,返回实际写入的字节数,句柄必须首先由FileOpen或FileCreate创建 参数:Handle 要写入的句柄 Buffer 存放写入数据的缓冲区 Count 写入的字节数 用法: char buffer[]=“File Test“; FileWrite(fd,buffer,strlen(buffer));,,FileCreate() 原型: int __fastcall FileCreate(const AnsiString FileName); 功能:创建文件。

      成功返回其句柄,否则返回-1 参数:FileName 要创建的文件名 用法: if(!FileExists(“TEST.TXT“)) fd=FileCreate(“TEST.TXT “);,5.2.2 文件名操作函数,通过文件名函数可以对文件的名称、所在目录、驱动器和扩展名等进行操作,,1. ExpandFileName() 原型: AnsiString __fastcall ExpandFileName(const AnsiString FileName); 功能:返回文件的全路径(含驱动器、路径) 参数:FileName 要处理的文件名 用法: ShowMessage(ExpandFileName(Application-ExeName)); //显示当前执行的应用程序名,如D:\BCB\EXAM06\EXAM06_03.EXE Application-ExeName是当前执行的应用程序名,,2. ExtractFileExt() 原型: AnsiString __fastcall ExtractFileExt(const AnsiString FileName); 功能:从文件名中取扩展名 参数:FileName 要处理的文件名(完整路径) 用法: ShowMessage(ExtractFileExt(Application-ExeName)); //显示当前执行的程序的扩展名,,3. ExtractFileName() 原型: AnsiString __fastcall ExtractFileName(const AnsiString FileName); 功能:从文件名中取不含路径的文件名 参数:FileName 要处理的文件名 用法: ShowMessage(ExtractFileName (“C:\\WINNT\\NOTEPAD.EXE“)); //显示当前执行的程序名:NOTEPAD.EXE,,4. ExtractFilePath() 原型: AnsiString __fastcall ExtractFilePath(const AnsiString FileName); 功能:从文件名中取路径名 参数: FileName 要处理的文件名 用法: ShowMessage(ExtractFilePath(“C:\\WINNT\\NOTEPAD.EXE “)); //显示C:\WINNT\,,5. ExtractFileDir() 原型: AnsiString __fastcall ExtractFileDir(const AnsiString FileName); 功能:从文件名中取目录名(和上个函数不同,不包括最后的“\“) 参数: FileName 要处理的文件名 用法: ShowMessage(ExtractFileDir(“C:\\WINNT\\NOTEPAD.EXE “)); //显示C:\winnt,注意和上个函数的区别,,6. ExtractFileDrive() 原型: AnsiString __fastcall ExtractFileDrive(const AnsiString FileName); 功能:从文件名中取驱动器名 参数: FileName 要处理的文件名 用法: ShowMessage(ExtractFileDrive(“C:\\WINNT\\NOTEPAD.EXE “)); //显示C:,,7. ChangeFileExt() 原型: System::AnsiString __fastcall ChangeFileExt(const System::AnsiString FileName, const System::AnsiString Extension); 功能:更改文件名的扩展名,不是对真正的文件进行改名,只是对文件名这个字符串进行处理。

      参数: FileName 要改名的文件名 Extension 新的扩展名 用法: ShowMessage(ChangeFileExt(“C:\\WINNT\\NOTEPAD.EXE “,“.OOO“)); //显示“C:\WINNT\NOTEPAD.OOO“,,8. ExpandUNCFileName() 原型: AnsiString __fastcall ExpandUNCFileName(const AnsiString FileName); 功能:返回含有网络驱动器的文件完整路径,格式为:\\机器名\共享名\文件名 参数: FileName 要处理的文件名 用法: ShowMessage(ExpandUNCFileName(“F:\\DOC\\GUIDE.DOC“)); //如果F:是映射的网络驱动器\\ShareDIR, //则显示“\\ ShareDIR\ DOC\GUIDE.DOC “,,9. ExtractRelativePath() 原型: AnsiString __fastcall ExtractRelativePath(const AnsiString BaseName, const AnsiStrin。

      点击阅读更多内容
      相关文档
      新版中华民族共同体概论课件第五讲大一统与中华民族初步形成(秦汉时期)-2025年版.pptx 2023版《思想道德与法治》教学设计-绪论.docx 新版中华民族共同体概论课件第一讲中华民族共同体基础理论-2025年版.pptx 思想道德与法治(2023年版)资料第四章 明确价值要求 践行价值准则 - 副本.docx 2023版教学设计第五章 遵守道德规范 锤炼道德品格思想道德与法治2023版本课件.docx 新版中华民族共同体概论课件第二讲树立正确的中华民族历史观-2025年版.pptx 第六讲践行多边主义完善全球治理讲稿-2025秋形势与政策讲稿.docx 2023版教学设计第四章 明确价值要求 践行价值准则思想道德与法治2023版本课件.docx 新版中华民族共同体概论课件第十六讲文明新路与人类命运共同体-2025年版.pptx 第四讲阔步迈向农业强国讲稿-2025秋形势与政策讲稿.docx 2023版第一章 领悟人生真谛 把握人生方向教学设计思想道德与法治2023版本课件.docx 2023版教学设计第二章 追求远大理想 坚定崇高信念思想道德与法治2023版本课件.docx 微机原理及单片机应用技术概述.ppt 塑料成型工艺与模具结构-塑料成型工艺基础.ppt 市场营销学(第2版)市场营销管理.ppt 税收筹划(第2版)课件:跨国税收筹划问题.ppt 微机原理及单片机应用技术-初识STM32.ppt 政府与非营利组织会计(第7版)课件:政府会计的基本概念.pptx 政府与非营利组织会计(第7版)课件:政府单位会计概述.pptx 银行会计课件:无形资产与其他资产的核算.pptx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.