ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:225.87KB ,
资源ID:12729232      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12729232.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VB电子教材.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VB电子教材.docx

1、VB电子教材第7章 文 件通过前几章的学习,使我们了解,利用VB可以编写一些用于科学计算、图形处理等方面的程序。不仅如此,VB还广泛地应用于编制如人事、财务、生产、教学等各方面的管理程序,在这类应用中,通常需要处理大量不同类型的数据信息,而这些数据信息常常需要独立存储在某种介质上如磁盘等,以便需要时通过程序来加工处理,这种独立存储的数据集合就称为文件。因此,掌握文件的概念及其使用方法是VB程序设计的重要内容之一。7.1 与文件操作有关的控件在Windows应用程序中翻开文件或保存文件时,通常需要翻开一个对话框,用于选择文件所在的驱动器盘、文件夹目录、文件名。在VB中,使用盘驱动器列表框Driv

2、eListBox、目录路径列表框DirListBox以及文件列表框FileListBox这3种控件的组合,可以创立类似Windows资源管理器的文件操作对话框,用于选择文件。7.1.1 盘驱动器列表框控件盘驱动器列表框控件用于显示驱动器列表,工具箱中该控件图标为 。该控件缺省的名称为:Drive1、Drive2、 盘驱动器列表框控件常用属性 Drive属性字符串类型用来设置当前驱动器或返回所选择的驱动器名。Drive属性只能在程序运行时赋值,而不能通过属性窗口设置。为驱动器列表框的Drive属性赋值的语句格式为:.Drive=驱动器名格式中的“驱动器名为指定的驱动器,也就是说使该驱动器成为当前

3、驱动器;如果省略,那么不改变当前驱动器。如果所指定的驱动器在系统中不存在,那么产生错误。程序运行时假设选择驱动器,那么Drive属性值改写为所选择的驱动器名。如运行时单击驱动器列表框控件drive1中D:盘图标,那么dr的值为d:。值得注意的是:盘驱动器列表框中显示的驱动器名都是由系统自动生成的,用户只能通过列表框选择使用,不可以对Drive控件使用AddItem、RemoveItem等方法添加或删除列表项。 List属性字符串数组List数组的每一个元素中的字符串,为1个驱动器名,数组下标从0开始。 ListCount属性正整数ListCount属性值表示系统中盘驱动器的个数。假设系统有驱动

4、器a:、c:、d:、e:、f:光驱,那么驱动器列表框控件drive1的ListCount属性值为5,执行以下语句后在窗体上输出的结果为“a: c: d: e: f:。For i%=0 To Drive1.ListCount - 1 Print Drive1.List(i%);Next i% 盘驱动器列表框控件常用事件运行时,当单击驱动器列表框中某一驱动器图标时,该驱动器的名就赋值给控件的Drive属性,同时引发Change事件。例7-1 在窗体上设计一个盘驱动器列表框Drive1、一个标签Label1。当程序启动时,设置当前驱动器为C盘;选择盘驱动器列表框中的盘符,在标签上显示相应的当前驱动器

5、信息。在窗体的Load事件中设置Drive属性的初值、编制事件过程Drive1_Change如下:Private Sub Form_Load()Drive1.Drive = c:End SubPrivate Sub Drive1_Change()End Sub界面设计和程序运行的情况分别如图7-1a和图7-1b所示。图7-1a 例7-1之界面设计 图7-1b 例7-1之运行情况7.1.2 目录路径列表框控件目录路径列表框控件在工具箱中的图标为 。目录路径列表框控件用于显示当前驱动器中文件夹目录列表。如图7-2所示。其中,突出显示的为当前目录。目录路径列表框控件缺省的控件名称为:Dir1、Dir

6、2、 目录路径列表框控件常用属性 Path属性字符串类型Path属性值为当前目录或所选择的目录名。如果选中盘x的根目录,那么Path属性为x:;如果选中盘x的某一个子目录y文件夹,那么Path属性为x:y。请注意,Path属性值的最后一个字符是否为,取决于是否选中根目录。同Drive属性一样,Path属性只能用程序代码设置,而不能在设计时通过属性窗口设置。为目录列表框的Path属性赋值的语句格式为:.Path=目录路径名图7-2 文件夹目录列表运行时单击目录列表框中某一文件夹目录图标时,该目录被突出显示,表示被选中。选中目录那么改变目录列表框的ListIndex属性,但是没有改变其Path属性

7、,假设要改变Path属性值为所选中的目录路径,应当执行语句:.Path = .List(.ListIndex) List属性字符串数组List(0)、List(1)、.、List(ListCount-1)中的字符串为目录路径列表框中所选目录下所有的目录名,该数组由系统自动生成。 ListCount属性正整数ListCount属性值为List数组中的元素个数,即所选目录之下1级目录的数量。如在图7-2中,假设VB98目录下的子目录已全部显示,那么Dir1.ListCount属性值为5。假设执行语句:For i%=0 To Dir1.ListCount - 1 Print Dir1.List(i%

8、)Next i%窗体上输出结果为:c:Program FileMicrosoft Visual StudioVB98Setupc:Program FileMicrosoft Visual StudioVB98Templatec:Program FileMicrosoft Visual StudioVB98Tsqlc:Program FileMicrosoft Visual StudioVB98Wizardsc:Program FileMicrosoft Visual StudioVB98新文件夹 ListIndex属性整数该属性取值范围为 -nListCount-1,当前目录所对应的ListI

9、ndex属性值为-1,当前目录的上1级目录所对应的ListIndex属性值为-2,其中的n反映了当前目录在目录层次中的深度。Path属性值也可以通过在事件过程的程序代码中重新定义Dir控件的ListIndex属性来选择设置: Dir1.ListIndex=2 选当前目录下1级目录中的第3个目录为当前目录文件夹 Dir1.ListIndex=0 选当前目录下1级目录中的第1个目录为当前目录。 Dir1.ListIndex=-2 选当前目录上1级目录为当前目录。 Dir1.ListIndex=-3 选当前目录上2级目录为当前目录。假设要改变的当前目录不存在,那么显示出错信息。如在图7-2中,假定当

10、前所选文件夹是VB98:执行语句“Dir1.ListIndex=2后文件夹Tsql被突出显示;执行语句“Dir1.ListIndex=0后文件夹Setup被突出显示;执行语句“Dir1.ListIndex=-3后文件夹Program Files被突出显示,等等。 目录路径列表框控件常用事件 Change事件每次重新设置或选择改变目录路径列表框的Path属性时,都将引发Change事件。运行时双击目录路径列表框的列表选项,可改变Path属性值为当前目录名,并执行Change事件。 Click事件单击选中目录路径列表框控件Dir1的某个目录名,那么选中该目录,但属性没有改变,可以在事件过程Dir1

11、_Click中写入语句“Dir1.Path = Dir1.List(Dir1.ListIndex),那么可以在选择目录的同时改变D属性为所选目录的路径。在窗体的Load事件中可以设置Path属性的初值。例7-2 目录路径列表框例如。 界面设计:在窗体上建立目录路径列表框控件Dir1、三个标签控件Label1、Label2、Label3以及一个列表框控件List1。程序启动时,设置初始当前目录为C:WINDOWS;程序运行后,通过鼠标双击Dir1中的列表选项,改变当前目录,同时在三个标签控件上分别显示当前目录、当前ListIndex和ListCount的值,在List1中显示当前目录的所有下一级

12、目录的目录路径信息。程序的运行情况如图7-3所示。图7-3 双击“My Documents文件夹后的显示 过程设计编写Form_Load和Dir1_Change事件过程如下:Private Sub Form_Load() 设置Dir1控件的初始路径Dir1.Path = C:WINDOWSEnd Sub 双击控件Dir1时执行以下事件过程Dir1_ChangePrivate Sub Dir1_Change()Label2.Caption = ListIndex= + Str(Dir1.ListIndex)Label3.Caption = ListCount= + Str(Dir1.ListCo

13、unt)For i% = 0 To Dir1.ListCount - 1 List1.AddItem Dir1.List(i%)Next i%End Sub在双击Dir1前,目录列表框中突出显示的是C:WINDOWS目录;双击“My Documents文件夹后,所选目录和D均改变为“c: My Documents。将以下Click事件过程与上述过程Dir1_Change相比拟,可知要实现同样的功能,其中的语句“Dir1.Path = Dir1.List(Dir1.ListIndex)是必不可少的。 单击控件Dir1时执行该事件过程Private Sub Dir1_Click() Dir1.Pa

14、th = Dir1.List(Dir1.ListIndex)Label1.Caption = 当前目录: + DLabel2.Caption = ListIndex= + Str(Dir1.ListIndex)Label3.Caption = ListCount= + Str(Dir1.ListCount)For i% = 0 To Dir1.ListCount - 1 List1.AddItem Dir1.List(I%)Next i%End Sub在实际应用中,目录路径列表框Dir1与盘驱动器列表框Drive1有着紧密的关系。一般情况下,改变盘驱动器列表框中的驱动器名后,目录路径列表框中的

15、目录也要随之改变为该驱动器上的目录。要实现这样的同步变化,可以在盘驱动器列表框的Change事件中设置如下命令: 将用户在盘驱动器列表框中选择的Drive属性,改写目录列表框中的Path属性,使目录列表框中显示所选驱动器下的目录。7.1.3 文件列表框控件文件列表框控件用于显示当前目录中的文件列表,该控件图标为 。文件列表框控件缺省的控件名称为:File1、File2、 文件列表框控件常用属性 Path属性字符串类型同目录路径列表框的Path属性一样,用以设置当前文件列表框内所显示文件的存储路径。仅在运行时读写,不能在属性窗口中设置。文件列表框总是显示Path所指示的文件夹中的文件。假设在Fo

16、rm_Load事件中写入语句“File1.Path=C:Windows,那么窗体装入后File1显示文件夹C:Windows中的文件列表。 Filename属性字符串类型用以设置或返回所选文件的文件名,不能在属性窗口中设置,运行时假设在文件列表框中选择文件将改写Filename属性值。所选文件的全名f$为: If Right(File1.Path, 1) = Then Else End If在第6章中介绍的通用对话框控件也有同名的FileName属性,请读者注意两者的区别。同样,在实际应用中,文件列表框也要随着目录路径列表框的改变而变化。在程序中创立三个控件 Drive1、Dir1、File1

17、,并编制以下事件过程,那么程序运行时对这些列表框所作选择可以起到调用通用文件对话框的作用。Private Sub Drive1_Change()End SubPrivate Sub Dir1_Change()End Sub Pattern属性字符串类型用以设置文件列表框中文件的显示模式,缺省值为“*.*。此属性可以在属性窗口中设置,也可以在程序中通过赋值设置。字符串中为假设干个用分号间隔的文件名,在文件名中可以含有通配符。例如:在Form_load事件中写入语句 rn=*.exe,使File1列表框中只显示所有扩展名为EXE的文件;写入语句 rn=*.dat;a*.*,使File1列表框中只显

18、示所有扩展名为DAT以及文件名首字符为a的文件,等等。 文件列表框控件常用事件与盘驱动器列表框和目录路径列表框不同的是:文件列表框能支持PathChange和PatternChange事件,但不能响应Change事件。 PathChange事件当改变了文件列表框的文件显示路径时,引发PathChange事件。 PatternChange事件当改变了文件列表框的文件显示模式,即Pattern属性值的改变将引发PatternChange事件。例7-3 在窗体上建立一个盘驱动器列表框Drive1、目录路径列表框Dir1、文件列表框File1、影像框Image1,运行时选择File1中所列的图片文件,

19、那么相应图片显示在影像框Image1中。 界面设计,如图7-4所示。图7-4 例7-3之界面设计 过程设计 Private Sub Form_Load() Drive1.Drive = c: 设置Drive1的初始盘符 File1.Pattern = *.bmp;*.pif 设置File1的文件显示模式End SubPrivate Sub Drive1_Change() Dir1.Path = Drive1.Drive 使Dir1与Drive1同步改变End SubPrivate Sub Dir1_Change() File1.Path = Dir1.Path File1与Dir1同步改变En

20、d SubPrivate Sub File1_Click() 单击文件列表选项,加载图片th, 1) = Then Else End If Image1.Picture = LoadPicture(f$)End Sub程序运行的情况如图7-5所示。图7-5 例7-3之运行情况7.2 与文件操作有关的语句7.2.1 直接调用外部可执行文件的Shell方法调用Shell函数可以执行外部的可执行文件,其扩展名如.exe、 、.bat或.pif,缺省扩展名为.exe。不能执行操作系统的内部命令及所有非执行文件如文档,否那么将显示出错信息。调用shell函数的格式: Call Shell(,Window

21、s_style)或 =Shell(Filename,Windows_style)其中:Filename为字符串,是所调用可执行文件的全名。Windows_style参数用于规定当前窗口与被调用文件窗口的不同状态。其值为0、1、2、3、4、6的表达式。函数返回值在Windows9x中无意义,但必须书写,因此格式中的“变量名是无用但又是必须的。例7-4 将例7-3工程生成为exe文件,保存在D:盘根目录下,并取名为Tupian,那么可用以下方式调用该工程。 Private Sub Command1_Click() x = Shell(d:tupian.exe,0) End Sub例7-5 在窗体上

22、添加通用对话框控件Commondialog1、单击命令按钮Command1,翻开文件对话框选择扩展名为EXE的文件执行。 界面设计,如图7-6a所示:图7-6a 例7-5之界面设计 图7-6b 例7-5之运行情况 过程设计 Private Sub Command1_Click() = 1 lename,0) End Sub 假设运行时在文件对话框中选择windows中“计算器文件“,那么该程序被调用,如图7-6b所示,关闭计算器窗口后,控制返回到VB应用程序界面。7.2.2 目录和文件操作语句 改变当前盘 格式: ChDrive 其中:为字符串,即驱动器名。例7-6 确认的准确位置如“c:wi

23、ndows可以通过运行“开始菜单的“查找选项确认,以下过程翻开该文件。 Private Sub Command1_Click() ChDrive c: 改变c:盘为当前盘 y = Shell(windowscalc.exe, 0) 省略盘符,指当前盘 End Sub 创立文件夹格式: MKDir 例7-7 先建立1个目录路径列表框以便观察执行以下事件过程。 Private Sub command1_click() MKdir c:aaa 建立文件夹c:aaa MkDir c:aaabbb 建立文件夹c:aaabbb End Sub如果要创立的文件夹已经存在、或所指出的路径是错误的,那么执行该过

24、程将产生错误信息。如上面的两条命令如交换次序,那么出现错误,因为在建立文件夹bbb时,所指出的路径c:aaa还不存在。 删除文件夹格式: RMDir 例7-8 在运行例7-7程序的根底上执行以下事件过程。 Private Sub Command1_Click() RMdir c:aaabbb 删除文件夹c:aaabbb RMDir c:aaa 删除文件夹c:aaa,如果与上1句交换位置将出错。 End Sub如果要删除的文件夹不存在,或是该文件夹下面还有文件、文件夹存在,那么该语句将产生错误信息。 改变当前目录格式: CHDir 例如,执行语句“CHdir c:vb6,即把c:vb6设置为当前

25、目录。如果要改变的目录不存在,那么该语句将产生错误信息。此外,还有返回当前目录的CurDir函数,其格式为: CurDir(盘符)例如: ChDrive d: 改变d:盘为当前盘。 ChDir hts 改变默认盘的当前目录为d:hts。 Print CurDir 函数CurDir返回值为字符串d:hts。 复制文件格式: FileCopy ,例如,执行语句“FileCopy d:htsvb_4.doc,a:vb4.doc,可将d:hts中的文件复制到a:盘,并取名为。 文件名中,缺省盘符指当前盘;缺省路径指当前目录。 文件名中,不可以缺省文件主名、不可使用通配符。 删除文件格式: Kill 例

26、如,执行语句“Kill d:htsvb_4.doc那么删除d:hts中文件名为的文件。 文件名中,缺省盘符指当前盘;缺省路径指当前目录。 文件名中可使用通配符,以删除一批文件。如执行语句“Kill d:hts*.doc,那么删除d:hts中所有的扩展名为doc的文件。 如果需要删除的文件未找到,系统显示出错信息。 文件改名、移动格式: Name as 例如,执行语句“Name d:htsaaa.txt as d:bbb.dat后,文件被改名在此亦即移动为。缺省盘符为当前盘、缺省路径为当前目录。如果指定的目录、文件不存在,那么该语句将产生错误信息。如果新文件名与原文件的路径和文件名都不同,那么做

27、移动且改名操作。 获取文件属性的函数格式:GetAttr() 函数的返回值是一个整数例如: x = GetAttr(d:bbb.dat)函数的返回值与对应文件属性值分别如下: 常规属性:0 只读属性:1 隐藏属性:2 系统属性:4 文件夹:16 上次备份后已改变:32 设置文件属性格式: SetAttr ,Attributes例如:SetAttr d:bbb.dat,1 设置文件为只读文件 SetAttr aaa.txt,2 设置缺省目录下的文件为隐藏文件 返回文件最后1次修改的日期和时间的函数格式:FileDateTime() 返回值为字符串例如,执行语句“dt$=FileDateTime(

28、d:bbb.dat)后,如dt$中的字符串为“00-5-23 PM 4:18:26,说明该文件最后1次修改的日期和时间是2000年5月23日下午4点18分26秒。 检测文件长度的函数格式:FileLen() 返回数值表示文件的字节数例如,执行语句“Print Filelen(d:bb.dat)的输出结果为文件的字节数。7.3 数据文件的操作7.3.1 文件的根本概念 文件、文件标识符文件是数据信息在磁盘上的1种存储结构。计算机系统中的不同文件以不同的文件标识符区分,文件标识符即文件全名,包括存储路径、主名、扩展名3局部组成。在使用顺序文件时应注意以下几点: 顺序文件在翻开时必须指定对文件的操作

29、方式Input、Output、Append,翻开后只能对文件按指定的方式进行操作。每翻开一次文件,只能进行单一的一种操作。 顺序文件以Output方式翻开后,总是从文件的开头写,使用这种方式翻开一个已经存在的文件,磁盘上的原有同名文件将被覆盖、其中的数据将会丧失; 顺序文件以Append方式翻开后,总是从文件的末尾写,磁盘上的原有同名文件中的数据仍然存在; 顺序文件以Input方式翻开后,总是从文件的开头读文件,即使需要的是最后一行内容也必须如此。 文件的存储格式按文件的存储格式,可以把文件分为以下几种。 ASCII字符、正文文件:按字符的ASCII码存储,每个字符占1个字节。 二进制文件,按数据的机内码存储,每个数据所占存储空间为该类型数据的字节数。3. 文件的存取方式按文件的存取方式,可以把文件分为以下几种。 顺序文件:必须在顺序访问文件中某个数据前物理位置的所有数据后,才可以访问该数据。 随机文件:可以直接访问文件中的任何1个数据。ASCII文件中的数据进入内存要转换为二进制形式,计算机处理的效率不如二进制文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1