VB电子教材07Word文件下载.docx
- 文档编号:21039814
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:44
- 大小:570.91KB
VB电子教材07Word文件下载.docx
《VB电子教材07Word文件下载.docx》由会员分享,可在线阅读,更多相关《VB电子教材07Word文件下载.docx(44页珍藏版)》请在冰豆网上搜索。
(光驱),则驱动器列表框控件drive1的ListCount属性值为5,执行下列语句后在窗体上输出的结果为“a:
c:
d:
e:
f:
”。
Fori%=0ToDrive1.ListCount-1
PrintDrive1.List(i%);
Nexti%
盘驱动器列表框控件常用事件
运行时,当单击驱动器列表框中某一驱动器图标时,该驱动器的名就赋值给控件的Drive属性,同时引发Change事件。
例7-1在窗体上设计一个盘驱动器列表框Drive1、一个标签Label1。
当程序启动时,设置当前驱动器为C盘;
选择盘驱动器列表框中的盘符,在标签上显示相应的当前驱动器信息。
在窗体的Load事件中设置Drive属性的初值、编制事件过程Drive1_Change如下:
PrivateSubForm_Load()
Drive1.Drive="
c:
Label1.Caption="
当前驱动器为:
+Drive1.Drive
EndSub
PrivateSubDrive1_Change()
界面设计和程序运行的情况分别如图7-1a和图7-1b所示。
图7-1a例7-1之界面设计图7-1b例7-1之运行情况
7.1.2目录路径列表框控件
目录路径列表框控件在工具箱中的图标为。
目录路径列表框控件用于显示当前驱动器中文件夹(目录)列表。
如图7-2所示。
其中,突出显示的为当前目录。
目录路径列表框控件缺省的控件名称为:
Dir1、Dir2、……
目录路径列表框控件常用属性
⑴Path属性(字符串类型)
Path属性值为当前目录或所选择的目录名。
如果选中盘x的根目录,则Path属性为"
x:
\"
;
如果选中盘x的某一个子目录y(文件夹),则Path属性为"
\y"
请注意,Path属性值的最后一个字符是否为"
,取决于是否选中根目录。
同Drive属性一样,Path属性只能用程序代码设置,而不能在设计时通过属性窗口设置。
为目录列表框的Path属性赋值的语句格式为:
目录路径列表框名>
.Path[=目录路径名]
图7-2文件夹(目录)列表
运行时单击目录列表框中某一文件夹(目录)图标时,该目录被突出显示,表示被选中。
选中目录则改变目录列表框的ListIndex属性,但是没有改变其Path属性,若要改变Path属性值为所选中的目录路径,应当执行语句:
.Path=<
.List(<
.ListIndex)
List(0)、List
(1)、...、List(ListCount-1)中的字符串为目录路径列表框中所选目录下所有的目录名,该数组由系统自动生成。
ListCount属性值为List数组中的元素个数,即所选目录之下1级目录的数量。
如在图7-2中,若VB98目录下的子目录已全部显示,则Dir1.ListCount属性值为5。
若执行语句:
Fori%=0ToDir1.ListCount-1
PrintDir1.List(i%)
窗体上输出结果为:
\ProgramFile\MicrosoftVisualStudio\VB98\Setup
\ProgramFile\MicrosoftVisualStudio\VB98\Template
\ProgramFile\MicrosoftVisualStudio\VB98\Tsql
\ProgramFile\MicrosoftVisualStudio\VB98\Wizards
\ProgramFile\MicrosoftVisualStudio\VB98\新文件夹
⑷ListIndex属性(整数)
该属性取值范围为-n~ListCount-1,当前目录所对应的ListIndex属性值为-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中,假定当前所选文件夹是VB98:
执行语句“Dir1.ListIndex=2”后文件夹Tsql被突出显示;
执行语句“Dir1.ListIndex=0”后文件夹Setup被突出显示;
执行语句“Dir1.ListIndex=-3”后文件夹ProgramFiles被突出显示,等等。
目录路径列表框控件常用事件
⑴Change事件
每次重新设置或选择改变目录路径列表框的Path属性时,都将引发Change事件。
运行时双击目录路径列表框的列表选项,可改变Path属性值为当前目录名,并执行Change事件。
⑵Click事件
单击选中目录路径列表框控件Dir1的某个目录名,则选中该目录,但Dir1.Path属性没有改变,可以在事件过程Dir1_Click中写入语句“Dir1.Path=Dir1.List(Dir1.ListIndex)”,则可以在选择目录的同时改变Dir1.Path属性为所选目录的路径。
在窗体的Load事件中可以设置Path属性的初值。
例7-2目录路径列表框示例。
界面设计:
在窗体上建立目录路径列表框控件Dir1、三个标签控件(Label1、Label2、Label3)以及一个列表框控件List1。
程序启动时,设置初始当前目录为"
C:
\WINDOWS"
程序运行后,通过鼠标双击Dir1中的列表选项,改变当前目录,同时在三个标签控件上分别显示当前目录、当前ListIndex和ListCount的值,在List1中显示当前目录的所有下一级目录的目录路径信息。
程序的运行情况如图7-3所示。
图7-3双击“MyDocuments”文件夹后的显示
过程设计
编写Form_Load和Dir1_Change事件过程如下:
'
设置Dir1控件的初始路径
Dir1.Path="
'
双击控件Dir1时执行下列事件过程Dir1_Change
PrivateSubDir1_Change()
当前目录:
+Dir1.Path
Label2.Caption="
ListIndex="
+Str(Dir1.ListIndex)
Label3.Caption="
ListCount="
+Str(Dir1.ListCount)
List1.Clear
Fori%=0ToDir1.ListCount-1
List1.AddItemDir1.List(i%)
在双击Dir1前,目录列表框中突出显示的是C:
\WINDOWS目录;
双击“MyDocuments”文件夹后,所选目录和Dir1.Path均改变为“c:
\MyDocuments”。
将下列Click事件过程与上述过程Dir1_Change相比较,可知要实现同样的功能,其中的语句“Dir1.Path=Dir1.List(Dir1.ListIndex)”是必不可少的。
单击控件Dir1时执行该事件过程
PrivateSubDir1_Click()
Dir1.Path=Dir1.List(Dir1.ListIndex)
List1.AddItemDir1.List(I%)
在实际应用中,目录路径列表框Dir1与盘驱动器列表框Drive1有着紧密的关系。
一般情况下,改变盘驱动器列表框中的驱动器名后,目录路径列表框中的目录也要随之改变为该驱动器上的目录。
要实现这样的同步变化,可以在盘驱动器列表框的Change事件中设置如下命令:
Dir1.Path=Drive1.Drive
将用户在盘驱动器列表框中选择的Drive属性,改写目录列表框中的Path属性,使目录列表框中显示所选驱动器下的目录。
7.1.3文件列表框控件
文件列表框控件用于显示当前目录中的文件列表,该控件图标为。
文件列表框控件缺省的控件名称为:
File1、File2、……
文件列表框控件常用属性
同目录路径列表框的Path属性一样,用以设置当前文件列表框内所显示文件的存储路径。
仅在运行时读写,不能在属性窗口中设置。
文件列表框总是显示Path所指示的文件夹中的文件。
若在Form_Load事件中写入语句“File1.Path="
\Windows"
”,则窗体装入后File1显示文件夹C:
\Windows中的文件列表。
⑵Filename属性(字符串类型)
用以设置或返回所选文件的文件名,不能在属性窗口中设置,运行时若在文件列表框中选择文件将改写Filename属性值。
所选文件的全名f$为:
IfRight(File1.Path,1)="
Then
f$=Form1.File1.Path+Form1.File1.FileName
Else
f$=Form1.File1.Path+"
+Form1.File1.FileName
EndIf
在第6章中介绍的通用对话框控件也有同名的FileName属性,请读者注意两者的区别。
同样,在实际应用中,文件列表框也要随着目录路径列表框的改变而变化。
在程序中创建三个控件Drive1、Dir1、File1,并编制下列事件过程,则程序运行时对这些列表框所作选择可以起到调用通用(文件)对话框的作用。
File1.Path=Dir1.Path
⑶Pattern属性(字符串类型)
用以设置文件列表框中文件的显示模式,缺省值为“*.*”。
此属性可以在属性窗口中设置,也可以在程序中通过赋值设置。
字符串中为若干个用分号间隔的文件名,在文件名中可以含有通配符。
例如:
在Form_load事件中写入语句File1.Pattern="
*.exe"
,使File1列表框中只显示所有扩展名为EXE的文件;
写入语句File1.Pattern="
*.dat;
a*.*"
,使File1列表框中只显示所有扩展名为DAT以及文件名首字符为a的文件,等等。
文件列表框控件常用事件
与盘驱动器列表框和目录路径列表框不同的是:
文件列表框能支持PathChange和PatternChange事件,但不能响应Change事件。
PathChange事件
当改变了文件列表框的文件显示路径时,引发PathChange事件。
PatternChange事件
当改变了文件列表框的文件显示模式,即Pattern属性值的改变将引发PatternChange事件。
例7-3在窗体上建立一个盘驱动器列表框Drive1、目录路径列表框Dir1、文件列表框File1、影像框Image1,运行时选择File1中所列的图片文件,则相应图片显示在影像框Image1中。
界面设计,如图7-4所示。
图7-4例7-3之界面设计
过程设计
Drive1.Drive="
设置Drive1的初始盘符
File1.Pattern="
*.bmp;
*.pif"
设置File1的文件显示模式
Dir1.Path=Drive1.Drive'
使Dir1与Drive1同步改变
File1.Path=Dir1.Path'
File1与Dir1同步改变
PrivateSubFile1_Click()'
单击文件列表选项,加载图片
Image1.Picture=LoadPicture(f$)
程序运行的情况如图7-5所示。
图7-5例7-3之运行情况
7.2与文件操作有关的语句
7.2.1直接调用外部可执行文件的Shell方法
调用Shell函数可以执行外部的可执行文件,其扩展名如.exe、.com、.bat或.pif,缺省扩展名为.exe。
不能执行操作系统的内部命令及所有非执行文件(如文档),否则将显示出错信息。
调用shell函数的格式:
CallShell(<
Filename>
[,Windows_style])
或<
变量名>
=Shell(Filename,Windows_style)
其中:
Filename为字符串,是所调用可执行文件的全名。
Windows_style参数用于规定当前窗口与被调用文件窗口的不同状态。
其值为0、1、2、3、4、6的表达式。
函数返回值在Windows9x中无意义,但必须书写,因此格式中的“变量名”是无用但又是必须的。
例7-4将例7-3工程生成为exe文件,保存在D:
盘根目录下,并取名为Tupian,则可用以下方式调用该工程。
PrivateSubCommand1_Click()
x=Shell("
\tupian.exe"
0)
EndSub
例7-5在窗体上添加通用对话框控件Commondialog1、单击命令按钮Command1,打开文件对话框选择扩展名为EXE的文件执行。
界面设计,如图7-6a所示:
图7-6a例7-5之界面设计图7-6b例7-5之运行情况
PrivateSubCommand1_Click()
CommonDialog1.Action=1
x=Shell(CommonDialog1.Filename,0)
若运行时在文件对话框中选择windows中“计算器”文件“calc.exe”,则该程序被调用,如图7-6b所示,关闭计算器窗口后,控制返回到VB应用程序界面。
7.2.2目录和文件操作语句
改变当前盘
格式:
ChDrive<
盘符>
为字符串,即驱动器名。
例7-6确认calc.exe的准确位置如“c:
\windows\calc.exe”(可以通过运行“开始”菜单的“查找”选项确认),下列过程打开该文件。
ChDrive"
改变c:
盘为当前盘
y=Shell("
\windows\calc.exe"
0)'
省略盘符,指当前盘
创建文件夹
MKDir<
文件夹名>
例7-7(先建立1个目录路径列表框以便观察)执行下列事件过程。
PrivateSubcommand1_click()
MKdir"
\aaa"
建立文件夹c:
\aaa
MkDir"
\aaa\bbb"
\aaa\bbb
如果要创建的文件夹已经存在、或所指出的路径是错误的,则执行该过程将产生错误信息。
如上面的两条命令如交换次序,则出现错误,因为在建立文件夹bbb时,所指出的路径c:
\aaa还不存在。
删除文件夹
RMDir<
例7-8(在运行例7-7程序的基础上)执行下列事件过程。
RMdir"
删除文件夹c:
RMDir"
\aaa,如果与上1句交换位置将出错。
如果要删除的文件夹不存在,或是该文件夹下面还有文件、文件夹存在,则该语句将产生错误信息。
改变当前目录
CHDir<
PATH>
例如,执行语句“CHdir"
\vb6"
”,即把c:
\vb6设置为当前目录。
如果要改变的目录不存在,则该语句将产生错误信息。
此外,还有返回当前目录的CurDir函数,其格式为:
CurDir[(盘符)]
改变d:
盘为当前盘。
ChDir"
\hts"
改变默认盘的当前目录为d:
\hts”。
PrintCurDir'
函数CurDir返回值为字符串"
复制文件
FileCopy<
源文件名>
<
目标文件名>
例如,执行语句“FileCopy"
\hts\vb_4.doc"
"
a:
\vb4.doc"
”,可将d:
\hts中的文件vb_4.doc复制到a:
盘,并取名为vb4.doc。
⑴文件名中,缺省盘符指当前盘;
缺省路径指当前目录。
⑵文件名中,不可以缺省文件主名、不可使用通配符。
删除文件
Kill<
文件名>
例如,执行语句“Kill"
”则删除d:
\hts中文件名为vb_4.doc的文件。
⑵文件名中可使用通配符,以删除一批文件。
如执行语句“Kill"
\hts\*.doc"
”,则删除d:
\hts中所有的扩展名为doc的文件。
⑶如果需要删除的文件未找到,系统显示出错信息。
文件改名、移动
Name<
old_name>
as<
new_name>
例如,执行语句“Name"
\hts\aaa.txt"
as"
\bbb.dat"
”后,文件d:
\hts\aaa.txt被改名(在此亦即移动)为d:
\bbb.dat。
缺省盘符为当前盘、缺省路径为当前目录。
如果指定的目录、文件不存在,则该语句将产生错误信息。
如果新文件名与原文件的路径和文件名都不同,则做移动且改名操作。
获取文件属性的函数
GetAttr(<
)函数的返回值是一个整数
x=GetAttr("
)
函数的返回值与对应文件属性值分别如下:
⑴常规属性:
⑵只读属性:
1
⑶隐藏属性:
2
⑷系统属性:
4
⑸文件夹:
16
⑹上次备份后已改变:
32
设置文件属性
SetAttr<
Attributes
SetAttr"
1'
设置文件d:
\bbb.dat为只读文件
SetAttr"
aaa.txt"
2'
设置缺省目录下的文件aaa.txt为隐藏文件
返回文件最后1次修改的日期和时间的函数
FileDateTime(<
)返回值为字符串
例如,执行语句“dt$=FileDateTime("
)”后,如dt$中的字符串为“00-5-23PM4:
18:
26”,表明该文件最后1次修改的日期和时间是2000年5月23日下午4点18分26秒。
检测文件长度的函数
FileLen(<
)返回数值表示文件的字节数
例如,执行语句“PrintFilelen("
\bb.dat"
)”的输出结果为文件bb.dat的字节数。
7.3数据文件的操作
7.3.1文件的基本概念
文件、文件标识符
文件是数据信息在磁盘上的1种存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 电子 教材 07
![提示](https://static.bdocx.com/images/bang_tan.gif)