为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

二级VB CH12

2012-06-10 50页 ppt 3MB 29阅读

用户头像

is_675761

暂无简介

举报
二级VB CH12null计算机等级考试 二级VB计算机等级考试 二级VB信息工程学院 包怀忠 E-Mail:baohzh@126.com 手机:15055260972目 录目 录CH12 数据文件1CH12 数据文件CH12 数据文件大纲 1、文件的结构和分类。 2、文件操作语句和函数。 3、顺序文件: (1)顺序文件的写操作。 (2)顺序文件的读操作。 4、随机文件: (1)随机文件的打开与读写操作。 (2)随机文件中记录的增加与删除。 (3)用控件显示和修改随机文件。 5、文件系统控件: (1)驱动...
二级VB CH12
null计算机等级考试 二级VB计算机等级考试 二级VB信息学院 包怀忠 E-Mail:baohzh@126.com 手机:15055260972目 录目 录CH12 数据文件1CH12 数据文件CH12 数据文件大纲 1、文件的结构和分类。 2、文件操作语句和函数。 3、顺序文件: (1)顺序文件的写操作。 (2)顺序文件的读操作。 4、随机文件: (1)随机文件的打开与读写操作。 (2)随机文件中记录的增加与删除。 (3)用控件显示和修改随机文件。 5、文件系统控件: (1)驱动器列框和目录列表框。 (2)文件列表框。 6、文件基本操作。CH12 数据文件CH12 数据文件重点 1.文件的结构与分类 概念:存储在磁盘上的数据的集合 结构:由记录构成,记录由字段(数据项构成) 分类 顺序文件:记录不定长,访问文件时只能从第一条记录开始顺序访问,最典型的是文本文件。 随机文件:记录定长,每条记录由一个记录号,在访问记录的时候,只要指定记录号就能访问该记录。 二进制文件:记录是字节。CH12 数据文件CH12 数据文件2.文件操作语句和函数 访问文件的基本步骤 打开、访问(读或写)、关闭 打开文件 Open <文件名> for <方式> As [#]<文件号> [len=记录长度] 说明 文件名是一个字符串,包含路径; 方式:Output、Input、Append(这三个关键字针对顺序文件);Random(随机文件);Binary(二进制文件)。 文件号:1~511之间的一个整数,文件打开后文件号代表文件,同一时刻打开的多个文件文件号不能相同。CH12 数据文件CH12 数据文件Len=记录长度:记录长度是一个整型值,代表打开文件的记录字节数,该选项针对随机文件,因为随机文件的记录长度相同。 关闭文件 Close [[#]<文件号1>][,[#] <文件号2>]…… 说明 关闭文件,文件号必须是用Open语句打开时用到的文件号。 省略所有文件号将关闭所有打开的文件。CH12 数据文件CH12 数据文件常用函数 FreeFile 作用:返回一个尚未使用的文件号 Eof(文件号) 文件指针指向文件尾时返回True,否则返回False。 Lof(文件号) 返回文件的长度,即字节数。 CH12 数据文件CH12 数据文件3.顺序文件 打开 Open <文件名> for <方式> As [#]<文件号> 打开方式 Input:读打开。打开的文件只能读,不能修改;以这种方式打开的文件必须存在。 Output:写打开。打开的文件如果不存在,将建立一个新文件,如果存在,将删除原文件并建立一个新文件。 Append:追加打开。打开的文件如果不存在,和Output相同,即建立一个新文件,如果存在,则文件指针指向文件末尾,可以以追加的方式写入数据。CH12 数据文件CH12 数据文件写文件 Print语句 语法:Print #<文件号>,[表达式列表][,|;] 功能:计算表达式列表中各表达式的值,并将值按照指定格式输出到“文件号”所对应的文件中。 Print语句只是在Print关键字后加了一个“#<文件号>”选项,其他语法及其功能与Print完全一致。 文件号必须是Open语句打开的文件号。 Tab、Spc、Space函数可以用到Print语句中。 CH12 数据文件CH12 数据文件Write语句 语法:Write #<文件号>,<表达式列表> 功能:计算表达式列表各表达式的值并写到文件号对应的文件中。 输出各表达式值到文件时,在各表达式值之间插入“,” 表达式为字符串时,输出到文件中包括定界符双引号; 表达式为布尔或日期类型时,输出到文件中包括定界符“#”; 表达式为数值类型时,输出没有前置和后置空格。CH12 数据文件CH12 数据文件读文件 Input语句 语法:Input #<文件号>,<变量列表> 功能:将文件号指定的顺序文件中的数据按顺序读到“变量列表”列出的各个变量中。 Input通常用来读取Write写的文件。 文件中的数据应与对应变量的类型匹配。 对于数值型,读到一个空格、逗号或换行符时结束。 对于字符串,若遇到的第一个字符(不算前导空格)是双引号(“),Input语句把下一个双引号之前的字符赋给变量(双引号不算在字符串内)CH12 数据文件CH12 数据文件Line Input语句 语法:Line Input #<文件号>,<字符串变量> 功能:将文件指针指向位置的一行读入到其后的字符串变量中 ; 读出的数据中并不包含回车换行符。 主要用于读出文本文件。 Input函数 Input(,#<文件号>) 第一个参数n是一个整数,表示要读取的字符个数。 函数返回值为读取的内容。CH12 数据文件CH12 数据文件4.随机文件 打开 Open <文件名> [For Random] As #<文件号> [Len=<记录长度>] 说明 For Random是缺省的访问类型,可以省略。 记录长度默认为128个字节,每个记录的长度应等于各数据项所占的字节数之和。如果使用记录变量,程序设计时更多的都是通过Len()函数获取记录变量的长度。 随机文件一旦打开后,既能进行读操作,又能进行写操作。 CH12 数据文件CH12 数据文件写文件 语法:Put #<文件号>,[记录号],<变量名> 说明 记录号是要写入的记录位置;如果缺省记录号,将在当前记录的后面插入一条记录。如果记录号指定的记录以前曾写入过数据,则将以前的记录覆盖掉。 变量名为提供将写入文件的数据的记录型变量名。CH12 数据文件CH12 数据文件读文件 语法:Get #<文件号>,[记录号],<变量名> 说明: 记录号是要读记录的编号,如果省略记录号,则为最近执行Get或Put语句的下一个记录。 变量名通常都是接受记录内容的记录类型变量。 CH12 数据文件CH12 数据文件增加与删除记录 增加记录 将记录添加到文件的末尾,Put语句中的记录号应该是文件的记录数加1即可。通常用如下语句: intNo = LOF(文件号) / 记录长度 + 1 Put #<文件号>, intNo, <变量名> 删除记录 在磁盘上建立另一个新的随机文件,将要删除记录的文件复制到新文件中,但不复制要删除的记录。CH12 数据文件CH12 数据文件5.文件系统控件 驱动器列表框 属性 Drive:用于设置或返回当前驱动器标识符。 语法:Object.Drive[=驱动器字符串] Drive1.Drive="c" 常用事件 Change事件,该事件在驱动器列表框的Drive属性发生改变时发生CH12 数据文件CH12 数据文件目录列表框 属性 Path:返回或设置目录列表框中所显示目录的路径。 语法:Object.Path[=路径字符串] 注意 驱动器列表框Drive属性的改变并不自动引起目录列表框Path属性的改变,一般而言,要使目录列表框和驱动器列表框同步改变的话,可以在驱动器列表框的Change事件中用如下代码实现: dir1.path=drive1.drive 说明: dir1是目录列表框,drive1是驱动器列表框 事件 Change事件,该事件在目录列表框的Path属性发生改变时被触发。CH12 数据文件CH12 数据文件文件列表框 Path属性 文件列表框中显示由Path属性指定目录下的文件名。 要使目录列表框与文件列表框同步,需在目录列表框的Change事件中编程:file1.path=dir1.path ‘file1是一文件列表框,dir1是一目录列表框 Pattern属性 Pattern属性用来设置在程序运行时文件列表框中要显示的文件种类。例如,要将文件类型设置为*.txt文件: File1.Pattern = "*.txt" 利用分号可指定多种类型的文件显示,如:File1.Pattern = "*.txt;*.exe“ CH12 数据文件CH12 数据文件Filename属性 该属性用于返回或设置文件列表框中选中的文件名。引用时只返回文件名,相当于File1.List(File1 .ListIndex),需用通过Path属性得到其路径。 文件列表框的常用事件是Click和DblClick。CH12 数据文件CH12 数据文件6.文件基本操作 删除文件 格式:Kill <文件名> 说明 文件名可以包含完整路径,亦可用通配符 示例 Kill “c:\my\temp.txt” ‘删除指定文件 Kill “temp.txt” ‘删除当前文件夹下的指定文件 Kill “d:\temp\*.*” ‘删除指定文件夹下的所有文件CH12 数据文件CH12 数据文件文件复制 格式:FileCopy <源文件名>,<目标文件名> 说明 “源文件名”和“目标文件名”均是一个字符串,且都可以包含完整路径; 源文件名与目标文件名可以相同也可以不同。 待复制的源文件不能处于打开状态。 示例: FileCopy “c:\temp\my.txt”,“d:\you.txt” CH12 数据文件CH12 数据文件文件移动和重命名 格式:Name <源文件名> As <目标文件名> 说明: Names语句用于移动文件或者改变一个文件名 “源文件名”和“目标文件名”均是一个字符串,且都可以包含完整路径。如果“源文件名”和“目标文件名”指定的路径相同,则仅仅改名,如果“源文件名”和“目标文件名”指定了不同的路径,则移动源文件到目标路径下并改名。 示例 Names “d:\temp\my.txt” As “d:\temp\you.txt” Names “c:\temp\my.txt” As “d:\temp\you.txt” CH12 数据文件CH12 数据文件考试 选择题(4分) 1.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串:Microsoft Visual Basic Programming 然后编写如下事件过程,程序运行后,单击命令按狃,文件outf.txt中的内容是: A)MVBP   B)mvbp C) M V B P  D) m    v    b    pCH12 数据文件CH12 数据文件Private Sub Command1_Click()   Open "d:\temp\outf.txt" For Output As #1   For i = 1 To Len(Text1.Text)    c = Mid(Text1.Text, i, 1)    If c >= "A" And c <= "Z" Then    Print #1, LCase(c)    End If   Next i   Close #1 End SubCH12 数据文件CH12 数据文件2.假定在工程文件中有一个模块,其中定义了如下记录类型 Type Books Name As String * 10 TelNum As String * 20 End Type 当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条记录。 下列能够完成该操作的事件过程是( )。CH12 数据文件CH12 数据文件A)Private Sub Command1_Click()    Dim B As Books    Open "c:\Person.txt" For Output As #1    B.Name = InputBox("输入姓名")    B.TelNum = InputBox("输入电话号码")    Write #1, B.Name, B.TelNum    Close #1   End SubCH12 数据文件CH12 数据文件B)Private Sub Command1_Click()    Dim B As Books    Open "c:\Person.txt" For Input As #1    B.Name = InputBox("输入姓名")    B.TelNum = InputBox("输入电话号码")    Print #1, B.Name, B.TelNum    Close #1   End SubCH12 数据文件CH12 数据文件C)Private Sub Command1_Click()    Dim B As Books    Open "c:\Person.txt" For Output As #1    Name = InputBox("输入姓名")    TelNum = InputBox("输入电话号码")    Write #1, B    Close #1   End SubCH12 数据文件CH12 数据文件D)Private Sub Command1_Click()    Dim B As Book    Open "c:\Person.txt" For Input As #1    Name = InputBox("输入姓名")    TelNum = InputBox("输入电话号码")    Print #1, B.Name, B.TelNum    Close #1   End Sub CH12 数据文件CH12 数据文件3.目录列表框的Path属性的作用是( )。 A)显示当前驱动器或指定驱动器上的某目录下的文件名 B)显示当前驱动器或指定驱动器上的目录结构 C)显示根目录下的文件名 D)显示指定路径下的文件 CH12 数据文件CH12 数据文件4.以下关于文件的叙述中,错误的是。 A) 使用Append方式打开文件时,文件指针被定位于文件尾 B) 当以输入方式(Input)打开文件时,如果文件不存在,则建立一个新文件 C) 顺序文件各记录的长度可以不同 D) 随机文件打开后,既可以进行读操作,也可以进行写操作 CH12 数据文件CH12 数据文件5.设有语句: Open “d:\Text.txt” For Output As #1 以下叙述中错误的是() A.若 d 盘根目录下无 Text.txt 文件,则该语句创建此文件 B.用该语句建立的文件的文件号为 1 C.该语句打开 d 盘根目录下一个已存在的文件 Text.txt ,之后就可以从文件中读取信息 D.执行该语句后,就可以通过 Print # 语句向文件 Text.txt 中写入信息 CH12 数据文件CH12 数据文件6.以下叙述中错误的是() A. 顺序文件中的数据只能按顺序读写 B.对同一个文件,可以用不同的方式和不同的文件号打开 C.执行Close 语句,可将文件缓冲区中的数据写到文件中 D.随机文件中各记录的长度是随机的CH12 数据文件CH12 数据文件7.窗体上有1个名称为Text1的文本框和1个名称为Command1的命令按钮。要求程序运行时,单击命令按钮,就可以把文本框中的内容写到文件out.txt中,每次写入的内容附加到文件原有内容之后。下面能够实现上述功能的程序是() A) Private Sub Command1_Click()    Open “out.txt” For Input As #1    Print #1,Text1.Text          Close #1               End Sub             CH12 数据文件CH12 数据文件B) Private Sub Command1_Click() Open “out.txt” For Output As #1   Print #1,Text1.Text : Close #1 End Sub C) Private Sub Command1_Click() Open “out.txt” For Append As #1 Print #1,Text1.Text : Close #1             End Sub D) Private Sub Command1_Click() Open “out.txt” For Random As #1    Print #1,Text1.Text : Close #1   End Sub CH12 数据文件CH12 数据文件8.在窗体上有1个名称为CD1的通用对话框和1个名称为 Command1的命令按钮,以及其他一些控件。要求在程序运行时,单击Command1按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就 可以打开该文件。以下是Command1_Click事件过程的两种算法 算法1: Private Sub Command1_Click()    CD1.ShowOpen    Open CD1.FileName For Input As #1 End SubCH12 数据文件CH12 数据文件算法2: Private Sub Command1_Click()    CD1.ShowOpen    If CD1.FileName<>”” Then    Open CD1.FileName For Input As #1    End If End Sub 下面关于这两种算法的叙述中正确的是() A) 显示打开文件对话框后若未选择或输入任何文件名,则算法2会出错,算法1不会 B) 显示打开文件对话框后若未选择或输入任何文件名,则算法1会出错,算法2不会 C) 两种算法的执行结果完全一样 D) 算法1允许输入的文件名中含有空格,而算法2不允许CH12 数据文件CH12 数据文件9.下面关于文件的叙述中错误的是 A)随机文件中各条记录的长度是相同的 B)打开随机文件时采用的文件存取方式应该是Random C)向随机文件中写数据应使用语句 Print #文件号 D)打开随机文件与打开顺序文件一样,都使用Open语句 CH12 数据文件CH12 数据文件填空题(4-6分) 1.在名称为Form1的窗体上画一个文本框,其名称为Text1,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写如下的事件过程: 该事件过程的功能是,把磁盘文件smtext1.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt。请填空。CH12 数据文件CH12 数据文件Private Sub Form_Click()    Open "d:\test\smtext1.txt" For Input As #1    Do While Not 【 】      Line Input #1, aspect$     whole$ = whole$ + aspect$ + Chr$(13) + Chr$(10)    Loop    Text1.Text = whole$   Close #1    Open "d:\test\smtext2.txt" For Output As #1    Print #1, 【 】    Close #1 End Sub Eof(1) Text1.TextCH12 数据文件CH12 数据文件2.在窗体上画1个文本框,名称为Text1,然后编写程序,该程序的功能是,在D盘temp目录下建立1个名为dat.txt的文件,在文本框中输入字符,每次按回车键(回车符的ASCII码是13)都把当前文本框中的内容写入文件dat.txt,并清除文本框中的内容;如果输入“END”,则结束程序。请填空。 CH12 数据文件CH12 数据文件Private Sub Form_Load()  Open"d:\temp\dat.txt“ For Output As #1  Text1.Text="" End Sub Private Sub Text1_KeyPress(KeyAscii As Integer)  lf【 】=13 Then   If UCase(Text1.Text)=【 】Then    Close 1 : End   Else    Write #1,【 】:Text1.Text=""   End If  End If End SubKeyAscii “END” Text1.TextCH12 数据文件CH12 数据文件3.在窗体上画一个命令按钮和一个文本框,其名称分别为 Command1 和 Text1 ,然后编写如下事件过程: Private Sub Command1_Click()  Dim inData As String : Text1.Text=" "  OPen "d:\Myfile.txt" for 【 】 As #1  Do While 【 】   Input # 1,inData   Text1.Text=Text1.Text+inData  Loop  Close #1 End Sub 程序的功能是,打开 D 盘根目录下的文本文件 myfile.txt, 读取它的全部内容并显示在文本框中。请填空Input Not Eof(1)CH12 数据文件CH12 数据文件4.下面程序的功能是把文件file11.txt中重复字符去掉后(即若有多个字符相同,则只保留1个)写入文件file2.txt。请填空。 Private Sub Command1__Click()   Dim inchar AS String,temp AS String,outchar AS String   Outchar=“”   Open ”file1.txt” For Input AS #1   Open ”file2.txt” For Output AS 【 】   n=LOF( 【 】 ) : inchar=Input$(n,1)   For k=1 To n    temp=Mid(inchar,k,1)    If InStr(outchar,temp)=【 】 Then   outchar=outchar & temp    End If   Next k   print #2, 【 】: close #2 : close #1 End Sub#2 1 0 outcharCH12 数据文件CH12 数据文件5.在窗体上先画1个名为Text1的文本框和1个名为Label1的标签,再画1个名为OP1的有4个单选 按钮数组,其Index属性按季度顺序为 0~3(见图1)。在文件sales.txt中按月份顺序存有某企业某年12个月的销售额。要求在程序执行时,鼠标单击1个单选按钮,则Text1中显示 相应季度的销售总额,并把相应的文字显示在标签上。图2是单击“第3季度”单选按钮产生的结果。请填空。CH12 数据文件CH12 数据文件Dim sales(12) As Long Private Sub Form_Load()    open “sales.txt” For Input AS #1    For k=1 To 12    Input #1,sales(k)    Next k   Close #1 End Sub CH12 数据文件CH12 数据文件Private Sub 【 】 (Index AS Integer) Dim sum AS Long ,k AS Ingeger,month AS Ingeger sum=0 : month=Index* 【 】  For k=1 To 3   month=month+1 : sum=sum+sales(month)  Next k  Label1.Caption=Opl(Index). 【 】 & “销售总额:”  Text1=sum End SubOP1 3 CaptionCH12 数据文件CH12 数据文件6.设窗体上有一个名称为CD1的通用对话框,一个名称为Text1的文本框和一个名称为Command1的命令按钮。程序执行时,单击 Command1按钮,则显示打开文件对话框,操作者从中选择一个文本文件,并单击对话框上的“打开”按钮后,则可打开该文本文件,并读入一行文本,显示在Text1中。下面是实现此功能的事件过程,请填空。 CH12 数据文件CH12 数据文件Private Sub Command1_Click() CD1.Filter ="文本文件|*.txt|Word 文档|*.doc" CD1.Filterinder = 1 :CD1.ShowOpen If CD1.FileName<>"“ Then Open 【 】 For Input As #1 Line Input #1,ch$ Close #1 Text1.Text = 【 】 End If End Sub CD1.FileName ch$CH12 数据文件CH12 数据文件7.以下程序的功能是:把顺序文件smtext1.txt的内容全部读入内存,并在文本框Text1中显示出来,请填空。 Private Sub Command1_Click() Dim inData As String Text1.Text = "" Open "smtext1.txt" 【 】 As 【 】 Do While 【 】 Input #2, inData Text1.Text = Text1.Text & inData Loop Close #2 End SubFor Input #2 Not EOF(2)null
/
本文档为【二级VB CH12】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索