职教Visual Basic程序设计教案:第五章 常用控件与应用程序典型窗体的程序设计

职教Visual Basic程序设计教案:第五章 常用控件与应用程序典型窗体的程序设计
职教Visual Basic程序设计教案:第五章 常用控件与应用程序典型窗体的程序设计

第五章常用控件与应用程序典型窗体的程序设计

在系统地学习了前四章内容的基础上,从本章开始我们就可以一边学习VB的常用控件,一边深入地学习应用程序的开发与研制技术。本章所选的创建窗体与编程的例题,都是企业实际运行的数据库应用软件中的典型实例的简化,其中凝聚了颜华城教授长期承担开发企业计算机管理信息系统的丰富经验。认真学习和掌握应用程序典型窗体的程序设计,将有助于学习者尽快地胜任计算机应用软件的开发与程序设计的实际工作。

【本章教学目标】

知识点:

1. 常用控件的作用、属性、方法。

2.常用控件的属性及方法的设置。

3. 在程序开发中用户操作权限及操作密码的设计方法。

4. 主控模块的编制方法。

5. 应用程序模块的设计方法。

技能点:

1.理解并能正确设置常用控件的属性。

2.熟悉并基本掌握应用程序的设计过程、熟练掌握功能模块的

设计方法。

3.熟练掌握数据输入、数据校验的模块编制方法。

4. 正确掌握应用系统安全权限的原理及实现手段。

5. 熟练掌握利用应用程序对数据库数据的操作(增加、修改、查找、删除数据)。

6. 了解常用对话框的作用及设置方法。

§5.1 组合框、列表框和日历控件【教学目标】

使学习者能够掌握基本常用控件的创建和使用方法。

【教学要求】

了解:组合框和列表框的作用。

理解:ComboBox(组合框)的三种不同风格。

掌握:组合框和列表框的属性及方法的设置方法。

【本节重点】

向组合框和列表框中添加元素及删除元素的方法。

一、ComboBox(组合框)和ListBox(列表框)

ComboBox(组合框)和ListBox(列表框)都是VB的两个标准控件,也都是应用程序中经常出现的选择性控件,两者的功能、属性和方法基本相同,主要区别是二者的显示形式不完全相同并且ListBox(列表框)控件中没有正文框。在应用程序中二者的使用方法也有所不同,ComboBox(组合框)通常作为人机交互的控件摆放在窗体中,而ListBox(列表框)通常在设计时加以隐藏,直至在应用程序运行过程中当需要输入某项数据时再弹出列表,供用户选择输入数据。

ComboBox(组合框)由一个正文框和一个列表框组合而成,ComboBox(组合框)的列表框用于列出可供用户选择的数据项,当列表框中没有用户所需选项时,允许用户在文本框中输入数据项,但输入的内容不能自动添加到列表框中。若用户选择了列表框中的内容,该内容会被自动装入文本框中。

ListBox(列表框)比较简单,它通过显示多个选项供用户选择,如果选择项太多,系统会自动加上滚动条。

1、ComboBox(组合框)的三种不同风格

组合框具有三种不同的风格,即下拉式组合框、简单组合框和下拉式列表框,此风格由其Style属性决定,图5.1由左至右分别展示下拉式组合框、简单组合框和下拉式列表框的样式。

图 5.1

(1)下拉式组合框

当组合框的Style属性为0(系统默认)时,组合框为下拉式组合框。其特点是显示在屏幕上的是文本编辑框和下拉式箭头,用户可以在文本框内键入内容,也可单击下拉箭头,打开列表框供用户进行选择。

(2)简单组合框

当组合框的Style属性为1时,组合框为简单组合框。其特点是组合框中没有下拉箭头,列表框不能被收起和拉下,列表框中会自动列出所有项目供用户选择。简单组合框也允许用户在文本框内输入列表框中没有的内容。

(3)下拉式列表框

当组合框的Style属性为2时,组合框为下拉式列表框。其特点是:不能在文本框内输入列表框中没有的内容。

2、ComboBox(组合框)和ListBox(列表框)常用的属性

(1)List属性

List属性是一个字符型数组,该数组存放列表框中的项目。List数组的下标从0

开始,用户既可以在设计中利用该属性通过键盘输入列表框中的项目,也可以在编程中设置或引用。

(2)MultiSelect属性

MultiSelect属性只能在设计时由用户设置,其功能是设置用户是否能在列表框中进行多项选择。MultiSelect属性值及其含义如下:

0 禁止多项选择(系统默认)

1 简单多项选择,鼠标单击或按空格键选定或取消某一项选择

2扩展多项选择,按Shift键Ctrl或键选择连续或不连续的多项(3)ListIndex属性

ListIndex属性值表示执行时选中的列表项目序号。该属性只能在程序中设置或引用,若未选定任何项,则该属性值为-1。

(4)ListCount属性

ListCount属性值表示列表框中项目的数量,该属性只能在程序中设置或引用,ListCount -1表示最后一项。

(5)Selected属性

Selected属性是一个逻辑数组,其元素对应列表框中相应的项目,用于表示对应的项目在程序运行期间是否被选中。如,若Selected(0)的值为True,表示控

件列表中的第一项被选中。该属性只能在程序中设置或引用。

3、ComboBox(组合框)和ListBox(列表框)常用方法

(1)将一个项目加入到列表框中的AddItem方法

①语法格式:

<对象>.AddItem <项目内容>[,index]

②语句说明:

对象:表示列表框或组合框。

Index:表示所加项目的序号,若省略序号,项目内容加在最后。

(2)删除列表框中一个项目的RemoveItem方法

①语法格式:

<对象>.RemoveItem index

②语句说明:

对象:表示列表框或组合框。

index表示被删除项目的序号。

(3)清除列表框中全部内容的Clear方法

①语法格式:

<对象>.Clear

②语句说明:

对象:表示列表框或组合框。

二、Calendar(日历)控件

Calendar(日历)控件用于显示系统日期并供用户更改进入应用程序的操作日期。计算机管理信息系统为实现自动在文档中记录操作日期以及控制管理信息系统的操作进程等现实需求,在进入系统操作前通常都要求用户确认或选择操作日期,并自动保存操作日期,因此我们有必要学习和熟悉Calendar(日历)控件。Calendar(日历)控件不是VB 的标准控件,在使用前需要人为地通过VB系统菜单的“工程”中“部件”功能将控件添

加到工具箱中,添加的项目是:Microsoft Calendar Control 8.0。Calendar控件的样式如下图所示:

图 5.2

1、Calendar(日历)控件的常用属性

(1)Calendar(日历)控件的基本属性

Calendar(日历)控件也如同其他VB控件一样具有如下的基本属性:名称、Backcolor、Height、Width、Top、Left、Visible等。

(2)Value属性

Calendar(日历)控件的Value属性值是一个日期型数据,该数据表示Calendar (日历)控件中显示的日期。

(3)Year、Month、Day属性

Calendar(日历)的Year、Month、Day属性均为数值型数据,分别用于表示Calendar(日历)控件中的年、月、日的数字值。

(4)Calendar(日历)的属性页

在设计中用户可通过Calendar(日历)的属性页完成对Calendar(日历)控件的样式及需求设计。Calendar(日历)的属性页如图5.3所示:

图 5.3

2、Calendar(日历)控件常用方法

(1)SetFocus和Refresh方法

Calendar(日历)控件也有获得焦点的SetFocus方法和刷新的Refresh方法,其语法格式和功能与TextBox控件的基本相同,在此不再赘述。

(2)NextDay、NextMonth、NextWeek、NextYear和PreviousDay、PreviousMonth、PreviousWeek、PreviousYear方法

Calendar(日历)控件的NextDay、NextMonth、NextWeek、NextYear和PreviousDay、PreviousMonth、PreviousWeek、PreviousYear方法是该控件特有的方法,分别用于将当前日期向后或向前移动一天、一个月、一周、一年。

例如:假设当前日期是2004年3月11日,当程序执行了:Calendar1.NextDay语句后,Calendar1控件所显示的日期就会变更为:2004年3月12日。

§5.2 操作权限确认和操作密码修改窗体的设计

为了确保应用程序不被非法使用并保证合法操作者按规定的操作权限进行应用程序的操作,操作权限确认和操作密码修改两个窗体是大多数管理信息系统应用程序所必需的。操作权限确认窗体通常用于在用户进入应用程序系统前对操作者的身份和操作权限进行认证和检验,操作密码修改窗体用于操作者随时修改自己的操作密码以防被其他人盗用。

【教学目标】

通过应用软件开发研制实例的学习,使学习者能够初步掌握现代应用软件的开发方法和编程技术。

【教学要求】

了解:在通用模块中定义全局变量的方法。

理解:操作权限的设计思想。

掌握:应用程序安全性的保证机制。

应用程序的窗体设计过程。

对象的事件代码编写。

如何在工程中定义全局性变量。

【本节重点】

如何在应用程序中设置用户的操作权限。

应用程序的设计过程:窗体设计(界面设计)、事件代码的编写、通过数据控件操作数据库。

【本节难点】

操作密码校验编程。

一、操作权限确认和操作密码修改模块的设计要求与设计思想

1、操作权限确认模块的设计要求与设计思想

(1)提供进入应用程序操作日期的选择功能,并将操作日期保存到全局性变量S_rq 中,以便在应用程序的操作中自动记录操作日期以及进行应用程序的操作进程

控制。

(2)要求用户选择操作者的姓名并要求输入操作密码,在操作密码的输入过程中要求能够对输入的操作密码屏蔽。

(3)当用户输入操作密码后,能够将用户输入的操作密码与系统连接的数据库中“操作人员表”中相应记录中的操作密码进行比较,若用户输入的操作密码无

误,则令系统自动将操作者姓名记录到全局变量S_xm,将操作权限自动记录

到全局变量S_qx中;若用户输入的操作密码有误,系统予以提示并要求用户

重新输入。当用户三次输入操作密码有误,则表明操作者是非法操作,系统会

自动终止应用程序的运行,返回Windows系统。

(4)为确保操作密码的安全性,应用程序的任何操作者(包括系统管理员)均无权设置或更改其他操作人员的操作密码,这就需要由应用程序自动对其合法注册

的操作人员赋值一个初始的操作密码(如,初始的操作密码为:1111),初始的

操作密码仅用于合法操作者第一次进入应用程序使用,因此操作权限确认模块

还担负着判别初始操作密码并强制性令操作者更改初始密码的使命。

2、操作密码修改模块的设计要求与设计思想

(1)能够根据操作者输入的“姓名”信息,在应用程序所连接的数据库的“操作人员表”中正确查找到相应的记录,以确保操作者只能更改自己的操作密码。

(2)提供用户输入原操作密码和新操作密码以及对新操作密码确认的功能,并要求在操作密码的输入过程中要求能够对输入的操作密码屏蔽。

(3)当用户输入有误时系统自动应予以提示,并进行错误锁定。当用户输入无误时系统应提供自动更新操作者操作密码的功能。

二、应用程序标准模块的添加与设计

由于应用程序中通常需要使用一批全局性的内存变量和全局性过程或函数,因此在应用程序的工程中通常都需要添加标准模块,并在标准模块中用Public语句声明应用程序所引用的全局性变量、过程或函数。例如,在本应用程序实例中添加标准模块,并写入如下的声明语句:

Public S_RQ As Date

Public S_xm, S_qx As String

Public csh As Integer

‘ S_xm 表示操作者姓名、S_rq 表示操作日期、S_qx 表示操作权限

‘ csh 表示操作者输入操作密码的次数

三、操作权限确认和操作密码修改窗体的设计

1、操作权限确认窗体设计

操作权限确认窗体的设计中主要包括一个ADO数据控件、一个日历控件、一个组合列表框控件、一个文本框控件、一个形状控件、一个图形控件、两个命令按钮以及四个标签控件。窗体样式如图5.4所示:

图 5.4

(1)窗体本身的设计

操作权限确认窗体的名称应定义为汉字名称,以便于在应用程序中识别和调用。窗体在设计时应取消窗体原有的标题拦以及控制按钮,使窗体只能按照应用程序提供的各项功能进行操作。窗体的背景色在本应用实例中采用过渡双色,要到达这一效果需要对窗体的Picture属性进行设置。设置的方法是:首先在Microsoft Word 或Microsoft PowerPoint中画出一个矩形图,并填充该矩形的效果为过渡双色,最后复制矩形图并粘贴到窗体的Picture属性中。

(2)ADO数据控件的设计

ADO数据控件的名称采用VB系统默认的名:Adodc1。在设计中需通过控件的属性进行以下设置:

①设置Visible属性为:False;

②设置ConnectionString属性为:连接D盘zlgl子目录下的zlgl.mdb数据库;

③设置Password属性为:所连接zlgl.mdb数据库的密码口令;

④设置Recordsouce属性为:Select * from 操作人员表。

(3)日历控件设计

日历控件的名称为:Calendar1。日历控件在设计中可利用其属性页取消控件的星期标识,并对控件的颜色进行设置。

(4)组合列表框控件设计

组合列表框的名称为:Combo1,在设计中只需通过控件属性将文字设置为“宋体”5号字,并将其中的文本框背景颜色设置为橙色即可。

(5)文本框控件设计

文本框的名称为:Text1,在设计中需通过控件属性进行如下设置:

①设置文字属性为“宋体”5号字;

②设置BackColor属性为:橙色;

③设置PasswordChar属性为:*;

④设置Maxlength属性为:4;

⑤设置Text属性为:空。

(6)形状控件设计

形状控件的名称为:Shape1,在设计中只需通过控件属性将其BackStyle设置为“0-Transparent”,并将BorderWidth设置为2,设置后的控件效果为一个黑色的矩形框。

(7)图形控件设计

图形控件的名称为:Image1,在设计中只需通过控件属性将Picture设置为所需图片并将Stretch属性设置为True即可。

(8)命令按钮设计

命令按钮的名称为:cmdOk和cmdClose。在设计中需通过控件属性进行以下设置:

①设置Style属性为:1-Graphical;

②设置BackColor属性为:橙色;

③设置Picture属性为:一个图标;

④设置cmdOk命令按钮的TooltipText属性中的汉字提示为:“确认”;设置

cmdClose命令按钮的TooltipText属性中汉字提示为:“退出”。

2、操作密码修改窗体的设计

操作密码修改窗体的名称定义为:“操作密码修改”,窗体的界面风格与操作权限确认窗体基本一致,但长度和宽度要小。操作密码修改窗体的设计中主要包括一个ADO数据控件、三个文本框控件、两个命令按钮以及五个标签控件。由于窗体中的控件与“操作权限确认”窗体中的相应控件相同,在此就不再赘述。窗体样式如图5.5所示:

图 5.5

四、操作权限确认和操作密码修改窗体的事件编程

1、操作权限确认窗体事件编程

操作权限确认窗体的主要事件是:Form-Load和两个命令按钮的鼠标单击事件。

(1)Form-Load事件程序

Private Sub Form_Load()

‘向组合列表框中添加“操作人员表”中已注册的操作人员姓名

Adodc1.Refresh

Do While Not Adodc1.Recordset.EOF

If IsNull(Adodc1.Recordset!操作权限) = False Then

Combo1.AddItem Adodc1.Recordset!姓名

End If

Adodc1.Recordset.MoveNext

Loop

Adodc1.Recordset.MoveFirst

End Sub

(2)“确认”命令按钮的鼠标单击事件程序

Private Sub cmdOk_Click()

If Len(Trim(Combo1)) = 0 Or Len(Trim(Text1)) = 0 Then

MsgBox "没有输入姓名或操作密码!"

Exit Sub

End If

S_XM = Trim(Combo1)

Dim zhd As Boolean

zhd = False

With Adodc1.Recordset

.MoveFirst

Do While Not .EOF

If S_XM = !姓名 And kl = !操作密码 Then

zhd = True

Exit Do

End If

.MoveNext

Loop

End With

If zhd Then

S_RQ = Calendar1.Value

S_QX = Adodc1.Recordset!操作权限

If Text1 = "1111" Then 操作密码修改.Show 1

Unload 操作权限确认

系统总控.Show 1

Else

csh = csh + 1

If csh >= 3 Then

MsgBox "非法操作!"

End

Else

MsgBox "无效的操作密码,请重试!", , "登录"

Text1.Text = ""

Combo1.Clear

Form_load

End If

End If

End Sub

(3)“退出”命令按钮的鼠标单击事件程序

Private Sub cmdClose_Click()

End

End If

2、操作密码修改窗体事件编程

操作密码修改窗体的主要事件是:两个命令按钮的鼠标单击事件。

(1)操作密码修改窗体中“确认”命令按钮的鼠标单击事件程序

Private Sub cmdOk_Click()

'验证用户输入的新密码的正确性以及两次输入的密码是否一致

If Text2 <> Text3 Or Len(Text2) <> 4 Or Text2 = "1111" Then MsgBox "输入的新密码不符合规则或两次输入的密码不符! "

Text2="":Text3=""

Exit Sub

End If

'验证用户输入的新密码是否与其他操作人员的操作密码冲突

Adodc1.Refresh

Adodc1.Recordset.MoveFirst

sql = "操作密码= '" & Text2.Text & "'"

Adodc1.Recordset.Filter = sql

If Adodc1.Recordset.RecordCount = 1 Then

MsgBox "输入的新密码与其他操作人员冲突!请重新定义新密码! "

Exit Sub

End If

'验证用户输入的旧密码是否正确

Adodc1.Refresh

Adodc1.Recordset.MoveFirst

sql = "操作密码= '" & Text1.Text & "'" + " and 姓名=" + "'" + S_XM + "'" Adodc1.Recordset.Filter = sql

If Adodc1.Recordset.RecordCount = 0 Then

MsgBox "输入的旧密码有误! "

Text1=""

Exit Sub

End If

'更改用户操作密码

Adodc1.Recordset!操作密码 = Text2

Adodc1.Recordset.UpdateBatch

MsgBox "密码修改成功!", 0

Unload Me

End Sub

(2)操作密码修改窗体中“退出”命令按钮的鼠标单击事件程序

Private Sub cmdClose_Click()

Unload Me

End Sub

§5.3 SSTab控件和系统总控窗体的设计

任何一个计算机管理信息系统都有一个用于调用系统内部各项功能模块的系统总控功能,系统总控功能通常使用菜单或功能模块图标组来实现,VB中的菜单创建比较简单,本节我们将介绍功能模块图标组模式的系统总控窗体的创建。使用系统功能模块图标组来实现管理信息系统的总控功能是当今比较流行的方法,其优点是:用户界面美观、友好,操作也比较方便。系统总控功能不但具有调用系统内部各项功能模块的功能,而且还承担着保证操作者按规定的操作权限进行应用程序操作的任务。由于系统总控窗体的设计中需要使用SSTab(多选项卡)控件,因此我们首先介绍VB中的SSTab(多选项卡)控件。

【教学目标】

通过编制系统总控实例的程序,使学习者能够掌握SSTab控件的使用方法,并进一步学习应用软件的开发方法和编程技术。

【教学要求】

了解:控件数组的结构及使用方法。

理解:应用程序主程序的设计方法。

掌握:多选项卡控件的作用及设置方法;

在主程序中调用功能模块的方法。

【本节重点】

如何设计应用程序的总控程序及各功能模块的调用方法。

用户操作权限的检查。

一、S STab(多选项卡)控件

SSTab(多选项卡)控件中有一组选项卡,它们都能够作为其他控件的容器。SSTab 控件中一次只能有一个选项卡被激活,当某个选项卡被激活后,该卡中包含的控件被显示出来,而其他选项卡的控件将被隐藏。SSTab(多选项卡)控件不是VB的标准控件,需要通过“工程”菜单中的“部件”功能向工具箱中添加SSTab控件,添加的选项是:Microsoft Tabbed Dialog Control 6.0。

1、设置SSTab 的选项卡的页数及标题

在进行SSTab(多选项卡)控件的设计中主要使用的设计工具是其页属性,SSTab控件的页属性中也包含一个SSTab(多选项卡)控件,利用页属性我们可以根

据自己的需要对SSTab(多选项卡)控件的样式进行设计。SSTab(多选项卡)控件的页属性如图5.6所示:

图 5.6

2、SSTab常用属性的设置

(1)Style

Style属性决定SSTab控件上选项卡的样式。属性值有两个:

0 (默认)选项卡上字体为粗体;

1 选项卡宽度调整为标题中文本的长度,字体非粗体。

(2)Tab

Tab属性决定SSTab控件上的当前选项卡。

(3)Tabs

Tabs属性决定SSTab控件上选项卡总数量。在程序运行时也可更改该属性,从而添加新的选项卡。

(4)TabsPerRow和Rows

TabsPerRow属性决定SSTab控件中每一行选项卡的数目,而Rows决定SSTab控件中选项卡的总行数。

(6)ShowFocusrect

ShowFocusrect属性用于设置或返回SSTab控件上获得焦点的选项卡,属性值为True和False。其中True表示控件显示焦点矩形;False表示控件不显示焦点矩形。

二、系统总控模块的设计要求与设计思想

我们以“建筑物资租赁管理系统”为例,介绍系统总控模块的设计要求与设计思想。建筑物资租赁管理系统中包括的功能较多,共分为9个子系统,这9个子系统中又包括60个功能模块,每个功能模块对应一个窗体,其中部分功能模块中还包括若干个子功能模块,但这些子功能模块不由系统总控模块直接控制。系统总控模块的设计要求与设计思想如下:

1、用户进入系统总控模块后,首先展示用户操作频率最高的“租赁物资管理”子系

统操作界面,供用户选择其中任一功能进行操作。用户也可以根据需要选择系统中的其他任意一个子系统以及子系统中包含的功能模块进行操作。

2、系统总控界面应显示系统的操作日期和操作人员姓名。

3、当用户选择操作某功能模块时,系统应首先检验操作者的操作权限,若操作者不

具有本模块的操作权限,应予提示并拒绝执行。

4、系统总控模块应具有退出建筑物资租赁管理系统返回Windows的功能。

三、系统总控窗体的设计

系统总控窗体的设计中主要包括一个SSTab(多选项卡)控件、一个命令按钮控件数组(包括10个控件元素)、一个Picture控件数组(包括8个控件元素)、8个图形(Image)控件数组、8个标签控件数组以及3个标签控件。窗体样式如图5.7所示:

图 5.7

1、SSTab(多选项卡)控件设计

在SSTab(多选项卡)的设计中我们将选项卡的高度设计为1,即在控件中不显示卡标和卡标题,使SSTab成为8页的容器,这8页中的内容可通过一组命令按钮的鼠标单击事件进行转换展示。

(1)SSTab(多选项卡)属性页的设置

①选项卡数:8;

②选项卡高度:1;

③显示焦点区域:不选。

(2)SSTab(多选项卡)属性的设置

对SSTab(多选项卡)主要进行大小和位置的设置。主要设置的属性有:

Left :180;Top:1400;Width:11500;Height:7300。

2、命令按钮控件数组和Picture控件数组的设计

命令按钮控件数组和Picture控件组均设计为控件数组。其中命令按钮控件数组中共有10个控件,依次为:Command1(0)、Command1(1)、Command1(2)、……、Command1(9)。

命令按钮样式为:1-Graphical;字体为:楷体加粗四号;背景颜色为:橙色;

按钮上显示的文字为图5.7所示。

Picture控件数组中共有8个控件,这8个Picture控件作为白色背景分别镶嵌在SSTab(多选项卡)控件的8页中。

3、8个图形(Image)控件数组和8个标签控件数组的设计

系统总控中的8个图形(Image)控件数组和8个标签控件数组分别镶嵌在8个Picture控件数组元素中,共有60个Image控件数组元素和60个Label控件数组元素。60个Image控件数组元素如下:

Image1(0)、Image1(1)、Image1(2)、Image1(3)、……、Image1(8)

Image2(0)、Image2(1)、Image2(2)、Image2(3)、……、Image2(10)

Image3(0)、Image3(1)、Image3(2)、Image3(3)、……、Image3(8)

Image4(0)、Image4(1)、Image4(2)、Image4(3)、Image4(4)、Image4(5)

Image5(0)、Image5(1)、Image5(2)、Image5(3)、……、Image5(8)

Image6(0)、Image6(1)、Image6(2)、Image6(3)、Image6(4)

Image7(0)、Image7(1)、Image7(2)、Image7(3)、Image7(4)

Image8(0)、Image8(1)、Image8(2)、Image8(3)、Image8(4)、Image8(5)

60个Label控件数组与Image控件数组的元素一一对应,每一个Image数组元素中装载一个图标文件,与之对应的标签控件数组元素用于图标的汉字标

注。

4、三个标签控件

总控窗体中的三个标签控件,分别用于标识窗体、显示操作日期和操作人员姓名。

四、系统总控窗体的事件编程

需要在系统总控窗体中进行编程的事件较多,主要的编程事件有:Form_load事件、命令按钮的鼠标单击事件、8个图形(Image)控件的鼠标单击事件和8个标签控件的鼠标单击事件。

1、系统总控窗体的Form_load 事件程序

Private Sub Form_Load()

‘令系统展示用户操作频率最高的“租赁物资管理”子系统操作界面

SSTab1.Tab = 3

Label10 = S_rq ‘显示系统的操作日期

Label11="操作人员:" + S_xm ‘显示系统的操作人员姓名

End Sub

2、命令按钮控件的鼠标单击事件程序

命令按钮数组中共有10个命令按钮控件元素,由于是控件数组编程,所以这10个命令按钮鼠标单击事件为一个程序,在编程中需要通过Index的值来判断用户鼠标单击的是哪一个命令按钮控件元素。在这10个命令按钮控件元素中有两个较特殊的命令按钮,一个是Command1(0),其功能为退出建筑物资租赁管理系统返回Windows,另一个是Command1(9),其功能为调用外部的Symantec pcAnywhere 远程控制程序,进行数据文件的远程网络传输,其余8个命令按钮的鼠标单击事件均用于SSTab中8页内容的转换展示。命令按钮组的鼠标单击事件程序如下:

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0

Unload Me

End ‘确定退出系统

Case 1

SSTab1.Tab = 0

Case 2

SSTab1.Tab = 1

Case 3

SSTab1.Tab = 2

Case 4

SSTab1.Tab = 3

Case 5

SSTab1.Tab = 4

Case 6

SSTab1.Tab = 5

Case 7

SSTab1.Tab = 6

Case 8

SSTab1.Tab = 7

Case 9

ff = InStr(1, S_QX, "H", 1)

If ff = 0 Then

MsgBox "你没有数据文件网络传输的权限!", 0 + 48, "提示信

息"

Exit Sub

End If

xxx = MsgBox("是否传输数据库文件?", vbOKCancel)

If xxx = vbCancel Then Exit Sub

aa = Shell("C:\Program Files\Symantec\pcAnywhere\WINAW32.EXE", 1) End Select

End Sub

3、8个Image控件和Label控件的鼠标单击事件

总控窗体中的8个Image控件和Label控件的鼠标单击事件,用于调用建筑物资租赁管理系统的60个功能模块。每一个Image控件数组对应着一个Label控件数组,由于两个对应控件中相应数组元素的功能完全相同,所以其事件中的程序完全相同。下面给出第一个Image控件鼠标单击事件的程序,其他7个Image控件和Label控件的鼠标单击事件程序可参照此程序。

Private Sub Image1_Click(Index As Integer)

Select Case Index

Case 1

ff = InStr(1, S_QX, "B", 1)

If ff > 0 Then

系统初始设置.Show 1

Else

MsgBox "你没有系统初始设置的权限!", 0 + 48, "提示信息"

End If

Case 2

ff = InStr(1, S_QX, "A", 1)

If ff > 0 Then

操作人员管理.Show 1

Else

MsgBox "你没有操作人员管理的权限!", 0 + 48, "提示信息"

End If

Case 3

ff = InStr(1, S_QX, "B", 1)

If ff > 0 Then

库存物资注册.Show 1

Else

MsgBox "你没有库存物资注册的权限!", 0 + 48, "提示信息"

Case 4

ff = InStr(1, S_QX, "B", 1)

If ff > 0 Then

物资残损赔偿计价设置.Show 1

Else

MsgBox "你没有物资残损赔偿计价设置的权限!", 0 + 48, "

提示信息"

End If

Case 5

ff = InStr(1, S_QX, "F", 1)

If ff > 0 Then

客户注册.Show 1

Else

MsgBox "你没有客户注册的权限!", 0 + 48, "提示信息"

End If

Case 6

ff = InStr(1, S_QX, "F", 1)

If ff > 0 Then

签订合同.Show 1

Else

MsgBox "你没有合同登记的权限!", 0 + 48, "提示信息"

End If

Case 7

ff = InStr(1, S_QX, "A", 1)

If ff > 0 Then

站厂名称注册.Show 1

Else

MsgBox "你没有站厂名称的权限!", 0 + 48, "提示信息"

End If

Case 8

ff = InStr(1, S_QX, "B", 1)

If ff > 0 Then

出门证.Show 1

Else

MsgBox "你没有结转手工账的权限!", 0 + 48, "提示信息"

Case 9

ff = InStr(1, S_QX, "B", 1)

If ff > 0 Then

txlx = 1

租赁物资收入登账.Show 1

Else

MsgBox "你没有结转手工账的权限!", 0 + 48, "提示信息"

End If

End Select

End Sub

注:与Imange1控件数组对应的Label1控件数组的鼠标单击事件为:

Private Sub label1_Click(Index As Integer)

<事件程序与Imange1控件数组中的程序完全相同>

End Sub

§5.4 检查框、单选按钮控件和操作人员管理窗体的设计

为保证计算机管理信息系统不被外部人员非法操作,并保证内部操作人员能够按规定的操作权限对系统进行正常操作,计算机管理信息系统都有一个操作人员管理的窗体用以完成对系统操作人员登记注册并赋予操作权限的工作。操作人员管理的主要功能是:操作人员登记注册、赋值操作权限、对新注册的操作人员赋予初始操作密码、查询操作人员记录、修改与删除操作人员记录等。由于在分配操作人员操作权限的设计中需要使用CheckBox(检查框)控件,因此我们首先介绍VB中的检查框和与之功能相近的单选按钮控件。

【教学目标】

使学习者能够掌握应用程序中常用的操作人员管理模块的设计和程序设计方法,同时学习检查框和单选按钮控件的使用方法和编程技术。

【教学要求】

了解:控件在不同工作状态下的不同表现形式。

理解:在应用系统中对系统操作人员的操作权限的管理方法及实现手段。

掌握:检查框和单选按钮控件的作用及设置方法。

如何利用CheckBox控件数组编程显示和设置操作权限。

在程序运行时如何修改相应控件的属性。

【本节重点】

如何利用CheckBox控件数组编程显示和设置操作权限。

在程序运行中修改控件属性的方法。

通过应用程序实现对数据库的数据编辑。

【本节难点】

如何利用CheckBox控件数组编程显示和设置操作权限。

一、C heckBox(检查框)和OptionButton(单选按钮)控件

为便于用户的选择输入操作并保证输入数据的合法性以及减少输入错误,大多数应用程序都需要向用户提供选择功能,VB提供了两种用于选择的标准控件:CheckBox(检查框)和OptionButton(单选按钮)控件。这两种控件的特点是均提供用户选择的项目,用户只需通过鼠标单击选项,就可以完成对项目的选择。因此这两个控件都接收鼠标单击事件,但通常不需要对此事件编程,因为当用户用鼠标单击这两种控件后,它们会自动改变状态。

1、CheckBox-检查框控件

CheckBox(检查框)控件可以列出供用户选择的选项,用户可根据需要用鼠标选定其中的一项或多项。被选中项左边的小方框中会出现一个对勾,表示该项目被选中。CheckBox(检查框)控件主要用于选择某一种功能的两个不同的状态,也可以通过编程将用户的选择转换为输入的数据。CheckBox(检查框)的常用属性如下:

(1)Caption属性

Caption属性用于显示检查框边上的文本标题。

(2)Alignment属性

Alignment属性只有两个值0和1,其含义如下:

0 :表示文本标题出现在控件的右边(默认);

1 :表示文本标题出现在控件左边。

(3)Value属性

Value属性主要用于表示控件是否被选中,其值为0、1、2,这三个值的含义如

下:

0 :表示未被选中(默认);

1 :表示被选中;

2 :灰色,表示禁止选择。

(4)Style属性

Style属性用于指定控件的显示方式,以改善视觉效果,其值为0和1,这两个值的含义如下:

0 :表示标准方式;

1 :表示图形方式。

VisualBasic程序设计_0004

Visual Basic程序设计_0004 一、单项选择题(共10 道试题,共40 分。) 1. 一旦数据到达,将首先触发Winsock控件的()。 A. DataArrival事件 B. ConnectionRequest事件 C. DataSend事件 D. DataGet事件 2. 以下叙述中错误的是()。 A. 一个工程中只能有一个Sub Main过程 B. 窗体的Show方法的作用是将指定的窗体载入内存并显示该窗体 C. 窗体的Hide方法和Unload方法的作用完全相同 D. 若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体 3. 若要将窗体从内存中卸载,其实现的方法是()。 A. Unload B. Show C. Load D. Hide 满分:4 分 4. 下列数组声明语句,正确的是()。 A. Dim a[3,4] As Integer B. Dim a(3 4) As Integer C. Dim a(n,n) As Integer D. Dim a(3,4) As Integer 满分:4 分 5. 控件()没有Caption属性。

A. Label B. OptionButton C. Frame D. ListBox 满分:4 分 6. Visual Basic提供的常见鼠标事件中,鼠标按下所引发的事件为()。 A. MouseDown事件 B. Click事件 C. MouseUp事件 D. MouseMove事件 满分:4 分 7. 下列数据类型中,()占用内存最小。 A. Boolean B. Byte C. Integer D. Long 满分:4 分 8. 无论何种控件,共同具有的属性是()。 A. Text B. Name C. Caption D. ForeColor 满分:4 分 9. 要暂时关闭计时器,应把计时器的某个属性设置为False,这个属性是()。 A. Visible B. Timer

Excel进程正在由另一程序使用

Response.WriteFile导出excel 文件正由另一进程使用 Posted on 2009-05-18 22:26 ymss阅读(577) 评论(2)编辑收藏 我认为之所以出现进程占用的的错误,是因为当excel 写入的内容较多时,操作系统(WINDOWS2000)关闭excel 进程时间要长一些,而.NET下载代码运行很快,马上会要求读取excel 的文档,这时操作系统尚未处理完excel 的进程,因此excel 文档处于收保护状态,因此造成.NET进程和excel 进程的冲突。 实验中,单独执行excel 写入很成功,不会留下excel 进程,写入和下载连续进行就会出错,并留下excel 进程,运行几次,就会留下几个excel 进程,这印证了我上面的一些想法。至于copine() 的方法可行,是因为https://www.360docs.net/doc/7914206219.html,第一次的运行很慢(转到其他页面相当于其他页面的第一次运行),这就给操作系统足够的时间关闭excel 进程,所以会成功,失败则是导入excel 的数据太多,致使操作系统关闭excel 进程的时间大于其他页面的第一次运行的时间。 综上所述,excel 写和下载存在冲突的可能,根本原因是excel 进程和ASP进程相互独立,单独依靠操作系统不能作到两个进程的互斥。 所以我们用完excel 进程后就要结束 Excel.Application excel = new Excel.ApplicationClass(); int rowindex = 1; int colindex = 0; Excel.Workbook work = excel.Workbooks.Add(true); .......... 结束excel 进程代码 excel.DisplayAlerts = false; work.Close(false, null, false);

VB程序设计课后习题答案(科学出版社)

同步练习1 二、选择题 01——05 CADAB 06——10 ACDAB 11——15 CBDBB 同步练习2 二、选择题 01——05 ABDCA 06——10 CACBC 11——15 DADAD 16——20 BDBBB 三、填空题 1.可视 2.LEFT、TOP、WIDTH、HEIGHT 3.按字母顺序 4.查看代码 5.工具、编辑器 6.FORM窗体、FONT 7.MULTILINE 8.在运行时设计是无效的 9.工程、工程属性、通用、FORM1.SHOW 10.TABINDEX、0 同步练习3 二、选择题 01——05 BCADB 06——10 ADBBC 11——15 DBCBA 16——20 BAABB 三、填空题 1.整型、长整型、单精度型、双精度型 2.SIN(30*3.14/180)+SQR(X+EXP(3))/ABS(X-Y)-LOG(3*X) 3.164、今天是:3-19 4.FALSE 5.-4、3、-3、3、-4、4 6.CDEF 7.(X MOD 10)*10+X\10 8.(35\20)*20=20 ( 35 \ 20 )* 20 = 20 9.X MOD 3=0 OR X MOD 5=0 10.27.6、8.2、8、1、100、397、TRUE、FALSE 同步练习4 一、选择题 01——05 DBCAD 06——10 CBBAB

11——15 D25BAC 16——20 CBACB 21——25 DAABC 二、填空题 1.正确性、有穷性、可行性、有0个或多个输入、有1个或多个输出2.1 2 3 3.X>=7 4.X

常见软件故障及处理方法

常见软件故障及处理方法(转载) 软件故障的原因 软件发生故障的原因有几个,丢失文件、文件版本不匹配、内存冲突、内存耗尽,具体的情况不同,也许只因为运行了一个特定的软件,也许很严重,类似于一个的系统级故障。 为了避免这种错误的出现,我们可以仔细研究一下每种情况发生的原因,看看怎样检测和避免。 丢失文件: 你每次启动计算机和运行程序的时候,都会牵扯到上百个文件,绝大多数文件是一些虚拟驱动程序vir tual device drivers (VxD),和应用程序非常依赖的动态链接库dynamic link library (DLL)。VXD允许多个应用程序同时访问同一个硬件并保证不会引起冲突,DLL则是一些独立于程序、单独以文件形式保存的可执行子程序,它们只有在需要的时候才会调入内存,可以更有效地使用内存。当这两类文件被删除或者损坏了,依赖于它们的设备和文件就不能正常工作。 要检测一个丢失的启动文件,可以在启动PC的时候观察屏幕,丢失的文件会显示一个“不能找到某个设备文件”的信息和该文件的文件名、位置,你会被要求按键继续启动进程。 造成类似这种启动错误信息的绝大多数原因是没有正确使用卸载软件。如果你有一个在WINDOWS启动后自动运行的程序如Norton Utilities、 Nuts and Bolts等,你希望卸载它们,应该使用程序自带的“卸载”选项,一般在“开始”菜单的“程序”文件夹中该文件的选项里会有,或者使用“控制面板”的“添加/卸载”选项。如果你直接删除了这个文件夹,在下次启动后就可能会出现上面的错误提示。其原因是W INDOWS找不到相应的文件来匹配启动命令,而这个命令实际上是在软件第一次安装时就已经置入到注册表中了。你可能需要重新安装这个软件,也许丢失的文件没有备份,但是至少你知道了是什么文件受到影响和它们来自哪里。 对文件夹和文件重新命名也会出现问题,在软件安装前就应该决定好这个新文件所在文件夹的名字。 如果你删除或者重命名了一个在“开始”菜单中运行的文件夹或者文件,你会得到另外一个错误信息,在屏幕上会出现一个对话框,提示“无效的启动程序”并显示文件名,但是没有文件的位置。如果桌面或者“开始”菜单中的快捷键指向了一个被删除的文件和文件夹,你会得到一个类似的“丢失快捷键”的提示。 丢失的文件可能被保存在一个单独的文件中,或是在被几个出品厂家相同的应用程序共享的文件夹中,例如文件夹\SYMANTEC就被Norton Utilities、Norton Antivirus和其他一些 Symantec 出品的软件共享,而对于\WINDOWS\SYSTEM来说,其中的文件被所有的程序共享。你最好搜索原来的光盘和软盘,重新安装被损坏的程序。 文件版本不匹配: 绝大多数的WIN 9X用户都会不时地向系统中安装各种不同的软件,包括WINDOWS的各种补丁例如Y2K,或者将WIN 95 升级到WIN 98,这其中的每一步操作都需要向系统拷贝新文件或者更换现存的文件。每当这个时候,就可能出现新软件不能与现存软件兼容的问题。 因为在安装新软件和WINDOWS升级的时候,拷贝到系统中的大多是DLL文件,而DLL不能与现存软件“合作”是产生大多数非法操作的主要原因,即使会快速关闭被影响的程序,你也没有额外的时间来保存尚未完成的工作。 WINDOWS的基本设计使得上述DLL错误频频发生。和其他版本不同,WIN 95允许多个文件共享\WINDO WS\SYSTEM文件夹的所有文件,例如可以有多个文件使用同一个Whatnot.dll,而不幸的是,同一个DLL文件的不同版本可能分别支持不同的软件,很多软件都坚持安装适合它自己的Whatnot.dll版本来代替以前的,但是新版本一定可以和其他软件“合作愉快”吗?如果你运行了一个需要原来版本的DLL的程序,就会出现“非法操作”的提示。 在安装新软件之前,先备份\WINDOWS\SYSTEM 文件夹的内容,可以将DLL错误出现的几率降低,既然

vb课后习题答案

VB 课后练习题参考答案 第一章 一、 1、C 2、C 3、B 4、B 5、D 6、B 7、B 8、D 二、 1、学习版、专业版、企业版 2、alt+Q 或 alt+F4 3、.vbp 、 .frm 4、固定、浮动 5、"abcd"、"VB Programing" 6、属性窗口、运行 7、对象框、事件框 8、窗体模块、标准模块、类模块 第二章 一、 1、B 2、B 3、B 4、B 5、D 6、D 二、 1、((x+y)+z)*80-5*(C+D) 2、cos(x)*sin(sin(x)+1 3、2*a*(7+b) 4、8*EXP(3)*LOG(2) 5、good morning 、 good morning 6、2001/8/25 8 2001 7 第三章 一、 1、C 2、B 3、D 4、A 5、D 、 3 6、C 7、B 8、C 9、C 10、D 11、B 12、C 13、B 14、B 15、A 16、B 17、D 18、C 19、C 二、 1、AutoSize 2、text1.setfocus 3、0 、 0 4、 picture1.picture=loadpic ture("yy.gif") 5、stretch 6、interval 7、enable 8、下拉式组合框、简单组 合框、下拉式列表框、style 9、下拉式列表框 10、条目1 、条目3 11、欢迎您到中国来、 welcome to china!! 第四章 一、 1、B 2、C 3、C 4、B 5、C 6、B 7、C 8、B 9、D 10、A 11、B 12、A 13、B 14、D 15、A 16、B 17、A 18、C 19、B 二、 1、2542=57 2、beijing 3、002.45、2.449、 24.49e-01、-2.449 4、9 10 11 5、9 6、1 2 3 7、 iif(x<=0,y=0,iif(x<=10, y=5+2*x,iif(x<=15,y=x- 5,y=0))) 8、x=7 或 x>6 或 x>5 9、x>=0 、x

VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题

VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确, 应用程序未能启动”的问题 文章分类:C++编程 VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那么就说明该程序动态链接了VC9 的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找到这些库和配置文件,因此导致了这个错误。出现这种情况的VC9编译器可能存在3 个版本,接下来分别阐明: 1、没有打过任何补丁的VS2008 该版本对应的CRT/MFC/ATL库的版本号为9.0.21022.8,这个版本号在后面会用到。这个版本的程序部署比较简单,直接把VC安装目录下的redist目录(C:\Program Files\Microsoft Visual Studio 9.0\VC\redist)中需要的库以及对应的manifest文件拷贝到执行程序同目录下,这样程序到任何机器上都能够正常运行了。 2、打过SP1补丁的VS2008 打过该补丁后,系统中存在着两个版本的CRT/MFC/ATL库,版本号分别为9.0.21022.8和9.0.30729.1,这导致了manifest文件中记录的版本号和实际库的版本号不一致(程序要求它们的版本号一致才能运行)。这个版本的程序部署需要两个步骤,首先要使manifest文件中依赖项的版本号与实际库的版本号一致,均为9.0.30729.1,方法是在工程设置中增加一个宏定义 _BIND_TO_CURRENT_VCLIBS_VERSION,该宏定义于C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtassem.h文件中,然后重新编译程序。接下来还是将VC安装目录下的redist目录(C:\Program Files\Microsoft Visual Studio 9.0\VC\redist)中需要的库以及对应的manifest文件拷贝到执行程序同目录下,然后修改manifest文件中依赖项的版本号为9.0.21022.8,这样使 得程序误以为该目录下库的版本号为9.0.21022.8(实际上是9.0.30729.1版本),这样程序到任何机器上都能够正常运行了。 3、打过SP1补丁与SP1 ATL 安全更新 (KB973675)的VS2008 这是最新的更新。在SP1补丁之后,微软又于近日发布了一个用于智能设备的 Microsoft Visual Studio 2008 Service Pack 1 ATL 安全更新 (KB973675),该补丁又将CRT/MFC/ATL库的版本号升级,为9.0.30729.4148,这次升级比较好,manifest文件与库的版本号一致了,不像SP1一样升级的不彻底。这样只 需要在工程设置中增加一个宏定义_BIND_TO_CURRENT_VCLIBS_VERSION,接下来

GENESIS2000入门教程中英文转换

?GENESIS2000入门教程 Padup谷大pad paddn缩小pad reroute 扰线路Shave削pad linedown缩线line/signal线Layer 层in 里面 out外面Same layer 同一层spacing 间隙cu铜皮 Other layer另一层positive 正 negative负Temp 临时 top顶层bot底层Soldermask 绿油层silk字符层 power 电源导(负片) Vcc 电源层(负片) ground 地层(负片) apply 应用 solder 焊锡singnal 线路信号层soldnmask绿油层input 导入 component 元器件Close 关闭zoom放大缩小create 创建 Reste 重新设置corner 直角step PCB 文档Center 中心 snap 捕捉board 板Route 锣 带repair 修理、编辑 resize (编辑)放大缩小analysis 分析Sinde 边、面Advanced 高级 measuer 测量PTH hole 沉铜孔NPTH hole 非沉铜孔output 导出 VIA hole 导通孔smd pad 贴片PAD replace 替换fill 填充 Attribute 属性round 圆square 正方形rectangle 矩形

Select 选择include 包含exclude 不包 含step 工作单元 Reshape 改变形状profile 轮廓drill 钻 带rout 锣带 Actions 操作流程analyis 分析DFM 自动修改编辑circuit 线性 Identify 识别translate 转换job matrix 工作 室repair 修补、改正 Misc 辅助层dutum point 相对原点corner 直 角optimization 优化 origin 零点center 中心global 全 部check 检查 reference layer 参考层reference selection 参考选 择reverse selection 反选 snap 对齐invert 正负调换symbol 元 素feature 半径 histogram 元素exist 存在angle 角 度dimensions 标准尺寸 panelization 拼图fill parameters 填充参 数redundancy 沉余、清除 层英文简写层属性 顶层文字Top silk screen CM1( gtl ) silk-scren 顶层阻焊Top solder mask SM1 ( gts ) solder-mask 顶层线路Top layer L1 ( gtl ) signal 内层第一层power ground (gnd) PG2 ( l2-pw ) power-ground(负片) 内层第二层signal layer L3 signal (正片) 内层第三层signal layer L4 signal (正片)

VB第一章课后习题答案讲课教案

习题 一、单项选择题 1. 在设计阶段,当双击窗体上的某个控件时,所打开的窗体是_____。 A. 工程资源管路器窗口 B. 工具箱窗体 C. 代码窗体 D. 属性窗体 2. VB中对象的含义是_____。 A. 封装了数据和方法的实体 B. 封装的程序 C. 具有某些特性的具体事物的抽象 D. 创建对象实例的模板 3. 窗体Form1的Name属性是MyForm,它的单击事件过程名是_____。 A. MyForm_Click B. Form_Click C. Form1_Click D. Frm1_Click 4. 如果要改变窗体的标题,需要设置窗体对象的_____属性。 A. BackColor B. Name C. Caption D. Font 5. 若要取消窗体的最大化功能,可将其_____属性设置为False来实现。 A. Enabled B.ControlBox C. MinButton D. MaxButton 6. 若要以代码方式设置窗体中显示文本的字体大小,可通过设置窗体对象_____属性来实现。 A. Font B.FontName C.FontSize D. FontBold 7. 确定一个控件在窗体上位置的属性是_____。 A. Width或Height B. Width和Height C. Top或Left D. Top和Left 8. 以下属性中,不属于标签的属性是_____。 A. Enabled B. Default C. Font D. Caption 9. 若要设置标签控件中文本的对齐方式,可通过_____属性实现。 A.Align B. AutoSize C. Alignment D. BackStyle 10. 若要使标签控件的大小自动与所显示文本的大小相适宜,可将其_____属性设置为True来实现。 A.Align B. AutoSize C. Alignment D. Visible 11. 若要设置或返回文本框中的文本,可通过设置其_____属性来实现。 A.Caption B. Name C. Text D. (名称) 12. 若要设置文本框最大可接受的字符数,可通过设置其_____属性来实现。 A.MultiLine B. Max C. Length D. MaxLength

GENESIS基础——步骤

新建料号: 导入资料、查看并更正错误: 首先查看层,若出现细线或出现大块的图案为D码有问题!必须在Rep层中点击右键选择D码学习器去修改,打开后出现Wheel Template Editor窗口!若确认是单位错了,就在菜单Parms中选择Global 中修改单位,点击后出现Global Parameters Popup对话框,改了单位后点击Ok即可,然后Actions 菜单中选择Translate Wheel执行D码文件,若有红色问题,则要手工修改,选中问题点击Sym:,确认形状,输入对应的参数,点击Ok即可,完成此动作,在File中选Closs关闭文件。 用同样的方法一层一层的修改其它问题层,改完后最后修改drl钻带文件。首先确认尺寸,然后在Rep 层右键打开D码学习器去修改,确认单位,若有问题则同上方法修改,然后再查看有否连孔,若有则是格式不对,再查看孔位是否很散,若有则是省零格式错误。常用的几种格式:英制inch、mil有:2:3 2:4 2:.5 3:5公制mm有:3:3 4:4 在钻带层(drl)点击右键选择Aview Ascii查看文字档,看最长的坐标,数X、Y有几位数,看坐标如有八位数则用3.5和4.4去修改,在钻带层点击Parameters中选Numberef Fromat修改小数格式,坐标单位同时跟小数格式一改,同时钻带单位也要和坐标单位一致! 省零格式:Leading 前省零,None不省零,Trailing 后省零。 Gerber格式通常是前省零,钻带格式通常是后省零。 层命名、排序、定属性: 改完后点击Ok即可,所有格式改完后,打开所有层,执行进去。执行后,打开 Job Matrix特性表命名层名 层对齐: 打开所有影响层,在层名点击右键,选Register对齐,点击后出现Register Layer Popup窗口。在Referenee Layer:中选择参考层线路层。除了文字层和分孔层不能自动对齐外,其它层可自动对齐,自动对齐后马上关闭影响层。单一打开没有对齐的那层,抓中心,出现Sanp Popup窗口,选Center,然后选Edit→Move→Same Layer 同层移动,点OK,再点击外形框左下角,点击右键,接着打开参考层,按S+A 转换工作层,再点击原参考层外型框即可。图形相隔太远的,可以用Ctrl+A暂停,然后框选放大,确定目标时按S+A转换工作层,再电击原参考层左下角即可。 建外形框: 所有层对齐后,打开分孔图,用网选命令选中外型框,用Edit→Copy→Other Layer 复制到新层,重新命名层名为gko(外型框),点击OK。单一打开gko,框选板内所有不要的东西删除,改单位,然后用Edit→Reshape→Change Symbol更改符号,出现Chang Feetar窗口,其中Symbol(外型线线粗):R200。建Profile虚线: 更改后,用网选命令选中外型框,用Edit→Create→Profile创建虚线。

vb课后练习答案习题解答 (5)

第5章数组与记录 5.1 填空题 1.若要定义一个包含10个字符串元素,且下界为1的一维数组s,则数组说明语句为()。 答案:Dim s(1 To 10) As String 2.若要定义一个元素为整型数据的二维数组a,且第一维的下标从0到5,第二维下标从-3到6,则数组说明语句为()。 答案:Dim a(0 To 5,-3 To 6) As Integer 3.如果数组元素的下标值为实数,则VB系统会按()进行处理。 答案:四舍五入原则 4.数组元素个数可以改变的数组称为();数组元素可以存放不同类型数据的数组称为()。 答案:可调数组、可变类型数组 5.数组刷新语句用于()。若被刷新的数组是数值数组,则把所有元素置();若被刷新的数组为字符串数组,则把所有元素置()。 答案:清除指定数组内容、0、空字符串 10.控件数组是由一组类型和()相同的控件组成,共享()。 答案:名字、同一个事件过程 11.控件数组中的每一个控件都有唯一的下标,下标值由()属性指定。 答案:Index 12.建立控件数组有两种方法:()和()。 答案:在设计阶段通过相同Name属性值来建立、在程序代码中使用Load方法 5.2 选择题 1.下列一维数组说明语句错误的是()。 a) Dim b(100) AS Double b) Dim b(-5 To 0) AS Byte c) Dim b(-10 To –20) AS Integer d) Dim b(5 To 5) AS String 答案:c 2.若有数组说明语句为:Dim a(-3 To 8),则数组a包含元素的个数是()。 a) 5 b) 8 c) 11 d) 12 答案:d 3.设有数组说明语句:Dim c(1 To 10),则下面表示数组c的元素选项中()是错误的。 a) c(i-1) b) c(5+0.5) c) c(0) d) c(10) 答案:c 4.下列数组说明语句中正确的是()。 a) Dim a(-1 To 5,8)AS String b) Dim a(n,n)AS Integer c) Dim a(0 To 8,5 To –1)AS Single d) Dim a(10,-10)AS Double

VisualBasic程序设计作业题解

VisualBasic程序设计作业题解

Visual Basic程序设计作业题解 作业 3 一、选择题 1.Visual Basic根据计算机访问文件的方式将文件分成三类,其中不包括()。 A.顺序文件 B.Unix文件 C.二进制文件 D.随机文件 答案:B 2.随机文件进行文件读写的单位是()。 A.字节 B.记录 C.整个文件 D.字符 答案:B 3.为了使目录路径列表Dir1的内容符合驱动器列表框Drive1的选择,应当()。 A.在Dir1_Click事件中加入 2

Dir1.Path=Drive1.Drive B.在Drive1_Click事件中加入Dir1.Path=Drive1.Drive C.在Dir1_Click事件中加入Drive1.Path=.Drive.Path D.在Dir1_Click事件中加入Drive1.Path=.Dir1.Path 答案:A 4.为了使Drive1驱动器列表框、Dir1目录路径列表框和File1文件列表框能同步协调工作,需要在()。 A.Drive1的Change事件过程中加入Drive1.Drive=Dir1.Path,在Dir1的Change事件过程中加入Dir1.Path=File1.Path代码。 B.Drive1的Change事件过程中加入Dir1.Path=Drive1.Drive,在Dir1的Change事件过程中加入File1.Path=Dir1.Path代码。 C.Dir1的Change事件过程中加入Dir1.Path=Drive1.Drive,在File1的Click事件过程中加入File1.Path=File1.FileName代码。 3

电脑开机显示服务器正在运行中回事

电脑开机显示服务器正在运行中回事 最近有用户反馈说,Win10电脑每次开机都会弹出提示“服务器正在运行中,由于另一个程序正在运行中,此操作无法完成。请选择“切换到”来激活正在运行中的程序,这样就很麻烦了,怎么解决呢?大家请看下文介绍。 方法一:校园宽带拨号软件keeper 导致 1、由于之前在上大学的时候需要安装keeper 来拨号连接,但是回家后就无需拨号就可以联网,可能是keeper 和自动联网存在冲突的缘故,打开开始菜单 -- 设置; 2、点击系统; 3、点击应用和功能,在右侧找到keeper ,点击后会显示卸载按钮,点击将其卸载即可! 方法二:系统服务不正常所引起 1、按下Win键+R组合键打开运行,输入Services.msc回车打开服务

2、在服务页面中找到名为Background In ___igent Transfer Service的服务,我们可以在英文输入法状态下按下 B 即可快速找到该服务; 3、找到Background In ___igent Transfer Service后双击打开,将其启动类型修改为手动,然后点击确定; 4、接着在Background In ___igent Transfer Service上单击右键,选择停止即可! 服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。 服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。 在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。

GENESIS 菜单入门教程

GENESIS2000入门教程 Padup谷大pad paddn缩小pad reroute 扰线路Shave削pad linedown缩线line/signal线Layer 层 in 里面 out外面Same layer 同一层spacing 间隙 cu 铜皮 Other layer另一层positive 正negative负 Temp 临时 top 顶层bot 底层Soldermask 绿油层 silk 字符层 power 电源导(负片) Vcc 电源层(负片) ground 地层(负片) apply 应用 solder 焊锡singnal 线路信号层 soldnmask绿油层 input 导入 component 元器件Close 关闭zoom放大缩小create 创建 Reste 重新设置corner 直角step PCB文档

Center 中心 snap 捕捉board 板Route 锣带repair 修理、编辑 resize (编辑)放大缩小analysis 分析Sinde 边、面Advanced 高级 measuer 测量PTH hole 沉铜孔 NPTH hole 非沉铜孔output 导出 VIA hole 导通孔smd pad 贴片PAD replace 替换fill 填充 Attribute 属性round 圆square 正方形rectangle 矩形 Select 选择include 包含exclude 不包含step 工作单元 Reshape 改变形状profile 轮廓drill 钻带rout 锣带 Actions 操作流程 analyis 分析 DFM 自动修改编辑circuit 线性 Identify 识别 translate 转换 job matrix 工作室

VB语言练习题及答案1

VB语言练习题及答案 1、算法的计算量的大小称为算法的________。 (A)现实性(B)难度(C)复杂性(D)效率 2、设栈S和队列Q的初始状态为空。元素a、b、c、d、e、f依次通过栈S,并且一个元素出栈后即进入队列Q,若出队的顺序为b、d、c、f、e、a,则栈S的容量至少应该为________。 (A)3(B)4(C)5(D)6 3、在深度为5的满二叉树中,叶子结点的个数为________。 (A)32(B)31(C)16(D)15 4、链表适用于________查找。 (A)顺序(B)二分法(C)顺序,也能二分法(D)随机 5、希尔排序法属于________类型的排序法。 (A)交换类排序法(B)插入类排序法(C)选择类排序法(D)建堆排序法 6、序言性注释的主要内容不包括________。 (A)模块的接口(B)模块的功能(C)程序设计者(D)数据的状态 7.在数据流图中,○(椭圆)代表________。 (A)源点(B)终点(C)加工(D)模块 8、软件测试的过程是________。 Ⅰ.集成测试Ⅱ.验收测试Ⅲ.系统测试Ⅳ.单元测试 (A)Ⅰ、Ⅱ、Ⅲ、Ⅳ(B)Ⅳ、Ⅲ、Ⅱ、Ⅰ(C)Ⅳ、Ⅰ、Ⅱ、Ⅲ、(D)Ⅱ、Ⅰ、Ⅳ、Ⅲ 9、数据的逻辑独立性是指________。 (A)存储结构与物理结构的逻辑独立性(B)数据与存储结构的逻辑独立性(C)数据与程序的逻辑独立性(D)数据元素之间的逻辑独立性

10、一个供应商可供应多种零件,而一种零件可由多个供应商供应,则实体供应商与零件之间的联系是________。 (A)一对一(B)一对多(C)多对一(D)多对多 11、下列打开"代码窗口"的操作中不正确的是________。 (A)按F4键(B)单击"工程资源管理器"窗口中"查看代码"按钮(C)双击已建立好的控件(D)执行"视图"菜单中"代码窗口"命令12、为了同时改变一个活动控件的高度和宽度,正确的操作是 ________。 (A)拖拉控件4个角上的某个小方块(B)只能拖拉位于控件右下角的小方块(C)只能拖拉位于控件左下角的小方块(D)不能同时改变控件的高度和宽度 13、Load事件是在窗体被装入工作区时 触发的事件。 (A)用户(B)程序员(C)手工(D)自动 14、.以下Case语句中错误的是________。 (A)Case 0 To8(B)Case Is > 5(C)Case Is > 0 And Is < 6(D)Case 1, 3, Is > 5 15、以下关于函数过程的叙述中,正确的是________。 (A)函数过程形参的类型与函数返回值的类型没有关系 (B)在函数过程中,过程的返回值可以有多个 (C)当数组作为函数过程的参数时,既能以传值方式传递,也能以传地址方式传递 (D)如果不指明函数过称参数的类型,则该参数没有数据类型 16、为了同时改变一个活动控件的高度和宽度,正确的操作是 ________。 (A)拖拉控件4个角上的某个小方块(B)只能拖拉位于控件右下角的小方块(C)只能拖拉位于控件左下角的小方块(D)不能同时改变控件的高度和宽度 17、设a = 3,b = 10,c = 6,以下表达式的值是________。a < b And (Not b>c) Or c

VisualBasic程序设计作业复习资料

Visual Basic程序设计作业答案 作业2 一、选择题 1.B 2.C 3.D 4.B 5.D 6.A 7.B 8.C 9.A 10.D 11.C 12.B 13.D 14.C 15.A 16.B 17.C 18.B 19.D 20.B 二、填空题 1.下拉式菜单弹出式菜单 2.打开另存为颜色字体打印 3.文本框列表框 4.Option Base 1 5.Call语句 6.工程工程属性通用Form1.Show 7.0 8.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值 9.窗体模块标准模块类模块 10.移出内存无效状态 11.(1)2*Cosα*Sinα/(2*α) (2) Sqr(s*(s-a)*(s-b)*(s-c)) (3) Sin(45*3.14/180) 12.(1)x>=1 And x<12 (2) A+B>=C Or a-c<=c (3) a>0 And b>0 Or(a<0 And b<0) 13.False 14.For While Do 15.3 三、阅读下列程序,给出程序运行结果。 1.程序运行后,单击窗体,输出结果为:5050。 2. 3. 4.

3.4 3 5. * *** ***** ******* ********* 四、程序设计题 1. Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x < 100 Then y = x Else If x < 200 Then y = 9.5 * x Else If x < 300 Then y = 0.9 * x Else If x < 500 Then y = 0.8 * x Else y = 0.7 * x End If End If End If End If Text2.Text = y End Sub 2. Private Sub Form_Load() Dim x As Integer x = 100 Do Until x > 200 If x Mod 3 <> 0 Then Text1.Text = Text1.Text & Str(x) & Chr(13) & Chr(10) End If x = x + 1 Loop End Sub

VB第1-4章习题答案

VB习题答案(1-4) 习题1 一、选择题 1. 以下叙述中,错误的是_________。 (A)一个Visual Basic 应用程序可以含有多个标准模块文件 (B)一个visual Basic 工程可以含有多个窗体文件 (C)标准模块文件可以属于某个指定的窗体文件 (D)标准模块文件的扩展名是.bas 标准模块文件(.bas)不属于任何一个窗体文件。参考答案为C。 2. 以下叙述中错误的是_________。 (A)一个工程可以包括多种类型的文件 (B)Visual Basic应用程序既能以编译方式执行,也能以解释方式执行 (C)程序运行后,在内存中只能驻留一个窗体 (D)对于事件驱动型应用程序,每次运行时的执行顺序可以不一样 内存中可以驻留多个窗体,当前窗体只能有一个。参考答案为C。 3. Visual Basic的窗体设计器主要是用来___________。 (A)建立用户界面(B)添加图形、图像、数据等控件 (C)编写程序源代码(D)设计窗体的布局 参考答案为A。 4. Visual Basic是一种结构化高级程序设计语言,它采用的是_________驱动方式。 (A)键盘(B)鼠标(C)事件(D)函数 参考答案为C。 5. Visual Basic程序设计语言属于_________。 (A)面向过程的语言(B)机器语言 (C)面向对象的语言(D)汇编语言 参考答案为C。 6. Visual Basic一共有设计、运行和中断三种模式,要使用调试工具应该_________。 (A)进入设计模式(B)进入运行模式 (C)进入中断模式(D)不用进入任何模式 VB中三种模式分别为:设计模式下可以进行界面设计和代码的编写;运行模式下执行代码,接受用户的操作;中断模式下可以修改代码,但不能改变界面,这个模式下通常进行代码调试,当运行出错时,默认转到该模式下进行调试。参考答案为C。

文件删不掉显示已在另一个程序中打开怎么办删除-

文件删不掉显示已在另一个程序中打开怎 么办删除? 篇一:文件夹删不掉的处理方法 文件夹删不掉的处理方法 使用windows系统在删除文件的时候想必都会遇到文件夹删不掉的情况,文件夹为什么删不掉呢?删不掉的文件通常还在被其他程序或者进程调用,那么这种情况该怎么处理?通常遇到这样的状况我们有两种应对方法: 一、常规处理方法 1.分步删除。如果你删除的是一个文件夹,可以尝试先将文件夹中的文件删除,然后再删除该文件夹。还有一种办法是在该文件夹下面新建一个文件,再对文件夹执行删除操作。 2.改名删除。将不能删除的文件或文件夹改名后再删除。 3.结束进程再删除。当你在删除文件时,如果系统提示“文件正在使用”,首先检查一下是否没有退出与被删文件相关的程序,再看看系统进程中是否还有相关进程保留。这种情况常常出现在我们卸载软件后删除软件残留在系统中文件的时候。 4.重启后再删除。 5.换个系统再删除。使用多系统的朋友可以切换到另外一个系统中执行删除操作,这招比较有效。单系统的朋友则可以在DOS下使用RD(删除目录)或delete命令(删除文件)或者进入到安全模式底下进

行删除操作。 6.结束掉Explorer进程后再删除。按下Ctrl+Alt+Del键打开任务管理器,切换到“进程”选项卡,结束掉Explorer进程,这时候桌面会丢失,不用着急,运行“文件→新任务”,输入“cmd”后回车打开命令行窗口,进入待删文件所在目录,用RD或delete命令删除即可。删除完毕后再次运行“文件→新任务”命令,输入“explorer”后回车,桌面又回来了。 7.关闭预览功能再删除。如果你在资源管理器中使用了视频、图片的预览功能,那么在删除此类文件时常常不成功,解决的办法是关闭该功能:Windows XP用户在“开始→运行”中输入“regsvr32 /u ”即可,Windows 2000用户则在资源管理器中的空白处单击鼠标右键,选择“自定义文件夹”选项,会出现自定义文件夹向导,进入到“请选择模板”窗口后,选择其中的“简易”便可以禁止发频预览了。 二、“移花接木”法 1.覆盖文件再删除。在硬盘的另外区域新建一个和待删文件同名的文件,然后剪切并覆盖待删文件,最后再删除该文件。 2.请常用软件“兼职”删除。我们可以使用Wiar、FlashFXP、Nero、ACDSee来删除顽固文件,这种方法往往有奇效。使用方法非常简单,以FlashFXP为例,只需在本地目录中浏览到待删文件,对其执行删除操作即可。 注意:使用Wiar来删除文件的方法跟其它软件不同,步骤如下:右键单击待删除文件或者文件夹,选择“添加到档案文件”菜单,在

GENESIS脚本编程教材PERL

Perl学习笔记 (2) 1.Perl简介 (2) 2.数据类型 (4) 2.1概览 (4) 2.2命名空间(Namespaces)4 2.3标量(Scalars)5 2.4数组(Arrays)8 2.5关联数组(Hashes)11 2.6引用(References)12 2.6.1Perl引用简介 (12) 2.6.2创建引用 (12) 2.6.3使用引用 (13) 2.6.4符号引用 (14) 2.6.5垃圾回收与弱引用 (15) 2.7数据结构 (16) 2.7.1Arrays of Arrays16 2.7.2Hash of Arrays18 2.7.3Arrays of Hashes20 2.7.4Hashes of Hashes22 2.7.5Hashes of Functions24 3操作符(Operators) (25) 3.1概述 (25)

3.2Perl操作符一览 (25) 3.3各种操作符使用说明 (27) 3.3.1项与左赋列表操作符 (27) 3.3.2箭头操作符 (27) 3.3.3自增自减 (27) 3.3.4乘方 (27) 3.3.5表意一元操作符 (28) 3.3.6捆绑操作符 (28) 3.3.7乘操作符 (28) 3.3.8加操作符 (28) 3.3.9移位操作符 (29) 3.3.9有名一元和文件测试操作符 (29) 3.3.10关系操作符 (30) 3.3.11位操作符 (31) 3.3.12C风格逻辑操作符 (31) 3.3.13范围操作符 (31) 3.3.14条件操作符 (31) 3.3.14赋值操作符 (32) 3.3.15逗号操作符 (32) 3.3.16逻辑and,or,not和xor操作符 (33) 3.4与C操作符的比较 (33) 3.4.1Perl操作符的特别之处 (33)

相关文档
最新文档