最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

VB创建一个文件夹

来源:动视网 责编:小OO 时间:2025-09-29 19:45:30
文档

VB创建一个文件夹

★用VB在硬盘上创建一个文件夹:Mkdir语句。格式:Mkdir"路径及文件夹名"mkdir"c:\\windows\\desktop\\李新宁"在桌面上创建个名为"李新宁"的文件夹又如:PrivateSubCommand2_Click()MkDir"c:\\windows\\desktop\\mydir"EndSub如果缺省路径,则为本VB程序的当前路径,如:mkdir"mydir",在当前目录下创建一个文件夹,名为mydir.用VB删除一个文件夹(空文件夹):RmDir语句,格式:rmdi
推荐度:
导读★用VB在硬盘上创建一个文件夹:Mkdir语句。格式:Mkdir"路径及文件夹名"mkdir"c:\\windows\\desktop\\李新宁"在桌面上创建个名为"李新宁"的文件夹又如:PrivateSubCommand2_Click()MkDir"c:\\windows\\desktop\\mydir"EndSub如果缺省路径,则为本VB程序的当前路径,如:mkdir"mydir",在当前目录下创建一个文件夹,名为mydir.用VB删除一个文件夹(空文件夹):RmDir语句,格式:rmdi
★ 用VB在硬盘上创建一个文件夹:Mkdir语句。格式:

Mkdir "路径及文件夹名"

mkdir "c:\\windows\\desktop\\李新宁" 在桌面上创建个名为"李新宁"的文件夹

又如: Private Sub Command2_Click()

MkDir "c:\\windows\\desktop\\mydir"

End Sub

如果缺省路径,则为本VB程序的当前路径,如:mkdir "mydir",在当前目录下创建一个文件夹,名为mydir.

用VB删除一个文件夹(空文件夹):RmDir语句,格式:

rmdir "路径及文件夹名" 

用法与上面类似,此不再说明.如果一个文件夹内有文件,那么,要先用KILL语句删除文件,再用rmdir删除文件夹。格式:

kill "路径及文件名"

在路径及文件名中,省略路径则指当前路径,并可用通配符"*"和"?"来删除多个文件,如:kill "*.txt" ,将当前目录下的所有文本文件全部删除。注意:KILL语句删除的文件不会放入回收站。

在调用函数或过程时,该函数或过程如果作为表达式,则其实参要括号,如果调用时是作为语句,实参则不要括号。下面两句是等价的。

SetWindowTextA Form1.hwnd, "API函数修改标题栏文字" --函数语句

Call SetWindowTextA(Form1.hwnd, "API函数修改标题栏文字") --函数为表达式

API调用格式中的 lib"库名" 有一点要注意,如果不是调用Windows\\system文件夹下的DLL库,则要指明路径名,如:

public declare function lxnsdll lib "d:\\student\\mydll.dll"(byval a as integer,byval b as integer) as long

在程序中窗体的运行位置是用一个叫做"窗体布局"的窗口来调整的,可否用另外的替代法,而不用这个不精确的"窗体布局"窗口呢?

当然可以,那就是在代码中,例如要使窗体居于显示器,有两个新属性变量,screen.width和screen.height,分别表示本显示器的屏幕宽度(screen.width)和显示器高度(screen.height).用屏幕宽度减去窗体FORM1宽度再除以2,就可得到FORM的left左边距了(也就是横坐标吧),用屏幕高度减FORM1高度再除以2。就可得到FORM的top上边距了(纵坐标),这样便可居中,如下:

Form1.Left = (Screen.Width - Form1.Width) / 2

Form1.Top = (Screen.Height - Form1.Height) / 2

VB基本概念:对象--对象是具有某些特性的具体事物的抽象。

我在使用VB时遇到一个问题,我想用一个组框(frame1)将几个按纽括在一起,可是当组框画上去后却会把按纽都覆盖掉。按纽不见了(在frame1图层下面),怎么办?什么办法可以决定几个对象重合时,哪个在上,哪个在下?办法如下:1,选中要改变图层前后的对象;2,在"格式"菜单中"顺序"菜单项中选"置前"(在上面)或"置后"(在下面)即可。另外,在代码中也可以,用zorder方法,格式:

对象名.zorder 0或1(0为置前,1为置后)

frame1.zorder 1

重点笔记: 事件

在WINDOWS中最主要的事件就是鼠标事件,特别是其中的click单击事件,此外还有dblclick事件:双击事件,用法与click一样。

mousedown事件:鼠标按下时发生,有一个值得注意的参数button,它返回按下鼠标左键还是鼠标右键,采用if button=vbleftbutton...代码来写。

mouseup事件:鼠标先按下然后抬起时发生,用法与mousedown一样。

mousemove事件:鼠标经过时发生。

第二类的事件就是键盘事件,这类事件的掌握要加强。一个控件得到焦点后,就可以触发这一类事件,有以下几种:

keydown事件:按下键盘上某个键时发生。但键盘上键那么多,需要用它返回的keycode参数来指明按了哪个键,例下:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyB Then

Print "你按下了字母B"

ElseIf KeyCode = vbKeyF1 Then

Print "你按下了F1键"

End If

End Sub

注:在keycode参数中,主键盘上的数字键和数字小键盘上的数字键是不同的,主键盘上用vbkey0-vbkey9表示,而小键盘上的键用vbkeyNumpad0-vbkeyNumpad9来表示。

keyup事件:松开按键时发生,与keydown事件用法一样。

keypress事件:按下某个键接着松开这个键时发生。注意,它的参数与keydown及keyup不同,它是采用字符ASCII码的方式,即用一个叫Keyascii的参数名,可以区分大小写,但有些功能键不能用。

if keyascii=0到255的一个整数 then ...来写,例如:

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 120 Then '120是小写字母x的ASCII码值

Unload Me

ElseIf KeyAscii < 48 Or KeyAscii > 57 Then '数字键的ASCII码在这个范围内

MsgBox ("你输入的不是数字"), 48

End If

End Sub

其他重要的事件有:

change事件:当对象的内容改变时发生。

gotfocus事件:当焦点从一个对象移动到当前对象时,当前对象发生gotfocus事件。

lostfocus事件:当焦点从当前对象移出时,当前对象会发生lostfocus事件。

★ keydown事件和keypress事件有什么实际运用上的差别?keydown多常用于功能键(如F1),需要shift,ctrl,Alt+字符键的"组合键",区分数字小键盘和常规数字键等keypress所不能的情况,keypress以ASCII码来区分按键,侧重"键的内容",而keydown和keyup侧重"键的位置"。

我想在文本框中只能输入数字,怎么办最方便?可用keypress事件,如下:

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii < 48 Or KeyAscii > 57 Then

KeyAscii = 0 等于0表示没按键,它在text1对象text属性接入字符前产生,因

Beep 此可输入。

End If

End Sub

集合(collection):用来存储类似数组的一组同类变量,它与数组不同的是,集合是一种对象,它不仅可通过索引值来访问其中的元素,还可通过关健字来访问其中元素。声明格式:

DIM(或PUBLIC) 集合名 as new collection

dim lxn as new collection

既然集合是一个对象,就用方法和属性去操作它,有三个方法和一个属性:

ADD方法:添加元素到集合对象中;格式:

集合名.add 元素内容,关健字,添加到…前,添加到…后(添加位置)

lxn.add 23,"李新宁", ,"李冬冬"

上例表示在集合中"李冬冬"关健字所对应元素后面添加"李新宁"为关健字的元素23(我是想表示年纪)。

REMOVE方法:删除一个元素;

集合名.remove "关健字或索引位置"

lxn.remove "李新宁" 或 lxn.remove 5 (如果元素"23"的索引号为5)

索引值是VB自动给每个集合元素添加的,从第1个元素索引号为1开始。

ITEM方法:引用集合对象中的元素,可省略,格式: 集合名.item(关健字)

省略为:集合名(关健字或索引位置)

x=lxn("李新宁") x就等于23。

也可用索引位置,如 x=lxn(5)(如果"李新宁"所对元素的索引为5),索引位置(其实就是下标)最小从1开始。

COUNT属性:返回集合中的元素个数。格式:集合名.count.如y=lxn.count,y就等于集合中元素个数。

自定义过程:Private(或public,static) sub 过程名(形参)

……

end sub

调用:Call 过程名(实参) 或 过程名 实参

自定义函数:private(或public,static) function 函数名(形参)as 类型

……

函数名=值

end function

调用:函数名(实参) 为一个确定值, 

上面函数与过程区别是:函数一定有返回值,所以定义时要指明(返回值)类型,并在函数过程中设定"函数名=值"来确定返回值。调用函数时如果也用CALL,则函数的返回值就失去意义(这样合是合法)。

★ 基本的类操作:类形象理解为"控件"即可,创建一个类,也就是自已创建一个象工具箱中控件那样的"新"控件。自己设置添加它的属性,方法。只不过自己发明的新控件没有图标,所有属性,方法,事件只能在代码中进行而已。

类是用来创建对象实例的模板。

1,在"工程"菜单中选"添加类模块"。在属性窗口修改它的"(名称)"属性为想要的名字,这个名字将作为这个类(为好理解,叫成"新控件")的名字。

2,制作新控件属性:在类模块中通用部分(此时全都是)用Public声明一群变量,要指明具体类型,这些所有变量就成了新控件的属性。就这么简单。

3,制作新控件方法:在类模块中建立新过程(用public sub...end sub或public function...end function),这些过程名将作为新控件的方法名。在过程里编写新控件功能的代码。

4,编写类模块事件,类模块事件只有initialize和terminate两种。当我们在程序中用"新控件"创建一个对象时,在刚刚创建一刹那,触发这里的initialize事件,这个事件可处理对象实例创建时需要处理的初始化。

新控件的运用:如何使用自己新做的"控件"呢?因为它没有在工具箱中的图标,不可直按"画"到窗体上,而要完全在代码中进行。

1,在通用部分声明一个对象变量,使它指向"新控件"。如Dim lxn As class1

class1是我自定的"新控件"名。注意:此时只是声明变量lxn为对象变量,但并没有具体代表哪个对象,要用SET语句来确定对象变量的值。用set…new…新建类模块对象。

2,在FORM LOAD事件中创建一个"新控件"的对象,用SET…NEW语句,

set 对象变量=new 新控件

set lxn=new class1

这时,对象变量名就成了创建的对象的名字(注:没有NEW是普通的赋值,有NEW就是新建对象)。

3,进行对象可进行的各种操作。如:lxn.condition=true

下面是自制一个"跑表"控件的例子。

A ,类模块中:

Option Explicit

Public timectl As Date '这三个变量作为"跑表"类的属性

Public condition As Boolean 'timectl为时间长度,condition为计时/停止状态

Public starttime As Date 'starttime为基准时间

Public Sub start() '开始计时方法

condition = True

starttime = Time starttime赋值为系统时钟的当前时间 

End Sub

Public Sub stoptime() '停止计时方法

Dim lxn As Date

condition = False

lxn = Time - starttime 时间差

timectl = timectl + lxn 进行多次调用该过程时累积时间长度

End Sub

Public Sub reset() '清0方法

condition = False

timectl = 0

starttime = Time

End Sub

Private Sub Class_Initialize() 供新建实例时初始化

starttime = Time

timectl = Time - starttime

condition = False

End Sub

B,程序中:

Dim mywatch As myclass 声明对象变量将指向myclass创建的实例

Private Sub Command1_Click()

Set mywatch = New myclass 重新新建

Text1.Text = mywatch.timectl

End Sub

Private Sub Command2_Click()

Select Case mywatch.condition

Case False

mywatch.start

Text1.Text = "on......"

Case True

mywatch.stoptime

Text1.Text = mywatch.timectl

End Select

End Sub

Private Sub Form_Load()

Set mywatch = New myclass 新建对象

Text1.Text = mywatch.timectl

End Sub

★ 程序中的APP对象,它主要提供如本程序的标题,版本信息,路径等有时很必要的信息,常用属性有:

App.Title:返回本程序的标题。

App.Path:返回本程序所在的路径。与curdir不完全相同,curdir是指当前路径。如果1个程序创建了快捷方式,则App.path和curdir就可能不同了。应以App.path为准。

App.EXEname:返回本程序不含扩展名的根名

如何在VB中控制关机?除了以前讲到的exitwindowsex函数外,还有一种更简单的方法,只要在你需要的地方,比如按扭等等,在事件过程中加入 

Shell "rundll32.exe user.exe,exitwindows" 就可以了。对WIN2000无效!

在VB中可打开控制面板,由用户进行设置,打开主面板:在事件过程中写

x = Shell("rundll32.exe shell32.dll,Control_RunDLL",1) 

也可打开各个具体项目,如

x = Shell("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl", 1)

打开的是控制面板中"多媒体"项。而

x = Shell("rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5", 1)

打开的是"辅助选项"项目。而

x = Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2", 1)显示的是"显示器"项目(中的"外观"选项卡,注:各个选项卡由尾部参数决定,这里是2)。

在文本输入时,我们可通过设置ASCII码的chr(13)+chr(10)来使文本换行,而在VB程序中,可用一个常数vbCrLf来代替这两个ASCII码表示换行,如:

text1.text="您如果需要的话" & chr(13)+chr(10) & "可以来找我"

可写为: text1.text="您如果需要的话" & vbCrLf & "可以来找我"

关于在VB程序中用键盘的问题:1,很多控件运行时的使用都可以采用在其caption属性中写"& 快捷键"的方式指定键盘访问键(如菜单,按纽,复选框,选项按纽等等) 2,TAB键常用来对各对象间的切换。

3,设计时改变选定对象的大小:Shift+方向键;

设计时改变选定对象的位置:Ctrl+方向键。

文档

VB创建一个文件夹

★用VB在硬盘上创建一个文件夹:Mkdir语句。格式:Mkdir"路径及文件夹名"mkdir"c:\\windows\\desktop\\李新宁"在桌面上创建个名为"李新宁"的文件夹又如:PrivateSubCommand2_Click()MkDir"c:\\windows\\desktop\\mydir"EndSub如果缺省路径,则为本VB程序的当前路径,如:mkdir"mydir",在当前目录下创建一个文件夹,名为mydir.用VB删除一个文件夹(空文件夹):RmDir语句,格式:rmdi
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top