第七章 文件 本章重点 7.1 文件管理控件 7.2 文件处理 7.3 练习.

Slides:



Advertisements
Similar presentations
编程加工 信息的. 趣味导入拓展提升大显身手总结反思学以致用 传说古代印度有个国王叫舍罕,他很迷恋棋类,而 宰相达依尔是个聪明的大臣,发明了国际象棋。国王玩 得爱不释手,决定奖赏宰相。达依尔说:陛下,我别无 他求,请你在这张棋盘的第一个格子里赏我 1 粒麦子; 在第二个格子里赏我 2 粒麦子;在第三个格子里赏我.
Advertisements

第2章 Visual Basic 6.0编程基础 (第一部分)
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
課程名稱:程式設計 授課老師:________
第 7 章 文 件.
赋值语句与输入、输出语句.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
Access数据库程序设计 总复习.
客户端用Net-Library和SQL SERVER连接
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
高等医药院校药学类第三轮规划教材——大学计算机基础
Visual Basic 期中報告 組長:沈亞臻 組員:蔣佳育 張庭茹
Visual Basic程序设计.
程式語言Visual Basic 變數的可視範圍
第2章 建立Visual Basic應用程式.
第10章 图 形 基 础 10.1 坐标系 10.2 绘图属性 10.3 图形控件 10.4 图形方法 习题十.
第二章 Visual Basic语言基础.
第5章 数组 Visual Basic程序设计.
Visual Basic程序设计 第七章 数组
Visual Basic 程序设计 第12章文件处理
程式語言 -Visual Basic 變數、常數與資料型態.
第三章 文本编辑器vi.
Visual Basic程序设计 第八章 过程 -子程序和函数
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
初识Visual Basic.
Visual Basic程序设计基础 计算机科学学院.
第1章 概述 程序设计语言的发展 Visual Basic 6.0简介 Visual Basic 6.0集成开发环境 设计程序的一般步骤.
第十三章 檔案.
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
计算机程序设计强化复习 Visual Basic 6.0.
程序的基本要素 2018/12/6.
Visual Basic 程序设计 教师:王 杨 电话:
第12章 VBA模块设计.
丙級電腦軟設-VB程式設計 資料來源:林文恭研究室 整理:張福生.
新觀念的 VB6 教本 第 6 章 資料型別.
Visual Basic 6.0 ——程序设计.
Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
Visual Basic程序设计.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
For x = 0 To 9 For y = 0 To 9 z = *x + 10*y …… Next y
第1章 Visual Basic 简介 郭清溥.
VB语言程序设计教程.
107學年度高一程式設計 上機考試 投影片 加減乘除.
小结 郭清溥.
领导艺术与方法 适合对象:课长级以上人员 人力资源部 李晓红 2006/6/12
程序基础 2019/4/25.
第二章、第三章错题分析.
第 11 章 功能表列與工具列的設計 & 第 10 章 檔案.
計算機概論 跨越講義 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 結構化VS物件導向程式設計
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
1位选手参加了歌唱比赛,评委们的评分如下:
Print方法和函数 2019/5/19.
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
計算機程式 Visual BASIC 程式設計
1、过程概述 2、函数过程 3、子过程 4、过程的使用 5、传递参数 6、过程的嵌套
解析算法与枚举算法.
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
信息的加工 Word中查找和替换、自动更正、批注、修订 Excel中公式和函数、排序和筛选、图表的建立和编辑 字符识别OCR.
Presentation transcript:

第七章 文件 本章重点 7.1 文件管理控件 7.2 文件处理 7.3 练习

重点 掌握 三个文件控件的同步 顺序文件的处理 驱动器列表框 Drive属性 Change事件 目录列表框 Path属性 Change事件 文件列表框 filename,listIndex属性 Click事件 三个文件控件的同步 文件的基本概念,顺序文件的处理 重点 三个文件控件的同步 顺序文件的处理

7.1文件管理控件 VB中用于文件管理操作的控件有: 驱动器列表框、目录列表框和文件列表框 驱动器列表框 文件列表框 文件夹列表框

驱动器列表框 1.驱动器列表框(DriveListBox) ListIndex:选定驱动器的索引值(只读),从0开始计 (1)属性: name: Drive1(默认) Drive:返回Drive控件中选取的驱动器 是运行时属性。 改变Drive属性的两种方法: ① 在驱动器控件中选取 ② 用赋值语句:Drive1.Drive=“d:\” ListIndex:选定驱动器的索引值(只读),从0开始计 ListCount:列表中驱动器总数(只读) (2)事件: Change:改变Drive属性时触发. (选择、输入或给Drive属性赋值时)

驱动器列表框 1.驱动器列表框(DriveListBox) (3) ChDrive语句: 作用:改变当前工作驱动器 格式: ChDrive Drive 例如: ChDrive "D:" Open "ABC.txt" For Input As #1 ChDrive "C:" Open "ABC.txt" For Output As #2

目录列表框 2.目录列表框(DirListBox) ListIndex:选定文件夹的索引值(只读) 当前文件夹的索引值为-1, (1)属性: Name:Dir1(默认值) Path:设置或返回列表框中显示的当前目录 是运行时属性 改变Path属性的两种方法: ① 在控件中双击指定文件夹 ② 用赋值语句:Dir1.Path=路径 ListIndex:选定文件夹的索引值(只读) 当前文件夹的索引值为-1, 所包含的子文件夹从0开始计数,依次递增 它的上级文件夹依次递减 ListCount:列表中驱动器总数(只读) (2)事件: Change:改变Path属性时发生 (双击目录、赋值改变Path属性)

目录列表框 2.目录列表框(DirListBox) (3) ChDir语句 作用:改变当前工作目录 即改变系统存取文件的缺省路径 格式: ChDir Path 例如: ChDrive "D:\gh"

文件列表框 3.文件列表框 (FileListBox) Pattern:设置文件列表框所显示的文件类型 (1)属性: Name:File1(默认值) Path:设置或返回文件列表框所显示文件的路径 格式:Dir1.Path=路径 改变该属性将引发PathChange事件 Pattern:设置文件列表框所显示的文件类型 格式:File1. Pattern=”*.exe” 改变该属性将引发atternChange事件 Filename:设置/返回文件列表框中出显示的文件名 (2)事件: Click、Dblclick PathChange: 改变文件列表框的path属性时发生 PatternChange: 改变显示文件类型的模式时发生

例:利用文件管理控件实现文件的浏览 分析: 1.选定驱动器后,应该影响目录列表 事件:Drive1_Change 2.选定文件夹后,应该影响文件列表 在 Dir1_Change 事件中 3.组合框选定内容或输入内容,应该影响显示的文件类型 在 Combo1_Click事件中 在 Combo1_Change事件中

7.2 文件处理 在VB中,按照访问模式文件分为3种类型 1.顺序型: 访问模式最简单,适用于文本文件。 7.2 文件处理 在VB中,按照访问模式文件分为3种类型 1.顺序型: 访问模式最简单,适用于文本文件。 ⑴ 读写记录时都是从前向后顺序进行。 ⑵ 一行字符为一条记录,记录之间以“换行”符分隔 2.随机型: 适用于固定长度记录,记录之间无特殊分隔符 ⑴ 所有记录等长,各记录中相应的数据项长度也一样; ⑵ 根据记录号直接访问指定记录 3.二进制型: 是最原始的文件 ⑴ 内容以二进制的形式存放,无格式 ⑵ 适合于任何文件,与随机文件很类似,但要顺序读取

7.2 文件处理 文件操作的一般步骤: 使文件与内存中的某个缓冲区关联 2.存 / 取操作 向文件写入数据或从文件读取数据 3.关闭文件 7.2 文件处理 文件操作的一般步骤: 1.打开文件: 使文件与内存中的某个缓冲区关联 2.存 / 取操作 向文件写入数据或从文件读取数据 3.关闭文件 释放文件所占用的文件缓冲区

顺序文件打开 Input: 打开一个文件(已存在),对文件进行读操作 ② 文件号: 1.打开: Open 文件名 For[Input|Output|Append] As [#]文件号 ① 打开 例:打开一个D盘GH文件夹中的ABC.TXT,供写入数据, 指定文件号为#10 Input: 打开一个文件(已存在),对文件进行读操作 Output:打开一个文件,对文件进行写操作 若文件不存在,新建一个文件写入内容 若文件已存在,重写该文件,文件原内容丢失 Append:打开一个文件,对文件进行写操作 若文件已存在,把字符追加到该文件尾部 代码为: Open “d:\gh\abc.txt” For Output As #10 ② 文件号: 必选参数,为打开的文件分配的通道号 取值在1-511之间的整数

顺序文件写操作 2.写操作 (1) Print语句 格式:Print #文件号[,输出列表] 输出表列:可以是变量或常量,用,或 ;分隔。 标准格式输出: Open “abc.txt” For Output As #1 Print #1, "Visual", "Basic", "&", "Computer " Print #1, 1, 2, 3, 4 Close #1 紧凑格式输出: Open “abc.txt” For Output As #1 Print #1, "Visual"; "Basic"; "&"; "Computer " Print #1, 1; 2; 3; 4 Close #1

顺序文件写操作 2.写操作 (2) Write 语句: 格式:Write #文件号[,输出表列] 紧凑格式输出,各数据项间插入逗号,并给字符数据加“” 紧凑格式输出: Open "abc.txt" For Output As #1 Write #1, "Visual", "Basic", "&", "Computer ", Write #1, 1, 2, 3, 4 Close #1 紧凑格式输出: Open "abc.txt" For Output As #1 Write #1, "Visual", "Basic", "&", "Computer " Write #1, 1, 2, 3, 4 Close #1

文件关闭 3.关闭 如:Open “file1.txt” For Input As #1 (1)格式:Close [[#]文件号表列] Close #1 如:Open “file1.txt” For Input As #1 Open ”file1.txt” For Input As #2 如:Open “file1.txt” For Output As #1 Open ”file1.txt” For Input As #2 (2) Reset 注意: 不能共用一个通道号同时打开的两个文件 在Input模式下,可以用不同的文件号打开同一个文件 在Output和Append模式下打开的文件,在关闭之前不能用不同的文件号再重复打开 参数:指出要关闭的文件号列表,若多个文件号用,分隔 文件号省略:表示关闭当前打开的所有文件。

顺序文件读操作 4.读操作 (1)Input #文件号,变量表列 变量列表:用来存放从顺序文件中读出的数据, 用,分隔,且个数、类型与文件中的数据项一致。 Open "abc.txt" For Input As #1 Input #1, s1, s2, s3, s4 Close #1 说明:数据开始:遇到的第一个非空格字符(回车或换行) 数据结束:数值型:遇到的第一个空格、回车换行 字符型:双引号外的逗号(,)或回车

顺序文件读操作 4.读操作 (2)Line Input #文件号,变量名 参数:变量名应该是字符型或变体型; 不受空格和逗号限制,将一行作为一条记录一次读入 例如: Open "abc.txt" For Input As #1 Line Input #1, s1 Close #1 Print s1,s2

顺序文件读操作 4.读操作 (3)Input (整数,[#]文件号) 参数:整数是用来指定要读取的字符个数 例如: Open "abc.txt" For Input As #1 s1=Input (6,#1) Close #1 Print s1 5.文件函数 EOF(文件号):判断当前文件是否结束 LOF(文件号):打开文件的字节数

随机文件 以随机存取(Random Access)方式存取的文件称随机文件。 随机文件是由一组长度相等的记录组成。 随机文件特点 (1) 随机文件的记录是定长的。 (2) 记录包含有一个或多个字段(又称为域),只有一个字段的记录对应于任何一个标准类 (3) 随机文件打开后,既可读又可写,可以根据记录号访问文件中任何一个记录,无需按顺序进行。

随机文件 1.变量的声明 (1) 定义记录类型 如果记录由多个字段组成,则须在标准模块中自定义数据类型 例如: Type Student Name As String*8 ‘字符型字段必须定长 Id As String*6 End Type (2) 声明变量 如:Public Stu As Student

随机文件 格式: Open 文件名 [For Random] As [#]文件号 Len=记录长度 2.随机文件的打开 ② Len子句: 说明: ① 打开方式: For Random 打开随机文件,此方式为默认方式。 ② Len子句: 例:打开D盘GH文件夹中的ABC.dat 指定打开随机文件的记录长度 指定长度>写入长度:能正确写入,仅是浪费空间 指定长度<写入长度:产生错误 记录长度的计算:len(记录变量) 代码为: Open “d:\gh\abc.dat” For random As #1 len=len(s)

随机文件 2.随机文件的写操作 格式: Put #文件号 ,[记录号] , 变量 说明:记录号:1~231-1。可省略,但逗号不能省略。 此时默认为文件指针指向的位置 文件函数: LOF(文件号):返回打开文件的字节数 Private Sub Command1_Click() Dim s As student Open "d:\abc.dat" For Random As #1 Len = Len(s) s.name = Text1.Text s.id = Text2.Text Put #1, 1, s Close End Sub

随机文件 格式: Get #文件号 ,[记录号] , 变量 3.随机文件的读操作 说明:记录号默认值同Put语句 文件函数: EOF(文件号):判断文件是否结束 Private Sub Command2_Click() Dim s As student Open "d:\abc.dat" For Random As #1 Len = Len(s) n = InputBox("记录号") Get #1, n, s List1.AddItem s.name & s.id Close End Sub

二进制文件 1. 任何类型的文件(顺序文件或随机文件)都可以以二进制访问模式打开,二进制存取可以获取任何一个文件的原始字节。 2. 二进制使用GET#语句获取数据,用PUT#语句写入数据。 3. 二进制存取模式与随机存取模式不同之处是: 二进制存取可以定位到文件中的任一字节位置,而随机存取要定位在记录的边界上 二进制存取从文件中读取数据或向文件写入数据的字节长度取决于GET#语句或PUT#语句中“变量”的长度,而随机存取方式读写固定个数的字节(一个记录的长度)

练习 1.在 Visual Basic 中文件访问的类型有_ __. A.顺序、随机、二进制 B.顺序、随机、字符 C.顺序、十六进制、随机 D. 顺序、记录、字符 2.若磁盘文件C:\Data1.dat不存在,下列打开文件语句中,会产生错误的是______。 A. Open "C:\Data1.dat" For Output As #1 B. Open "C:\Data1.dat" For Input As #2 C. Open "C:\Data1.dat" For Append As #3 D. Open "C:\Data1.dat" For Binary As #4

练习 3.要向已有数据的C:\test\test.txt文件添加数据,正确的文件打开命令是___ __。 A. Open "C:\test\test.txt" For Append As #512 B. Open "C:\test\test.txt" For Append As #511 C. Open "C:\test\test.txt" For Output As #512 D. Open "C:\test\test.txt" For Output As #511