当前位置:文档之家› VB中打印机选择

VB中打印机选择

VB中打印机选择
VB中打印机选择

.

(1)

假设你的COMMONDIALOG控件叫CMDiag

用如下代码可以使你选择的打印机成为默认打印机"Printer"

On Error Resume Next

CMDiag.PrinterDefault = True

CMDiag.CancelError = True

CMDiag.ShowPrinter

If Err.Number <> 0 Then Exit Sub

(2)

VB 里面,原本改变预设打印机的方法是:(假设安装有两种打印机(驱动程式))

Set Printer = Printers(0) ' 将预设打印机设定成第一种打印机

Set Printer = Printers(1) ' 将预设打印机设定成第二种打印机

但实际上以上叙述有时候不会成功(原因不详),为了能够成功地改变预设打印机,

以下是呼叫Windows API 的方法:( 此一解决方案适用於Windows 95,98)

1. API 的宣告:

Const HWND_BROADCAST = &HFFFF&

Const WM_WININICHANGE = &H1A

Private Declare Function GetPro Lib "kernel32" Alias _

"GetPro" (ByVal lpAppName As String, ByVal lpKeyName As _

String, ByVal lpDefault As String, ByVal lpReturnedString As String, _

ByVal nSize As Long) As Long

Private Declare Function WritePro Lib "kernel32" Alias _

"WritePro" (ByVal lpszSection As String, ByVal lpszKeyName _

As String, ByVal lpszString As String) As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _

(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As Long

2. 程式范例:

PrinterName = "您想设定的打印机名称"

Dim S As String, length As Long, hKey As Long

S = String(80, Chr(0))

length = GetPro("devices", PrinterName, "", S, Len(S))

S = Left(S, length)

Call WritePro("windows", "device", PrinterName & "," & S)

Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, &H7FFF&, ByVal "windows")

至於改变NT 预设打印机的方法,则是改变登录资料库(Registry)打印机的设定,

在登录资料库中纪录

预设打印机的Value 是:

HKEY_CURRENT_USER

\Software\Microsoft\WindowsNT\CurrentVersion\Windows subkey 的Device value

(3)VB中获取指定打印机的各种纸张类型及大小

放入一个MSFlexGrid,名称为fgd1,列数为4

'Option Explicit

Private Const DC_MAXEXTENT = 5

Private Const DC_MINEXTENT = 4

Private Const DC_PAPERNAMES = 16

Private Const DC_PAPERS = 2

Private Const DC_PAPERSIZE = 3

Private Declare Function DeviceCapabilities Lib "winspool.drv" Alias "De viceCapabilitiesA" (ByVal lpDeviceName As String, ByVal lpPort As Strin g, ByVal iIndex As Long, lpOutput As Any, lpDevMode As Any) As Long Private Type POINTS

x As Long

y As Long

End Type

Private Sub Form_Load()

Dim i As Long

With fgd1

.Clear

.FormatString = "^纸张编号|^纸张名称|^纸张长度|^纸张宽度"

For i = 0 To .Cols - 1

.ColWidth(i) = 1700

Next i

.AllowUserResizing = flexResizeColumns

.Left = 0

.Width = Me.ScaleWidth

End With

GetPaperInfo

End Sub

Private Sub GetPaperInfo()

Dim i As Long, ret As Long

Dim Length As Integer, Width As Integer

Dim PaperNo() As Integer, PaperName() As String, PaperSize() As POINTS '支持最大打印纸:

ret = DeviceCapabilities(打印机名称, "LPT1", DC_MAXEXTENT, ByVal 0&, ByVal 0&)

Length = ret \ 65536

Width = ret - Length * 65536

'lblMaxLength.Caption = Length

'lblMaxWidth.Caption = Width

'支持最小打印纸:

ret = DeviceCapabilities(打印机名称, "LPT1", DC_MINEXTENT, ByVal 0&, ByVal 0&)

Length = ret \ 65536

Width = ret - Length * 65536

'支持纸张种类数

ret = DeviceCapabilities(打印机名称, "LPT1", DC_PAPERS, ByVal 0&, ByVal 0&)

'纸张编号

ReDim PaperNo(1 To ret) As Integer

Call DeviceCapabilities(打印机名称, "LPT1", DC_PAPERS, PaperNo(1), ByVal 0&)

'纸张名称

Dim arrPageName() As Byte

Dim allNames As String

Dim lStart As Long, lEnd As Long

ReDim PaperName(1 To ret) As String

ReDim arrPageName(1 To ret * 64) As Byte

Call DeviceCapabilities(打印机名称, "LPT1", DC_PAPERNAMES, arrPageName(1), ByVal 0&)

allNames = StrConv(arrPageName, vbUnicode)

'loop through the string and search for the names of the papers

i = 1

Do

lEnd = InStr(lStart + 1, allNames, Chr$(0), vbBinaryCompare)

If (lEnd > 0) And (lEnd - lStart - 1 > 0) Then

PaperName(i) = Mid$(allNames, lStart + 1, lEnd - lStart - 1)

i = i + 1

End If

lStart = lEnd

Loop Until lEnd = 0

'纸张尺寸

ReDim PaperSize(1 To ret) As POINTS

Call DeviceCapabilities(https://www.doczj.com/doc/4b11036096.html,bo1.Text, "LPT1", DC_PAPERSIZE, PaperSize( 1), ByVal 0&)

'显示在表格中

For i = 1 To ret

fgd1.AddItem PaperNo(i) & vbTab & PaperName(i) & vbTab & Paper Size(i).y & vbTab & PaperSize(i).x

Next i

'移除第一个空行

fgd1.Row = 1

fgd1.RemoveItem 1

End Sub

Private Sub Form_Resize()

With fgd1

.Left = 0

.Width = Me.ScaleWidth

.Height = Me.ScaleHeight

.Top = 0

End With

End Sub

(5)编写VB打印控制程序的几点心得

摘要本文在总结作者实际开发经验的基础上,详细介绍了VB实现高分辨率打印方法的几点心得。阐述了参数化绘图程序缩短打印程序开发时间的方法以及打印机缩放属性与窗体属性匹配使用的技巧,并总结了解决坐标定位、图形与其实际打印位置出现误差等问题的经验。

关键词 PrintForm 高分辨率打印参数化绘图缩放属性

Some Experiences on VB Print Control

Bai Yang, Wang Peng

Computer Science Department

University of Information and Engineering

Zhengzhou, China

Abstract: On the basis of our working experiences, we have given a detail description about VB print method of high resolution. We focus on how to shorten developing period with parameterized plot program, the match between the zoom attribute and the attribute of display window etc., which based on print program of Printer Object. In addition to this, we have introduced some experiences on dealing with position error that caused by the mismatch between font and graph on screen and that on printer.

Keywords:PrintForm, High Resolution Print, parameterized plot ,zoom attribute

1.简介

Visual Basic(VB)给用户提供了可视化编程环境,因其简单易学、功能强大而得到了广泛的应用。VB提供了两种实现打印的方法。一般在对打印质量要求不高的场合,或者是编程项目的早期开发过程中,可以直接使用VB窗体的Printform方法实现打印。用这种方法实现打印具有编程简单、易用并且功能强大的优点,它只需要通过一行代码,几乎能打印所有内容。实现的方法就是:首先将要打印的内容在屏幕上显示出来,然后开发人员只要为窗体对象激活PrintForm ,窗体则自动将要打印的内容发送到Printer对象上,其语法格式如下:[窗体.]PrintForm。如果窗体中包括图形,那么打印前应先置窗体的AutoRedraw属性为真。这种方法虽然简单,但是它却存在着内存消耗大、打印粗糙、速度慢等缺陷,尤其对于带有滚动条的图像,这种方法只能打印当前可视的区域。在实际应用中经常会遇到对打印质量要求很高的场合,例如打印音乐五线谱,对打印的美观、清晰度以及音符符头的位置都有很严格的要求,这种应用场合若采用VB提供的另一种基于Printer 对象的打印方法则可以获得高分辨率的打印,得到很高的打印质量。在实际应用中,也可以根据实际应用情况将上述两种方法结合起来使用,即:前期工作使用PrintForm 简单的打印方法将窗体的布局定下来,后期再使用基于Printer对象的打印方法实现最终的打印工作。

2.高分辨率打印程序开发心得

⑴ Printer对象

VB的打印可以使用Printer对象。Printer对象是一个独立于打印机设备的封装,它可以代表不同的打印机,初始时,Printer对象为系统缺省的打印机,也可以使用下列语句:Set Printer=Printers(2) (其中2代表Printers集中的第二个打印机)对打印机进行指定。

Printer对象具备例如:ColorMode、Copies、Duplex、Printquality等控制打印机特征的属性,提供了Newpage、EndDoc、KillDoc等控制打印过程的方法,以及大多数由窗体和图片框控件提供的图形属性和方法如:Currentx、Currenty、Textwidth、Textheight、Print、Pset、Line、PaintPicture和Circle等方法,它还拥有Font的所有属性。实现高分辨率的打印就是通过控制Printer对象的上述属性和方法完成的。

⑵ 直接利用Windows公用标准对话框CommonDialog控件【打印】

VB为用户提供了Windows公用标准对话框CommonDialog控件:【打开】、【文件另存为】、【颜色】、【字体】、【打印】。CommonDialog控件在Visual Basic 和Microsoft Windows动态连接库Commdlg.dll例程之间提供了接口。利用公用标准对话框【打印】开发VB的打印程序,将大大缩短程序的开发周期。应用程序中要使用公用对话框,必须首先在工具箱中添加公用对话框控件。该动作通过激活【部件】对话框,选中Microsoft Common Dialog Control6.0, 单击【确定】即可。然后再将公用控件添加到窗体上并设置相应属性,该控件具有的属性有Color、Font、Print、Help等。

VB提供mnu()过程供用户添加开发的打印程序代码。

⑶Printer对象控制打印的基本过程

利用Printer对象开发的打印程序主要靠其提供的——NewPage (打印新的一页,CurrentX、CurrentY置为新页的左上角,可完成多页功能。)、EndDoc (将打印任务加入打印机队列)、KillDoc (取消打印任务)控制打印过程的。一般情况下,打印程序完成多页打印时会多次执行NewPage,结束时执行一次EndDoc将打印任务加入打印机队列。如果你在NewPage后,立即使用EndDoc,VB则不会打印额外的空白页。如果希望显示空白页,则可在新的一页上只使用Printer.Print “ “打印空字符即可。

为了通过Printer对象实现文本和图形的打印,获得最好的打印质量,还需要对VB控制打印机的多种属性有更深入的理解,例如打印机的坐标体系向屏幕坐标体系的转换、打印机字体尺寸的确定等。下面给出了打印程序的主框架:Private Sub mnuClick()

On Error Resume Next

If ActiveForm Is Nothing The n Exit Sub

With dlgCommonDialog ‘打印机公用对话框

.DialogTitle = "打印"

.CancelError = True

.Flags = 1

Printer.FontSize = dlgCommonDialog.FontSize

‘将打印机公用对话框设置的字体大小传递

给打印机

.ShowPrinter ‘在屏幕上显示【打印】公用对话框

If Err <> MSComDlg.cdlCancel Then

Printer.FontTransparent = False ‘初始化打印的字体为不透明

SetPrinterScale Myform ‘匹配打印机的缩放属性与窗体的属性

PrintAnywhere Printer ‘可放置用户编写的打印对象参数化例程

‘实现字符和图形的显示

Printer.NewPage ‘打印机坐标初始化

PrintAnywhere Printer ‘打印另一页的内容

Printer.NewPage ‘打印机坐标初始化 Printer.EndDoc ‘将该任务加入打印机任务队

‘不打印空白页

Printer.KillDoc ‘取消当前的打印任务

End If

End With

End Sub

⑷参数化绘图程序

用VB开发应用程序时,如果使用参数化绘图例程进行屏幕显示程序的开发,则在开发打印程序时,就不需再另行开发代码,从而避免了大量的重复劳动,有效地缩短了程序的开发周期。参数化绘图例程就是:在开发例程时,为每一个例行程序提供一个OBJECT类型的参数,调用程序通过向例程的OBJECT类型参数分别传递窗体、Printer对象,就可分别完成屏幕显示与打印机输出。见如下示例:

Sub PrintAnywhere(Dest As Object)

Dest.Print “HELLO!”

Dest Is Printer The n

Printer.EndDoc

End If

End Sub

要完成屏幕上的输出,调用 PrintAnywhere Myform 即可,而调用 PrintAnywhere Printer则完成在打印机上输出。

⑸属性匹配与窗体缩放

因为控制打印机实际绘图区域大小的属性Height和Width,由目前正在使用的纸张决定,而且可打印的区域与纸张边缘有一定距离。因而为了获得正确的打印输出结果,不能简单地将Printer对象直接传递给绘图例行程序,还必须要解决打印机的缩放属性与显示窗体属性相匹配的问题。即:保证使窗体中的打印内容以正确的大小显示,并居于可打印区域的中间。实际上实现的是打印机的坐标体系向屏幕坐标体系的转换。具体过程是:使用打印机的ScaleX和ScaleY方法,获取以twip为单位的打印机尺寸,再利用窗体的ScaleX和ScaleY方法将这些尺寸转换为窗体中的坐标系统,从而实现以窗体的坐标系统提供打印机可打印区域大小的目的。然后,用这些尺寸作为打印机中新的ScaleWidth和ScaleHeight,即可实现属性匹配。

但是,我们在打印时,经常会遇到这样的场合——在不改变窗体形状的情况下,需要扩大或缩小窗体的大小。要完成这样的工作,不仅需要完成属性匹配,还要确定对象被缩放的系数。程序如下:

Private Sub SetPrinterScale(obj As Object)

Dim pwid As Single, phgt As Single, xmid As Single, ymid As Single Dim owid As Single, ohgt As Single

owid = obj.ScaleX(obj.ScaleWidth, obj.ScaleMode, vbTwips)

ohgt = obj.ScaleY(obj.ScaleHeight, obj.ScaleMode, vbTwips)

‘获取窗体以Twips表示的尺寸

pwid = Printer.ScaleX(Printer.ScaleWidth, Printer.ScaleMode, vbTwips)

phgt = Printer.ScaleY(Printer.ScaleHeight, Printer.ScaleMode, vbTwips)

‘获取打印机以Twips表示的尺寸

If (ohgt / owid > phgt / pwid) Then

s = phgt / ohgt

Else

s = pwid / owid

End If ‘计算缩放因子

pwid = obj.ScaleX(pwid, vbTwips, obj.ScaleMode) / s

phgt = obj.ScaleY(phgt, vbTwips, obj.ScaleMode) / s

‘将打印机的尺寸转换成obj的坐标系统 / 缩放因子x_mid = obj.ScaleLeft + obj.ScaleWidth / 2

y_mid = obj.ScaleTop + obj.ScaleHeight / 2‘设置打印区域的中心点坐标

Printer.Scale (x_mid - pwid / 2, y_mid - phgt / 2)-(x_mid + pwid / 2, y_mid + phgt / 2)

‘设置打印机中新的ScaleWidth和ScaleHeight End Sub

⑹坐标定位

窗体、图片框控件以及Printer对象提供的TextWidth和 TextHeight方法在文本定位的应用方面很有用。TextWidth、 TextHeight分别以对象当前的刻度单位返回字符串的宽度和高度。但是必须注意很多字体中其字符宽度并不全部相同,所以不能简单地将单个字符的宽度乘以字符数来获得字符串的宽度。对那些没有TextWidth和TextHeight的控件可通过设置父窗体的Font属性,使其与该控件的属性相匹配,再利用父窗体的TextWidth和TextHeight获得它的字符串的宽度和高度。

但是,我们在完成屏幕显示程序调试后,在进行打印输出时却出现了屏幕显示与打印结果的不一致性的现象,表现在所打印的字体之间坐标关系与屏幕显示不一样,例如:屏幕显示上的两个字符不重叠,而打印出的字符却出现相互重叠的现象。经调试发现,问题出现在字体尺寸的确定上。程序中,屏幕上显示的字符坐标是通过对象的TextWidth和TextHeight方法计算得来的,它直接受到字体尺寸大小的影响。VB向用户提供的字体是在用户需要的打印机点的范围内,如果你需要的字体大小为73点,则打印出的实际字体大小为72.75。然而窗体、图片框控件的Fontsize只能是整数,例如它不能将字体的大小定为72.75,实际上这就造成了屏幕上显示字体与实际打印字体大小之间产生了误差。我们采用如下方法来解决该问题,就是在计算字体大小时,根据计算出来的字体尺寸,确定它存在的范围,然后再将它定位到VB提供的几种固定大小的字体上,而不是随意指定。当然,也可以有其它的解决办法。例如:字体大小选取偶数等。由于篇幅所限,这里不再作介绍。

以上是笔者在总结实际应用工作中的一些心得与体会,希望本篇文章能对首次使用VB开发打印程序的设计人员有所帮助。

(6)

VB中不是有Printers集合吗

写个For Each循环就能枚举Printers集合中的所有打印机

Printer 对象和Printers 集合

使用Printer 对象可以实现与系统打印机的通讯(最初是缺省系统打印机)。

用Printers 集合可获取有关系统上所有可用打印机的信息。

语法

Printer

Printers(index)

index 所在处表示从0 到Printers.Count-1 之间的整数。

说明

用图形方法在Printer 对象上绘制文本和图形。一旦Printer 对象中含有将要打印的输出信息,可用EndDoc 方法直接将输出信息送到应用程序的缺省打印机上。

如果要打印这些信息,应该检查和可能还要修正窗体的布局。例如,如果用PrintForm 方法打印窗体,则到页底图形图象可能被剪切,而文本则被移到下一页。

Printers 集合可用来查询可用的打印机,这样就可以为应用程序指定一台缺省打印机。例如也许要找出哪些可用打印机用了指定的打印驱动程序。下面的代码查找所有的可用打印机,定位在第一个将页码方向设置为纵向的打印机,然后将其设置为Portrait。

Dim X As Printer

For Each X In Printers

If X.Orientation = vbPRORPortrait Then

'设定为系统缺省打印机。

Set Printer = X

' 终止查找打印机。

Exit For

End If

Next

用Set 语句指定Printers 集合中的某一打印机为缺省打印机。前面的示例指定由对象变

量X 标识的打印机为应用程序的缺省打印机。

注意如果用Printers 集合来确定某一特定打印机,如Printers(3),则只能访问只读属性。如果想访问个别打印机的可读写属性,那么首先要使那个打印机成为应用程序的缺省打印机。

使用打印机集合

打印机集合是一个包括操作系统中所有可用打印机的对象。打印机列表与打印安装对话框

或Windows“控制面板”中的那些有效内容相同。打印机集合中的每台打印机有唯一索引定义。索引

从0 开始,每台打印机都可根据索引编号来引用。

不论用何种打印方法,所有Visual Basic 应用程序打印输出的内容,都直接指向Printer 对象,它最初时代表Windows“控制面板”中指定的缺省打印机。不过,也可把Printers 集合中的任意一台设置为缺省打印机。

使用下列语法,可从打印机集合中选择打印机:

Set Printer = Printers(n)

下列语句打印操作系统中所有打印机的设备名称到“立即”窗口中:

Private Sub Command1_Click()

Dim x As Printer

For Each x In Printers

Debug.Print x.DeviceName

Next

End Sub

注意不能在代码中创建新的Printer 对象实例,也不能在Printers 集合中直接添加或删除打印机。要在系统中添加或删除打印机,应使用Windows“控制面板”。

(7)如何设置windows的默认打印机

Public Function ResetDefaultPrinter(szBuf As String) As Boolean

Dim x As Long

x = WritePro("windows", "device", szBuf)

x = SendMessageByString(HWND_BROADCAST, WM_WININICHANGE, 0&, "windows") End Function

《VB程序设计》综合复习资料习题

《VB程序设计》综合复习资料习题

《VB程序设计》综合复习资料 第一章Visual Basic程序设计概述 一、填空题 1、Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。 2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。 3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。 4、Visual Basic 6.0用于开发__________环境下的应用程序。 二、选择题 1、下面不是VB工作模式的是() A.设计模式B.运行模式C.汇编模式D.中断模式 2、可视化编程的最大优点是() A.具有标准工具箱 B.一个工程文件由若干个窗体文件组成 C.不需要编写大量代码来描述图形对象 D.所见即所得 3、下列不能打开属性窗口的操作是() A.执行“视图”菜单中的“属性窗口”命令 B.按F4键C.按Ctrl+T D.单击工具栏上的“属性窗口”按钮 4、下列可以打开立即窗口的操作是() A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G 5、Visual Basic的编程机制是() A.可视化B.面向对象C.面向图形D.事件驱动 三、简答题 1、代码窗口主要包括哪几部分? 第 2 页共 32 页

2、在工程资源管理器窗口中,主要列出了哪三类文件? 3、窗体布局窗口的主要用途是什么? 4、VB的基本特点是什么? 5、怎样理解可视化设计? 6、怎要理解事件驱动编程? 第二章简单的VB程序设计 一、填空题 1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。 2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。 3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。 4、设置控件背景颜色的属性名称是______________________。 5、所有控件都具有的共同属性是__________________属性。 6、一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________。 7、VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外观和操作。 8、通常情况下,VB中一个工程主要包括如下四个文件:窗体文件、工程文件、类模块文件和_____________文件,后者的扩展名为.Bas,通常由Basic语言编写,是一个可共用的子程序。 9、VB有三种工作模式,分别是设计(Design)模式、_____________和中断(Break)模式。 二、选择题 1、以下能够触发文本框Change事件的操作是() A.文本框失去焦点B.文本框获得焦点 C.设置文本框的焦点D.改变文本框的内容 2、应用程序设计完成后,应将程序保存,保存的过程是() A.只保存窗体文件即可 B.只保存工程文件即可 第 3 页共 32 页

大学VB考试题库

大学VB考试题库 一、单项选择题 1、与传统的程序设计语言相比,Visual Basic最突出的特点是()。 A、结构化程序设计 B、程序开发环境 C、事件驱动编程机制 D、程序调试技术 2、赋值语句:a=123& MID("123456",3,2)执行后,a变量中的值是()。 A、"12334" B、123 C、12334 D、157 3、保存一个工程至少应保存两个文件,这两个文件分别是(B)。 A、文本文件和工程文件 B、窗体文件和工程文件 C、窗体文件和标准模块文件 D、类模块文件和工程文件 4、以下能在窗体Form1的标题栏中显示"VisualBasic窗体"的语句是(C)。 A、https://www.doczj.com/doc/4b11036096.html,="VisualBasic窗体" B、Form1.Title="VisualBasic窗体" C、Form1.Caption="VisualBasic窗体" D、Form1.Text="VisualBasic窗体" 5、为了装入一个VisualBasic应用程序,应当(D) A、只装入窗体文件(.frm) B、只装入工程文件(.vbp) C、分别装入工程文件和标准模块文件(.bas) D、分别装入工程文件、窗体文件和标准模块文件 6、赋给一个数组的数据类型一定要(A)。 A、相同 B、不相同 C、两可 D、都不对 7、下面正确的赋值语句是(C)。 A、x+y=30 B、y=π*r*r C、y=x+30 D、3y=x 8、VisualBasic 6.0集成环境的主窗口中不包括(C)。

A、标题栏 B、菜单栏 C、状态栏 D、工具栏 9、以下叙述中错误的是(C)。 A、Visual Basic 是事件驱动型可视化编程工具 B、Visual Basic应用程序不具有明显的开始和结束语句 C、Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性(计时器) D、Visual Basic中控件的某些属性只能在运行时设置 10、要使Print方法在Form_Load事件中起作用,要对窗体的(C)属性进行设置。 A、Backcolor B、ForeColor C、AutoRedraw D、BackStyle 11、若要使命令按钮不可操作,要对(A)属性进行设制。 A、Enabled B、Visible C、BackColor D、Caption 12、以下叙述中错误的是(B)。 A、一个工程中可以包含多个窗体文件 B、在一个窗体文件中用Private定义的通用过程能被其他窗体调用 C、在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件。 D、一个工程默认的启动对象是Form1 13、Cls方法可以清除窗体或图片框中的(C)内容。 A、在设计阶段使用Picture设置的背景位图 B、在设计阶段放置的控件 C、在运行阶段产生的图形和文字 D、以上均可 14、设x=3,y=5,则以下表达式值为真的是 (C) A、(-3+5>x) And (y>0) B、(x<0) Eqv (y>0) C、(x>y) Or (y>0) D、x>=y And y>10 15、为了防止用户随意将光标置于控件之上,应将进行(D)设置。 A、将控件的TabIndex属性设置为0

vb程序设计试题(含答案)

第一套试题 一、选择题(每题2分,共30分) 1.在VB环境中,工程文件的扩展名是( C ) (A).frm (B).bas (C).vbp (D).frx 2.下面4项中不属于面向对象系统三要素的是( A ) (A)变量(B)事件(C)属性(D)方法 3. \、/、Mod、*这4个算述运算符中,优先级别最低的是( C ) (A)\ (B)/ (C)Mod (D)* 4.要使Print方法在Form_Load事件中起作用,要对窗体的( C )属性进行设置(A)BackColor (B)ForeColor (C)AutoRedraw (D)Caption 5.不论何控件,共同具有的属性是( B ) (A)Text (B)Name (C)ForeColor (D)Caption 6.要使Form1窗体的标题栏显示“欢迎使用VB”,以下语句正确的是( D ) (A)Form1.Caption=“欢迎使用VB”(B)Form1.Caption=ˊ欢迎使用VBˊ(C)Form1.Caption=欢迎使用VB (D)Form1.Caption=〞欢迎使用VB〞 7.VB提供了结构化程序设计的3种基本结构,这3种基本结构是( D ) (A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构 (C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构 8.给变量赋值a=123+MID(“123456”,3,2),a变量中的值是( D ) (A)“12334”(B)123 (C)12334 (D)157 9.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是( D ) (A)If sex=“男”And age<40 And InStr(duty,“教授”)>0 Then n=n+1 (B)If sex=“男”And age<40 And (duty=“教授”Or duty=“副教授”) Then n=n+1 (C)If sex=“男”And age<40 And Right(duty,2)= “教授” Then n=n+1 (D)If sex=“男”And age<40 And duty=“教授”And duty=“副教授” Then n=n+1 10.若要清除列表框的所有内容,可用来实现的方法是( C )

信息考试选择判断-vb语言

题目描述 418 VB中,(B)控件对象在运行时一定不显示。A:Label B:Timer C:TextBox D:CommandButton 419 VB中,将Interval属性值设置为(D)时,计时器控件每隔5秒钟产生一个计时器事件。A:5 B:500 C:300 D:5000 420 VB中,可以弹出一个对话框的函数是(D)A:Int() B:Rnd() C:V al() D:MsgBox() 421 VB中,Rnd(B)函数的值不可能是(B)A:0 B:1 C:0.1234 D:0.00005 422 VB中,Int(5.9)的返回值是(C)A:3 B:4 C:5 D:6 423 "下面程序的运行结果是(B) Private Sub Command1_Click(B) Text1.Text = ""123"" Text2.Text = ""321"" a = Text1.Text + Text2.Text Print a End Sub" A:444 B:123321 C:321123 D:132231 424 VB中正确的循环语句是(B)A:For x=1 to step 10 B:For x=1 to 10 step 2 C:For x=1 to 10 step -1 D:For x=10 to 1 425 "下面程序的运行结果是(B) Dim a As Integer, b As Integer a=6 b=15 S=1+(a*b)/2 Print S" A:6 B:46 C:15 D:45 426 "VB中,执行下面的程序段后,b的值为(A) a = 100 b = 20 a = a + b b = a - b" A:100 B:120 C:20 D:80 427 "x=10 If x<=12 then y=2*x+6 Else y=x/2 End If 上述程序段中y的值是(A)" A:26 B:25 C:10 D:5 428 "下列程序段的运行结果是(C) x=3 Select Case x Case 5 Print ""优秀"" Case 4 Print ""良好"" Case 3 Print ""通过"" Case Else Print ""不通过"" End Select" A:优秀B:良好C:通过D:不通过 429 执行Do……Loop Until语句时(B)A:先判断后循环B:先循环后判断C:顺序执行D:其余说法都不对 430 VB中,定义a为整型变量的语句是(A)A:Dim a As Integer B:Dim a As Single C:Dim a As Date D:Dim a As Byte 431 对VB窗体中控件的操作错误的是(A)A:单击Delete键一次只能删除一个控件B:单击Delete键一次可以同时删除多个控件C:按住Shift键,依次单击每个要选择的控件,可以同时选中多个控件D:按住Ctrl键,依次单击每个要选择的控件,可以同时选中多个控件 432 VB中,多个语句写在同一行时,每个语句之间用(B)符号分隔。 A:, B:: C:. D:; 433 VB中,一条语句要分行书写,用(C)符号作续行符。A:“-”B:“+”C:“_” D:“…” 434 "下列VB程序段执行后x的值为(B)a=8 If a<9 Then x=9 End If Print x" A:8 B:9 C:0 D:1 435 在VB中,表达式9\4的结果是(B)A:2.5 B:2 C:3 D:40 436 在VB中,Int(23.512)的值为(D)A:-23 B:-24 C:24 D:23 437 VB中,定义a为实型变量的语句是(B)

VB程序设计 试题与答案-1

《VB程序设计基础》试题 一、选择题:(每空 2 分,共 20 分) 1. 与传统的程序设计语言相比,Visual Basic最突出的特点是___________。 A. 结构化程序设计 B. 程序开发环境 C. 事件驱动编程机制 D. 程序调试技术 2. Visual Basic 是一种面向对象的程序设计语言,构成对象的三要素是________。 A. 属性、事件、方法 B. 控件、属性、事件 C. 窗体、控件、过程 D. 窗体、控件、模块 3. 窗体模块保存在一个扩展名为__________的文件中。 A. bas B. vbp C. vbg D. frm 4. 下面正确的赋值语句是_________。 A. x+y=30 B. y=π*r*r C. y=x+30 D. 3y=x 5. 设S=“492”,表达式Right(S,1)+Left(S,1)+Mid(S,2,1)的值为__________。 A.“492” B.“249” C.“294” D.“429” 6. 将数学表达式a≤b≤c写成Visual Basic表达式,正确的是__________。 A. a<=b<=c B. a<=b Or b<=c C. a<=b And b<=c D. a<=b Not b<=c 7.为了把焦点移到文本框,所使用的方法是___________。 A. SetFocus B.Visible C.Refresh D.GetFocus 8. INT(100*RND)产生的随机整数的闭区间是_____________。 A.[0,100] B.[1,100] C.[1,99] D.[0,99] 9. 一个数组说明为Dim a(0 to 5,1 to 5) As Integer,则该数组共有_________个 元素。 A. 5 B. 36 C. 30 D. 不确定 10. 下面过程定义语句合法的是____________。

vb单选判断题题库

序号题干答案 1 VB是一种面向对象的程序设计语言。对 2 VB通过窗体管理构成应用程序的各类文件的集合。错 3 VB支持弹出菜单,所谓“弹出菜单”是指单击鼠标后打开的 菜单。 错 4 Visual Basic程序的运行,仅能从某一窗体启动,如Form1 窗体。 错 5 Visual Basic程序的运行可以从Main()过程启动,也可以从 某 个窗体启动。 对 6 Visual Basic提供的几种标准坐标系统的原点都是在绘图区 域 的左上角,如果要把坐标原点放在其它位置,则需使用自定 义 坐标系统。 对 7 单击并拖拽工具箱中所需的控件到窗体上即可完成添加控件 任务. 错 8 Dim i, j as integer 表明i和j都是整型变量。错 9 Single 和Double型用于保存浮点数,在VB中定义单精度浮 点8位 ,双浮点16位. 错 10 Visual_basic是合法的变量名。对 11 可以用"&","+"合并字符串,但是用在数值变量时,"+"可能 会 将两个数值加起来。 对 12 某一过程中的静态变量在过程结束后,静态变量及其值可以 在 其它过程中使用。 错 13 全局变量用global或public关键字声明,且仅在通用声明 处可 以定义。 错 14 如果某子程序add用public static sub add()定义,则该子 程 序的变量都是局部变量。 错

15 设A=3,B=4,C=5,D=6,则表达式A>B And C<=D Or 2*A>C 的值是False。 错 16 所有的VB 的变量,都有隐含说明字符和强调声明两种方法来 定义. 错 17 在VB中,运算 "ABCDE123A" Like "[a*a] " 的结果是True。错 18 在VB中,运算 "D" Like "[! A-Z]" 的结果是True. 错 19 在VB中,运算"ABA"Like"[a?a]"的结果是False。对 20 MsgBox()函数建立的消息框能显示信息也能输入信息。错 21 MsgBox()函数建立的消息框能显示信息也能输入用户的信 息. 错 22 Picture图片框既可用来显示图片和绘制图形,也可用Print 方 法来显示文字. 错 23 在框架控件内的几个单选按钮中,可有一个或多个单选按钮 的Value属性为True。(正确答案:只有一个) 错 24 *.bmp格式的图片,如果在autosize设为False的图片框, 它会 以图片框大小完整显示出来。 错 25 “菜单编辑器”中至少要填“名称”和“标题”这两个框, 才 能正确完成菜单栏的设计。 错 26 ActiveX控件是扩展名为*.ocx的独立文件,使用时需用 “工程”/“部件”载入或移去。 对 27 Circle方法绘制扇形或圆弧图形时,图形的形状不仅与起始 角、 终止角的大小相关,而且与起始角、终止角的正或负相关。 对 28 Frame控件是一种容器控件,因此它可有它自己的坐标系. 错 29 Function函数有参数传递,并且一定有返回值。错 30 Image控件不能用作容器使用。对 31 Image控件使用的资源比Picture控件使用的多. 错 32 Line(500,500) – (2500,2500) 命令能够正确画出矩形。错 33 List1.Clear是清除List1的全部列表项,所以Clear是对象 的方法。 对 34 move方法的一般形式是:对象名.move A,B[,C,D],其中A指 Left ,C 指width. 错

VB程序设计考试题库 优质文档

优质文档VB程序设计考试题库——考试专用 1、题目:(事件)单击窗体(响应)用输入框输入一自然数,判断是"正数"、"负数或"零",并根据输入的数用消息框显示"正数"、"负数”或"零"。 2、题目:(事件)单击窗体。(响应)求200~300之间既能被3整除又能被7整除的数。并求出所有数之和存入变量SUM中 3、题目:单击窗体。(响应)已知S=1+1/4+1/9+1/16+1/25+…+1/100,结果输出在窗体上。 4、题目:(事件)单击窗体。(响应)在窗体上打印数列2/1,3/2,5/3,8/5,13/8…的前10项,并求其和,将和保存在变量s中。 5、题目:(事件)双击窗体。(响应)把一元钞票换成一分、二分和五分的硬币每种至少有一枚),求出其所有的换法,把结果输出在窗体上。将所有的换法的数目存入变量N中 6、题目:单击窗体。)求1!+2!+3!+4!+5!并将结果输出到窗体上。结果存入变量S中 7、题目:(事件)单击窗体。(响应)生成一个一维数组(10个数组元素依此为: ' 15、23、72、43、96、23、3、65、88、17 写程序求出这个数组中的最大值、最小值和平均值,并输出在窗体上。将最大值,最小值,平均值分别存入变量Max,Min,Aver中 8、题目:(事件)单击窗体。(响应)在窗体上输出100~200之间的所有合数。求出所有数之和存入SUM中所谓合数是指自然数中能被1和本数整除以外,还能被其他数整除的数。 9、题目:(事件)单击窗体。(响应)求10~20之间所有素数的乘积并输出在窗体上。将结果存入变量L中。 10、题目:(事件)单击窗体。(响应)求1 - 1/2 + 1/3 - 1/4 + ……+ 1/99 - 1/100的值。将结果存入变量J中。 1题 n = InputBox("输入一个自然数") If n > 0 Then result = "正数" ElseIf n < 0 Then result = "负数" ElseIf n = 0 Then result = "零" End If MsgBox "输入的数据" & n & "为:" & result 2题 Dim i As Integer For i = 201 To 300 If ((i Mod 3) = 0) And ((i Mod 7) = 0) Then Print (CStr(i)) sum = sum + i End If Next Print sum 3题 Dim i As Integer

vb选择与判断

VB 编程基础判断题(0错误 1正确) 1. Excel 可以处理电子表格数据,所以它是程序设计语言。答案: 0 2. 每种程序设计语言都有自己的语法和规则。答案:1 3. 使用VB 设计程序时,可以不用创建工程。答案:0 4. 通常状况下,我们会通过两种方法修改对象属性,一种是利用属性窗口,另一种是利用代码。答案:1 5. 在 VB 开发环境中,如果对象窗口工具箱工程资源管理器属性窗口和窗体布局窗口等被关闭,可以通过“视图”菜单再次打开。答案:1 6. 在VB 窗体中添加第一个标签控件后,该标签控件的Caption 标题属性设置的默认值是“command1”。答案:答案:0 7. 在VB 中,可以借助键同时选中多个对象。答案:1 8. 在VB 中,调整选中的多个控件的大小和位置时,要最后选中作为调整依据的控件。答案:1 9. 在VB 中,一个程序可能包含若干个不同的文件,但一定不包括工程文件和窗体文件。答案:0 10. 在VB 中,一个程序中的工程文件扩展名为vbp ,窗体文件扩展名为frm。答案:1 11. 在VB 中,要想让同一窗体上的3 个按钮控件的大小相同,可以使用“格式”菜单中的“统一尺寸”子菜单的“两者都相同”命令。答案:1 12. 在VB 中,标签一般用来显示信息,文本框用来接受用户输入的信息。答案:1 13. 在VB 程序中,被使用的窗体和控件统称为对象。答案:1 14. 在VB 中,属性窗口通常显示的是当前被选中的对象的具体属性。答案:1 15. 在VB 中,对象的“名称”和“Caption”是两种相同的属性。答案:0 16. 在VB 中,标签和命令按钮显示的文字由其“Text”属性确定,文本框中显示的文字由其“Caption”属性确定。答案:0 17. 在VB 中我们可以接触两种程序界面,一种是窗体中不带网格点的设计界面,另一种是带网格点的运行界面。答案:0 18. 属性窗口有两个选项卡,一个是按字母排序别一个是按类进行排,但都是用来显示某一对象的各种属性的。答案:1 19. 在VB 中,语句命令中的符号,都必须是英文字符。答案:1 20. 在VB 中,一个对象只能响应一种事件。答案:0 21. VB 的代码窗口包括对象名框事件过程名框和代码编辑区3 部分。答案:1 22. 在VB 中,125 是数值型数据,"125"也是数据型数据。答案:0 23. 在VB 中,可以使用“User & name”作为变量名。答案:0 24. 在VB 程序中,使用Option Explicit 后,如果再使用未加声明的变量,运行程序时会出现错误提示。答案:1 25. 在VB 中CStr 函数可以将数值型表达式的值转换成对应的字符串。答案:1

VB程序设计试题及答案一

V B程序设计试题及答案(一) 一、单选题 1. VB6.0是一种面向B 的编程环境。 (A) 机器(B) 对象 (C) 过程(D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。 (A) Forml.Caption=“欢迎使用VB” (B) Forml.Caption='欢迎使用VB' (C) Forml.Caption=欢迎使用VB (D) Forml.Caption="欢迎使用VB" 3. 若要使命令按钮不可操作,要对A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 ……

VB程序设计试题及答案(一)

VB程序设计试题及答案(一) 一、单选题 1. 是一种面向B 的编程环境。 (A) 机器(B) 对象 (C) 过程(D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。 (A) =“欢迎使用VB” (B) ='欢迎使用VB' (C) =欢迎使用VB (D) ="欢迎使用VB" 3. 若要使命令按钮不可操作,要对A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 … … Next x Next x

VB_经典考试题及答案

目录 一、填空题 (2) 二、选择题 (5) 三、程序填空 (18) 四、阅读程序写结果 (25) 五、编程题 (31) 六、历年全国计算机二级等级考试真题(附答案) (33) 2006年4月全国计算机等级考试二级VB笔试试卷 (33) 2005年9月全国计算机等级考试二级VB笔试试卷 (43) 2005年4月全国计算机等级考试二级VB笔试试卷 (50) 2004年9月全国计算机等级考试二级VB笔试试卷 (57)

一、填空题 1、在程序中使用日期型数据时,必须用符号 将日期型数据括起来。 2、VB 集成发环境窗口,它包括了数个独立的窗口。除必须的"主窗口"外,常用的还有 窗口、 窗口、 窗口、工具箱窗口、对象浏览窗口、工程资源管理等窗口。 3、在计算机上建立一个VB 应用程序的完整过程,一般分:建立用户界面的对象、对象属性的设置 、对象事件过程及编程、 程序的运行和调试 和 保存文件 五个步骤。 4、VB 中每个对象都有自己的属性, visible 属性决定控件是否允许可见。 5、在VB 对象的三要素中,可以把 属性 看作一个对象的性质,把 事件 看作对象的响应,把 方法 看作对象的动作。 6、VB 有三种工作模式,它们分别是 模式、 模式和 模式。 7、如果希望每0.6秒钟产生一个计时事件,那么应将InterVal 属性值应设置为 。 8、在VB 中,为了使一个控件在运行时不可操作,应将控件的 enable 属性设置为 false 。 9、为了防止用户编辑文本框内的内容,应将控件的 locked 属性设置为 true 。 10、当要使标签框的大小随着Caption 属性的值进行扩展或缩小时,应将该控件的 autosize 属性设置为 true 。 11、定义一个长度为8个字符的定长字符串变量(Ch5)的Dim 声明语句是 dim ch5 as string*8 。 12、VB 中拥有多个窗体的程序可用 load 语句窗体装入内存,用 unload 语句从内存中删除指定窗体. 13、在多窗体工程中,可用 show 方法显示一个窗体,用 hide 方法将一个窗体隐藏起来。 14、结构化程序设计方法,把程序的结构规定为 三种基本结构,它们是: 选择结构 、 选择 结 构 、 和 __循环结构_________三种基本结构。 15、VB 逻辑数据类型只有True 与False 两个值。当逻辑数据转换成整型数据时,True 转换为 ,False 转换为 。 16、VB 中依据变量的作用范围将VB 变量的作用范围分为三类,它们是: 局部 变量、 全局 变量和 窗体模块 变量。 17、VB 中,对控件(对象)一些属性的设置,即可以通过在 程序代码 中设置,也可以在 属性窗口 中设置,两种方法来设置。 18、在VB 中,静态数组声明中的下标只能是 常 量 。而动态数组Redim 语句中的下标还可以是已赋值 的变量。 19、产生100~200之间(含100和200)的随机整数的表达式是: 。 20、表达式4 AND 5 的运算结果是 4 。 21、VB 中,当KeyPress 事件发生时会返回一个按键 的 ASCii 值。 22、VB 中,用Option Base 1说明后,Dim A (5,5)定义的数组有 25 个元素。 23、表达式“12345”<>“12345”&“ABC ”的值 是 。 24、在Select case 结构中应至少包含一个 __Case____子句。 25、启动VB6.0时,VB6.0默认的工程类型是 标准EXE 程序 。 26、A=7,B=3,C=4,则表达式A MOD 3 +B^3/C\5的值为 2 。 27、若要求在菜单中包含分隔条,则设计时,在菜单的标题属性中应设置为 “— “ 。 28、在For ……Next 循环中,循环次数由循环控制变量的初值、终值与步长三个因素决定,其计算公式为 循环次数=INT (终值-初值)/步长+1 。 29、激活属性窗口的快捷键是 F4 。 30、字符串常量由任何ASCII 字符组成,在程序中,它必须由 双引号 括起来。

《VB程序设计基础》模拟精彩试题

《VB程序设计》模拟试题 ●填空题 1.窗体模块的文件扩展名为 ___FRM_________ 、标准模块的文件扩展名为____BAS______ 、 类模块文件的扩展名为______CLS_______ 。 2.Visual Basic中数据类型可分为 _____标准数据类型________和用户自定义数据类型两大类,前者根据其取值的不同,可分为_____整型_________、 ______长整型_____、布尔型和 ____字符型_________。 3. Abs(-6.5)= _____6.5______;Int(-9.1)= ____-10_______。 4. "程序"& "设计"运算结果为 ___程序设计____ 。 5. Dim a, b as Boolean语句显式声明变量a是___变体___变量,b是___布尔__变量。 6. MsgBox函数的返回值中, VBRetry表示单击了____重试_____按钮,VBYes表示单击了___是_____按钮,VBNo表示单击了_____否____按钮。 7. 要加载窗体,可以在代码中使用___________语句,要显示窗体,可以在代码中使用___________方法,要隐藏窗体,可以在代码中使用Hide方法,要卸载窗体,可以在代码中使用___________方法。 8.对话框分为_________对话框和________对话框两种类型,其中_____________ 对话框最 常用。 9. 对象是Visual Basic应用程序的基本单元,它是由 ___类___创建的。在Visual Basic中可以用属性、 __方法___、___事件___ 来说明和衡量一个对象的特性。 10. 条件判断语句可以使用___If…then____________语句、 ____If…Then…Else______语句和 ______If…Then…ElseIf______语句。Select case 语句 11. 声明一个值为3.14的常量Pi的语句为___Const pi = 3.14______。 12. Do…Loop Until 循环结构中,当条件为____真____时结束循环。 13. 要显示弹出菜单,可以在代码中使用_____________事件。 14. 参数传递有__________方式、__________方式和命名传递方式,常量默认采用__________方式;变量默认采用__________方式;表达式默认采用__________方式。 15. 名称属性必须以一个__字母标点_开始并且最长可达40个字符,不能包括__符号___ 和 ___空格___。 16.Visual Basic的程序模块有3种:____窗体模块____ 、标准模块和 ____类模块____。 17.Visual Basic程序,按其语句代码执行的先后顺序,可以分为___顺序__结构、选择__结构和___循环____ 结构。 18.数组元素下标的下界默认为是_____________,如果要改变其默认值,应使用_____________。 ●判断题 ()1. Visual Basic运行程序的方法只有编译模式。 ()2. 语句Command1.visible=false 与Command1.enabled=false 是等价的。 ()3. InputBox函数和MsgBox函数一样,返回的是字符串。 ()4. 通过类模块,我们不可以根据需要建立自己的控件。 (×)5. 2.1E+5是合法的Visual Basic数据。 ()6. 根据占用内存方式的不同,可将数组分为常规数组和动态数组两种类型。 (√)7. x2是合法的变量名。 ()8. 按照文件的存取方式及其组成结构可以分为两种类型:文本文件和随机文件。

一VB程序设计基础练习题库

一、单选题(共15小题,每小题2分,共30分) 1.以下叙述中,错误的是(B )。 A) 在Visual Basic中,对象所能响应的事件是由系统定义的 B) 对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定 C) Visual Basic中允许不同对象使用相同名称的方法 D) Visual Basic中的对象具有自己的属性和方法 2.下列叙述中,错误的是(C )。 A、VB是可视化程序设计语言 B、VB采用事件驱动编程机制 C、VB是面向过程(对象)的程序设计语言 D、VB应用程序可以以编译方式执行 3.下列(A )是合法的变量名。 A、x_y (合法变量名以字母或下划线头) B、x-y C、2x D、and 4.选拔身高T超过1.7米且体重W小于62.5公斤的人,表示该条件的布尔表达式为(C )。 A、T>=1.7 And W<=62.5 B、T<=1.7 Or W>=62.5 C、T>1.7 And W<62.5 D、T>=1.7 Or W<62.5 5.设a=”Visual Basic”,下面使b=”Basic”的语句是(B ) A.b=Left(a,8,12) B.b=Mid(a,8,5) C.b=Right(a,5,5) D.b=Left(a, 8,5) 取字符串a第8个字符开始的5个 6.如果x小于y的平方,则在窗体上输出“OK”。完成该要求的单行条件语句是(C )。 A、If x < y ^ 2 Then "OK" B、If x < y ^ 2 Then Show "OK" C、If x < y ^ 2 Then Print "OK" D、f x < y ^ 2 Then Put "OK" 7.要使循环体至少执行一次,应使用(D )循环。 A、For …Next B、While …Wend C、Do …Loop[While/Until] D、Do[While/Until] …Loop(先做在判断, 所以会执行一次的) 8.下面程序段求两个数中的大数,不正确的语句是(D )。 A、Max=Iif(x>y,x,y) B、if x>y Then Max=x Else Max=y C、Max=x D、if y>=x Then Max=y(Else) If y>=x Then Max=y Max=x 9.以下条件语句错误的是( A )。 A、If X Then Y = Y + 1 B、If X = 0 Then Y = 0 C、If X > 0 Then Y = 1: Print Y D、If X > Y Then Print Y End If 10.若要求从文本框中输入密码时在文本框中只显示*号,则应用在此文本框的属性窗口中 设置(D )。 A、Text属性值为* B、Caption属性值为*

VB程序设计题库(全)

程序设计 第一题、 题目:(事件)单击窗体 (响应)求 50 以内所有偶数的和,并在窗体上输出来。 将结果存入变量 S 中。 代码: Dim I As Integer For i = 2 To 50 If (i Mod 2)=0 Then S=s+i End If Next Print (CStr(s)) 第二题 题目:(事件)双击窗体 (响应)求 s=1+1*2+1*2*3+ ?.+1*2*3* ?.*10 并将结果存入变量S 中代码: Dim i,j As Integer Dim k As Long k=1 s=0 For i =1To 10

For j=1 To i k=k*j Next s=s+k k=1 Next Print(CStr(s)) 第三题 题目:(事件)单击窗体 (响应)求 100 以内偶数的和,并将结果输出在窗体上。 将结果存入变量 SUM中 代码: Dim i As Integer For i =1 To 100 If i Mod 2 =0 Then Sum=sum+i End If Next Print sum 第四题 题目:(事件)单击窗体 (响应)编写程序求10*11*12+11*12*13+ ? .+15*16*17 的结果 并将结果输出到窗体上。将结果存入变量M中。

代码: Dim i,j As Integer Dim s As Long For i =10 To 15 s=1 For j = i To i +2 s=s*j Next m=m+s Next Print (CStr(m)) 第五题 题目:(事件)双击窗体 (响应)求 100 以内奇数的和,并将结果输出在窗体上。 将结果存入变量 SUM中。 代码: Dim i As Integer For i=1 To 100 If i Mod 2 = 1 Then sum = sum + i End If Next Print sum 第六题

VB条件判断结构程序设计教学案

《VB条件判断结构程序设计》教学案例 职高一计算机王攀【案例背景】 职业高中计算机课程的实施,其课程目标定位于全面提升学生的计算机专业知识,其课程的设置从知识与技能,过程与方法,情感态度与价值观三个方面实施这个课程目标。然而面对学生素质的薄弱,要求教师要结合简单的生活实例,引导学生进行探索式学习,问题从简单的生活实例入手,过渡到课题的研究学习。原本枯燥无味的VB程序设计,在简单、形象的生活实例下,激发了学生的思考与探索思维。这样的教学案例,值得我们反思研究、总结与完善。 【教材分析】 控制结构是《VisualBasic语言程序设计基础》中最重要的章节之一,本节主要研究最基本的条件判断结构,旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。 “条件判断结构”是《VisualBasic语言程序设计基础》第七章第一节的内容,共分三课时,本课为第一课时。主要内容是用选择结构编写简单的程序解决具体问题。用选择结构编写简单的程序解决具体问题是在学生已经掌握了程序设计数据的表示与处理的基础上,理解了顺序结构的前提后提出的。 通过本课的学习,可以促进学生对问题解决方法和思想的理解与掌握,从而提升学生的问题解决能力,让学生在按照一定的流程解决问题的过程中,去体会和理解程序设计的思想,而且也为多分支选择结构的学习打下基础。 【学生分析】 高一的学生在对事物的分析、综合能力及独立思考能力、分析解决问题的能力都有了一定的水平,在教师的有效引导下,有能力进行自我探究,如果用一种学生比较感兴趣的,能够贴近学生日常生活的例子来分析选择结构的话,那么学生会比较感兴趣。【教学目标分析】 通过教师引导学生去探究、发现技术背后所蕴含的技术价值和技术思想,使其获得知识与技能的同时,理解和掌握过程与方法、这样才能够学会认知,学会做事,乃至学会生活,提高终生学习的能力、分析解决问题的能力,满足其终身发展的需要,成为适

相关主题
文本预览
相关文档 最新文档