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

VB中打印机选择

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

(1)

假设你的COMMONDIALOG 控件叫CMDiag 用如下代码可以使你选择的打印机成为默认打印机 ”Printer”

On Error Resume Next CMDiag.PrinterDefault = True CMDiag.Cance lError = True CMDiag.ShowPrinter

If Err.Number <> 0 Then Exit Sub

(2) VB 里面,

原本改变预设打印机的方法是:

(假设安装有两种打印机(驱动程式))

Set Printer = Printers(O)'将预设打印机设定成第一种打印机 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(O)) length = GetPro("devices", PrinterName, "", S, Len(S))

S =

Left(S, length)

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

Call SendMessage(HWND_BROADCAST, WM_WININICHANGE,

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

& S)

&H7FFF&, ByVal "windows")

在登录资料库中纪录

预设打印机的Value 是:

HKEY_CURRENT_USER

\Software\Microsoft\WindowsNT\CurrentVersion\Windows subkey 的Device value (3) VB中获取指定打印机的各种纸张类型及大小

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

'Option Private Explicit

Const DC_MAXEXTENT= 5

Private Const DC_MINEXTENT= 4

Private Const DC_PAPERNAME= 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 ilndex 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 fgdl

.Clear .FormatString = "A纸张编号|人纸张名称|人纸张长度|人纸张宽度”

For i = 0 To .Cols - 1

.ColWidth(i) = 1700

Next i

.AllowUserResizing = flexResizeColumns

.Left = 0

.Width = Me.ScaleWidth

End With

GetPaperlnfo

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, ByVal0&, ByVal0&)

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_PAPERNAMESarrPageName(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 =丘nd

Loop Until lEnd = 0

'纸张尺寸

ReDim PaperSize(1 To ret) As POINTS

Call DeviceCapabilities(https://www.doczj.com/doc/f212871035.html,bo1.Text, "LPT1", DC_PAPERSIZE, PaperSize( 1), ByVal 0&) '显示在表格中

For i = 1 To ret fgdl.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. Wefocus 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 EndDoG KillDoc等控制打印过程的方法,以及大多数由窗体和

图片框控件提供的图形属性和方法如:Currentx、Currenty、Textwidth、Textheight、Print、Pset、Line、PaintPicture 和Circle 等方法,它还拥有Font的所有属性。实现高分辨率的打印就是通过控制Printer对象的上述属性和方法完成的。

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

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 将打印任务加入打印机队歹0。 如果你在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

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

End If End With End Sub

⑷参数化绘图程序

用VB 开发应用程序时,如果使用参数化绘图例程进行屏幕显示程序的开发, 则在开发打

.ShowPrinter

'在屏幕上显示【打印】公用对话框

If Err <> MSComDlg.cdlCancel Then Printer.FontTransparent = False

不透明

SetPrinterScale

Myform

的届性

PrintAnywhere Printer

参数化例程

'初始化打印的字体为

'匹配打印机的缩放届性与窗体

'可放置用户编写的打印对象

'实现字符和图形的显示

Printer.NewPage PrintAnywhere Printer Printer.NewPage

Printer.EndDoc

'打印机坐标初始化 '打印另一页的内容 '打印机坐标初始化

'将该任务加入打印机任务队 Printer.KillDoc '不打印空白贞

'取消当前的打印任务

印程序时,就不需再另行开发代码,从而避免了大量的重复劳动,有效地缩短了程序的开发周期。参数化绘图例程就是:在开发例程时,为每一个例行程序提供一个OBJECT型的参数,

调用程序通过向例程的OBJECTS型参数分别传递窗体、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 至U Printers.Count-1 之间的整数。

说明

用图形方法在Printer 对象上绘制文本和图形。一旦Printer 对象中含有将要打印的输出信息,可

用EndDoc 方法直接将输出信息送到应用程序的缺省打印机上。

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

Printers 集合可用来查询可用的打印机,这样就可以为应用程序指定一台缺省打印机。例如也许要找出

哪些可用打印机用了指定的打印驱动程序。下面的代码查找所有的可用打印机,定位在第一个将页码方向设置为纵向的打印机,然后将其设置为Portrait o

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考试题库 一、单项选择题 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/f212871035.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期末考试试题及答案

二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是 C 。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。 A、Caption B、Name C、Text D、Label 6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。 A、Caption B、Name C、Text D、Value

7、允许在菜单项的左边设置打勾标记,下面哪种论述是正确的 D 。 A、在标题项中输入&,然后打勾 B、在索引项中打勾 C、在有效项中打勾 D、在复选项中打勾 8、当执行以下过程时,在窗体上将显示 A 。 Private Sub Command1_Click( ) Print "VB"; Print "Hello! "; Print "VB" End Sub A、 VBHello!VB B、 VB Hello!VB C、 VB D、 VB Hello! VB Hello! VB 9、语句Print "The answer is:";20/4-2的结果为 B 。 A、The answer is 20/4-2 B、The answer is 3 C、The answer is "20/4-2" D、非法语句 10、下列哪个控件是容器控件 B 。 A、Image B、Picture C、ComboBox D、FileListBox 11、若要将窗体从内存中卸载出去,其实现的方法是 D 。 12、以下选项中,不是 Visual Basic控件的是 A 。 A.窗体 B.定时器 C.单选框 D.命令按钮 13、双击窗体中的对象后,Visual Basic将显示的窗口是 A 。 A.代码窗口 B.工具箱 C.项目(工程)窗口 D.属性窗口 14、可决定窗体的左上角是否有控制菜单的属性是 A 。 15、设有如下语句: Strl=InputBox("输人","","练习") 从键盘上输人字符“示例”后,Strl的值是 D 。 A.“输入” B.“” C.“练习” D.“示例” 16、窗体Form1的Name属性是Frm1,它的单击事件过程名是 C 。 A. Form1_Click C. Frm1_Click D. Me_Click 17、窗体的hide属性的含义是 A 。 A.隐藏 B.展现 C.装入 D.卸载 18、若要设置定时器控件的定时时间,需设置的属性是 C 。 A.Enabled B.Value C.Interval D.Text 19、能够改变复选框中背景颜色的属性是 C 。

VB基本学习知识及其选择,循环结构习题集

一、VB 基本知识及选择、循环结构习题 一、基本概念题 (1) 说明下列哪些是Visual Basic 合法的直接常量,并分别指出它们的类型。 100.0 %100 1E1 123D3 123,456 0100 “ASDF” “1234.5” #2004/10/7# 100# π &O78 &H123 True T -1123! 345.54# (2)下列数据哪些是变量,哪些是常量?是什么类型的常量? Name “name” False ff “11/16/99” cj “120” n #11/12/2004# 12.345 (3) 下列符号中,哪些可以是Visual Basic 的合法变量名? A123 a12_3 123_a a,123 a 123 Integer XYZ False Sin(x) 变量名 sinx π (4)把下列数学表达式写成Visual Basic 表达式: (1)5||z y x ++ (2)6 )1(xy + (3)xy y x 310+ (4)a ac b b 242-+- (5)3211111 r r r + + (6) 110ln 45sin 10 ++++y x e ο (5)写出下列表达式的值: (1)123 + 23 Mod 10 \ 7 + Asc("A") (2)Int(68.555 * 100 + 0.4) / 100 (3)#11/22/2004# - 10 (4)"ZXY" & 123 & "abc" (6)设a=7,b=3,c=4,求下列表达式的值: (1)a + 3 * c (2)a ^ 2 / 4 (3)a / 2 + 3 \ 2 (4)a Mod 3 + b ^ 3 / c \ 5 (7)写出下列函数的值: (1)Int(-3.14159) (2)Fix(-3.14159) (3)Sqr(Sqr(81)) (4)Len("Visual Basic 程序设计") (5)Int(Abs(99 - 100) / 2) (6)Sgn(7 * 3 + 2) (7)LCase("Hellow VB!") (8)Mid("Hellow VB!", 4, 3) (9)Left("Hellow VB!", 3) (10)Val("16个加23个") (11)Str(-459.55) (12)UCase("Visual Basic") 二、 选择题 (1)可以同时删除字符串前导和尾部空格的函数是 。 A. Ltrim B. Rtrim C. Trim D. Mid (2)函数Int(Rnd(1) * 10)是在哪个范围产生随机整数 。 A. (0,1) B. (0,9) C. (1,10) D. (1,9) (3)数学式子sin25o写成Visual Basic 表达式是 。 A.Sin25 B. Sin(25) C. Sin(25o) D. Sin(25*3.14/180) (4)表达式16/4 – 2^3 * 8/4 Mod 5\2的值是 。 A. 14 B. 4 C. 20 D. 2 (5)数学关系式103<≤x 表示成正确的VB 表达式为 。 A. 3<= x <10 B. x >= 3 And x<10 C. x>=3 Or x<10 D. 3<= x And <10 (6)已知A=”12345678”,则表达式Val(Left(a, 4) + Mid(a, 4, 2))的值是 。

vb题库(选择与填空)

一、单选题(每小题1分,共99 分) 1. 假定Picture1 和Text1 分别为图片框和文本框的名称,下列语句中不正确的是______ 。 A Picture1.Print 25 B Text1.Print 25 C Print 25 D Debug.Print 25 2. 在Visual Basic 中要将一个窗体从内存中释放,应该使用以下语句中的______ 。 A UnLoad B Stop C Close D Hide 3. 如果组合框ComBo1中已有10项数据,应使用语句______将数据"Mydata"插入到第5项。 A ComBo1.Insert "Mydata", 4 B ComBo1.Insert "Mydata", 5 C ComBo1.AddItem "Mydata", 5 D ComBo1.AddItem "Mydata", 4 4. 如果列表框List1中已有10项数据,应使用语句______将数据"Mydata"插入到列表框的第3项。 A List1.Insert "Mydata", 3 B List1.AddItem "Mydata", 2 C List1.AddItem "Mydata" ,3 D List1.Insert "Mydata", 2 5. 语句If x=1 Then y=1,下列说法正确的是____________。 A x=1和y=1为赋值语句 B x=1为赋值语句,y=1为关系表达式 C x=1为关系表达式,y=1为赋值语句 D x=1和y=1均为关系表达式 6. 删除列表框中指定的项目所使用的方法为______ 。 A Move B Clear C Remove D RemoveItem 7. 不论何控件,共同具有的属性是______________。 A ForeColor B Name C Text

信息考试选择判断-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)

2016年计算机二级《VB》基础练习题及答案(2)

2016年计算机二级《VB》基础练习题及答案(2) 1[简答题]在名称为Forml的窗体上添加两个名称分别为Textl和Text2的文本框,它们的高、宽分别为300、2400和1200、2400。窗体的标题为“窗口”。请通过属性窗口设置适当的属性,满足如下要求: ①Text2可以显示多行文本,并且有垂直和水平两个滚动条; ②程序运行时在Textl中显示输入的字符为“*”。 程序运行后的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjtl.vbp,窗体文件名保存为sjtl.frm。 参考解析: 【考点分析】本题考点有:窗体的Caption属性,文本框的Name、Width、Hei【ght、PasswordChar、Text、MuhiLine、ScrollBars属性。 【解题思路】文本框控件的MuhiLine属性用于设置文本框是否显示多行文本,值为Tr ue表示是,值为False则表示否。ScrollBars属性设置文本框是否有水平或垂直滚动条,它有0、l、2和3这4个值,0表示没有滚动条(默认值),1表示只有水平滚动条,2表示只有垂直滚动条,3表示有水平和垂直滚动条。文本框的PasswordChar属性常用于设置用某字符(如“*”)屏蔽用户在文本框中键入的内容,常用于口令输入。 【操作步骤】 步骤1:新建一个窗体,按照题目要求建立文本框控件并设置其属性,程序中涉及的控件及属性见表3.8和表3.9。

步骤2:调试并运行程序,关闭程序后按题目要求存盘。 【易错提示】由于ScrollBars属性的设置值较多,易混乱,请考生牢记4个值分别设置的文本框滚动条属性。 2[单选题]在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。 A.外模式 B.内模式 C.概念模式 D.逻辑模式 参考答案:B 参考解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B。 3[单选题]以下关系表达式中,其值为True的是()。 A.1f.XYZ”>”XYz” B.”VisualBasic”<>”visualbasic” C.P the-.=’’there·t D.”Integer”<”Int” 参考答案:B 参考解析:用关系运算符比较两个操作敷时,如果两个操作数是字符型的,按字符的A SCIl码从左到右一一比较,即先比较第1个,若相同再比较第2个,依次比较,直到比较

VB选择题

《VB》期末考试选择题复习(共180题) 1. Visual Basic集成开发环境中不包括下列哪些窗口( )。 A、工具箱窗口 B、工程资源管理器窗口 C、属性窗口 D、命令窗口 参考答案是:D 2. 在设计应用程序时,通过( )窗口可以查看到应用程序工程中的所有组成部分。 A、代码窗口 B、窗体设计窗口 C、属性窗口 D、工程资源管理器窗口 参考答案是:D 3. 在正常安装Visual Basic6.0后,可以通过多种方式启动Visual Basic。以下方式中不能启动Visual Basic的是:( )。 A、通过“开始”菜单中的“程序”命令 B、通过“我的电脑”找到vb6.exe,双击该文件名 C、通过“开始”菜单中的“运行”命令 D、进入DOS方式,执行vb6.exe文件参考答案是:D 4. Visual Basic 6.0工程文件的扩展名是( )。 A、.vbp B、.frm C、.bas D、.cls 参考答案是:A 5. Visual Basic 6.0是面向( )的程序设计语言。 A、过程 B、工程

C、事件 D、对象 参考答案是:D 6. 下列关于 Visual Basic编程特点的叙述中,错误的是( )。 A、Visual Basic 是采用事件驱动编程机制的语言 B、构成 Visual Basic 程序的多个过程没有固定的执行顺序 C、Visual Basic 程序既可以编译运行,也可以解释运行 D、Visual Basic 程序不是结构化程序,不具备结构化程序的 3 种基本结构参考答案是:D 7. Visual Basic 6.0集成开发环境有三种工作状态,不属于三种工作状态之一的是( )。 A、设计状态 B、编写代码状态 C、运行状态 D、运行状态 参考答案是:B 8. 在Visual Basic 6.0中要获取上下文相关帮助,只需将光标定位在相应位置,再按 ( )键即可。 A、F1 B、F2 C、F3 D、F4 参考答案是:A 9. Visual Basic 6.0集成开发环境的主窗口中不包括( )。 A、标题栏 B、菜单栏 C、状态栏 D、工具栏

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练习题(上机)含答案

第一部分 1 在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作: ①随机产生20个0到1000的整数,将其放入一个一维数组中 ②求出所有元素的平均值,并显示在窗体上(如下图所示) Private Sub Cmd1_Click() Dim a%(19), i%, sum!, aver! Randomize For i = 0 To 19 a(i) = Int(Rnd * 1001) sum = sum + a(i) Next i aver = sum / 20 Print aver End Sub 2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。 Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch = Text1 For i = 1 To Len(ch) If Asc(Mid(ch, i, 1)) >= 65 And Asc(Mid(ch, i, 1)) <= 90 Then ch1 = ch1 + LCase(Mid(ch, i, 1)) Else

ch1 = ch1 + UCase(Mid(ch, i, 1)) End If Next i Text1 = Text1 + vbCrLf Text1 = Text1 + ch1 End Sub 3 在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。程序运行后,单击命令按钮完成以下工作: ①随机产生30个0~1000的整数,将其放入一个一维数组中 ②求出其中的最大值,并显示在窗体上。 Private Sub MyCmd1_Click() Dim a%(29), i%, max% Randomize For i = 0 To 29 a(i) = Int(Rnd * 1001) Next i max = a(0) For i = 1 To 29 If a(i) > max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。

vb真题(选择题)

1、下列叙述中,错误的是( A )。(1分) A、一条语句可以分为多行书写,但要在上行末加上VBCrLf B、在同一行上书写多条语句,应在两两语句中加上:号 C、可以用Rem或'注释单行语句 D、VB程序代码不区分字母的大小写 2、下列叙述正确的是( D )。(1分) A、Visual Basic的事件是由用户定义的 B、Visual Basic程序从主窗体开始执行 C、Visual Basic程序是过程驱动的 D、保存一个Visual Basic程序,应分别保存其窗体模块、标准模块和工程文件 3、被对象所识别的动作与对象可执行的动作分别称为对象的( A )。(1分) A、方法、事件 B、事件、方法 C、事件、属性 D、过程、属性 4、下列关于VB编码规则的叙述中,正确的是( C )。(1分) A、一条语句可以分为多行书写 B、多条语句不能书写在同一行上 C、每条语句以分号;结尾 D、应用程序代码字母是区分大小写的 5、( D )不属于面向对象系统的三要素。(1分) A、事件 B、属性 C、方法 D、变量 6、下列叙述中,不正确的叙述是( C )。(1分) A、注释语句是非执行语句,仅对程序的有关内容起注释作用,客观存在不被解释和编译 B、注释语句能放在整个代码程序的最后 C、注释语句可以放在代码中的任何位置 D、代码中加入注释语句的目的是提高程序的可读性 7、下列叙述错误的是( B )。(1分) A、不允许使用行号与标号 B、单条语句可分行书写 C、同一行上可以书写多条语句 D、VB代码不区分字母的大小写 8、窗体设计器是用来设计( B )。(1分) A、应用程序的代码段 B、应用程序的界面 C、对象的属性 D、对象的事件 9、启动Visual Basic后,系统为用户新建的工程起一个名为( A )的临时名称。(1分) A、工程1 B、窗体1 C、工程 D、窗体 10、在界面设计时,双击窗体中的对象后,Visual Basic将显示的窗口是( C )。(1分) A、立即窗口 B、属性窗口 C、代码窗口 D、工程资源管理器窗口 11、VB应用程序在( A )模式下不能编辑代码和设计界面。(1分) A、运行 B、中断 C、设计 D、以上均不能 12、如果要向工具箱中加入控件的部件,可以利用“工程”菜单中的( B )命令(1分) A、引用 B、部件 C、工程属性 D、加窗体 13、如果Visual Basic环境中缺少某个窗口,一般应该从主菜单的( D )下拉菜单中寻找并打开。(1分) A、编辑 B、文件 C、调试 D、视图 14、标准控件不包括( D )控件。(1分) A、驱动器列表框 B、目录列表框 C、文件列表框 D、通用对话框 15、在设计窗体时,如果窗体上没有显示网格会感到不方便,( c )可以使网格出现。(1分) A、使用“编辑”菜单上的相关命令 B、使用“格式”菜单上的相关命令 C、使用“工具”菜单上的相关命令 D、使用“工程”菜单上的相关命令 16、在Visual Basic中,某一事件对应的程序叫( b )。(1分)

VB测验选择题真题精选

VB测验选择题真题精选

————————————————————————————————作者:————————————————————————————————日期:

VB考试真题精选,考前必备神器20 开通黄钻 21, a = 1: b = 2: plus S, a, b: Print S:不能使其输出结果为3的plus过程为( b )。(1分) A、Sub plus(sum, a , b ): sum = a + b: End Sub B、Sub plus(ByVal sum , a , b ): sum = a + b: End Sub C、Sub plus(sum , ByVal a, ByVal b ): sum = a + b: End Sub D、 D、Sub plus(sum , ByRef a , ByRef b ): sum = a + b: End Sub 22、通过关键字( c )声明的局部变量,在整个程序运行中一直存在。(1分) A、Dim B、Public C、Static D、Private 23、过程的作用域分为( c )。(1分) A、窗体级和局部级 B、模块级和局部级 C、窗体/模块级和全局级 D、窗体/模块级和局部级 24、在窗体的通用段声明变量时,不能使用( d )关键字。(1分) A、Dim B、Public C、Private D、Static 25、能在一个工程的所有程序中使用的变量,称为( b )。(1分) A、局部变量 B、全局变量 C、窗体级变量 D、模块级变量 27、使用Public Const语句声明一个全局的符号常量时,应该将该语句放在( b )。(1分)

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考试题及答案

VB程序设计期末考试题 一、选择题 1 下列常量中,是Integer类型常量的是( C )。 A、123& B、-38844 C、123% D、32768 2 下面选项中()是字符连接运算符. A A、& B、And C、% D、Mod 3 下面关于VB的集成开发环境(IDE)的叙述中,不正确的是( B )。 A、IDE是设计、调试、运行VB程序的工具。 B、用户不能随意关闭IDE中的窗口。 C、"窗体设计" 窗口是用来设计应用程序界面(窗体)的。 D、打开 / 关闭各窗口的命令主要在IDE的"视图"菜单中。 4 len(“vb程序设计”)=( C ) 。 A、 5 B、2 C、 6 D、10 5 表达式 15 Mod 4 + 13 \ 5 * 2 的值是 D A、7 B、0 C、2 D、4 6 赋值语句A=123 + Mid$( “123456”,3,2) 执行后,A=(A)。 A、157 B、12334 C、123 D、"12334" 7 在一个语句内写多条语句时,用来分隔每条语句的符号是(C). A、, B、; C、: D、、 8 将逻辑型数据转换成整型数据时,转换规则是( D )。 A、将True转换为 1 ,将False转换为 0 B、将True转换为 1 ,将False转换为 -1 C、将True转换为 0 ,将False转换为 -1 D、将True转换为 -1 ,将False转换为 0 9 表达式2+3*4^5-SIN(X+1)/2中最先进行的运算是(D).

A、SIN B、4^5 C、3*4 D、x+1 10 如果x=2,则表达式x+1>2 Or sin(x)>0.9 And 3>x+3的值( B )。 A、不能计算 B、 True C、5 D、False 11 随机产生[10,50] 之间整数的正确表达式是( D )。 A、Round( Rnd*50) B、 Int(Rnd*40+10) C、Round( Rnd*51) D、 10+Int(Rnd*41) 12 每建立一个窗体,工程管理器窗口中就会增加一个(C). A、类模块文件 B、工程文件 C、窗体文件 D、程序模块文件 13 INT(100*RND(1))产生的随机整数的闭区间是(B). A、[1,100] B、[0,99] C、[0,100] D、[1,99] 14 下列数据类型中,占用内存最小的是(D). A、Integer B、Single C、Boolean D、Byte 15 VisualBasic是一种()程序设计语言.B A、过程式 B、非过程式 C、机器 D、低级 16 函数Int(10*Rnd)是在(A)范围内的整数. A、[0,9] B、[0,1] C、[1,9] D、[1,10] 17 以下合法的一组Visual Basic用户标识符是 C A、Sum 和 8abc B、a#x 和 Pi C、ForLoop 和 Total D、Const 和 DoWhile

大学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、保存一个工程至少应保存两个文件,这两个文件分别是()。 A、文本文件和工程文件 B、窗体文件和工程文件 C、窗体文件和标准模块文件 D、类模块文件和工程文件 4、以下能在窗体Form1的标题栏中显示"VisualBasic窗体"的语句是()。 A、https://www.doczj.com/doc/f212871035.html,="VisualBasic窗体" B、Form1.Title="VisualBasic窗体" C、Form1.Caption="VisualBasic窗体" D、Form1.Text="VisualBasic窗体" 5、为了装入一个Visual Basic应用程序,应当() A、只装入窗体文件(.frm) B、只装入工程文件(.vbp) C、分别装入工程文件和标准模块文件(.bas) D、分别装入工程文件、窗体文件和标准模块文件 6、赋给一个数组的数据类型一定要()。

A、相同 B、不相同 C、两可 D、都不对 7、下面正确的赋值语句是()。 A、x+y=30 B、y=π*r*r C、y=x+30 D、3y=x 8、Visual Basic 6.0集成环境的主窗口中不包括()。 A、标题栏 B、菜单栏 C、状态栏 D、工具栏 9、以下叙述中错误的是( )。 A、Visual Basic 是事件驱动型可视化编程工具 B、Visual Basic应用程序不具有明显的开始和结束语句 C、Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 D、Visual Basic中控件的某些属性只能在运行时设置 11、若要使命令按钮不可操作,要对( )属性进行设制。 A、Enabled B、Visible C、BackColor D、Caption 12、以下叙述中错误的是( )。 A、一个工程中可以包含多个窗体文件 B、在一个窗体文件中用Private定义的通用过程能被其他窗体调用 C、在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件。 D、一个工程默认的启动对象是Form1 13、Cls方法可以清除窗体或图片框中的( )内容。 A、在设计阶段使用Picture设置的背景位图

VB选择题库(3)

1.不论哪种控件,共同具有的属性是Name 2.要使某控件在运行时不可显示,应对其设置的属性是Visible 3.要是窗体在运行时不可改变窗体的大小和没有最大化、最小化按钮,需设置的属性是Borderstyle 4.当程序运行时,系统自动执行启动窗体的事件过程是Load 5.要判断在文本框中是否按下了Enter键,应在文本框的Keypress 事件中判断 6.要使标签控件显示时不覆盖其背景内容,要对其设置的属性是Backstyle 7.复选框的Value属性为0时,表示复选框未被选中 8.将数据项“语文”添加到列表框(list1)中成为第一项应使用的语句是“List1.Addltem”“语文”,“0” 9.执行下面的程序,列表框中的数据项有“1,3” Sub Form_Click() For i = 0 To 4 List1.AddItem i Next For i = 0 To 2 List1.RemoveItem i Next End Sub 10.如果列表框(list1)中没有被选定的项目,则执行List1.RemoveItem List1.ListIndex语句的结果是 D A.移去第一项 B.移去最后一项 C.移去最后加入列表的项 D.其他都不对 11.下列可以把当前目录下的图形文件Pic1.jpg装入图片框Picture1中的语句为“Picture1. Picture=Load Picture(“”Pic1.jpg””)” 12.假定在图片框Picture1中装入了一个图形,为了清除该图形(不是删除图片框)应采用的正确方法是“执行语句Picture1. Picture =Load Picture(“””’”)” 13.当组合框的Style属性值设置为2时,其为下拉式列表框 14.要使定时器无效应将Interval属性取值为0 15.假定定时器控件的Interval属性为1000,Enable属性为Ture,并且有下面的事件过程 Private Sub Timer1_Timer() Beep End Sub 计算机将发出Beep声的次数为 A.1000次 B.0次 C.1次 D.其他都不对 16.下面语句能正确地把列表框list1从1数起的第4项的内容设置为“aaaa”的是“List1.List(3)=””aaaa””” 17. 下面语句能正确地把列表框list1从1数起的第3项的内容设置为“aaaa”的是“List1.List(2)=””aaaa””” 18.在窗体上画一个文本框,为了在程序运行后隐藏该文本框,应使用的语句为Text1.Visible=False 19.在窗体上画一个文本框Text1和一个标签Label1,要求程序运行后,如果在文本框输入字符,则立即在标签中显示相同的内容,一下可以实现上述操作的事件过程的是 “Private Sub Text1_Change() Lebel1.Caption = Text1.Text

vb练习题及答案.doc

vb 练习题及答案 【篇一:vb 习题(含答案)】 lass=txt>1 、vb 程序中,通常不会产生错误提示的是( )。(1 分) a、编译错误 b、逻辑错误 c、运行时错误 d、实时错误 2、在设计阶段,双击窗体上任一空白处,打开的窗口是( )。(1 分) a、工程资源管理器窗口 b、代码窗口 c、工具箱窗口 d、属性窗口 3、下列说法中,正确的说法是( )。(1 分) a、窗体名称和该窗体文件名必须一致 b、窗体名称和该窗体文件名 可以不相同 c、窗体名称和该窗体文件名不能使用汉字 d、窗体名称不能使用汉字、但该窗体文件名能使用汉字 4、visual basic 有完备的help 联机帮助功能,可以通过按下功能 键( )得到帮助。( 1 分) a、f9 b 、f8 c、f1 d 、f5 5、以下( )控件可作为容器使用。( 1 分) a、label b 、picturebox c、textbox d 、image 6、将窗体的boderstyle 属性设置为( )可使窗口不显示标题栏。( 1 分) a、0 b 、1 c、2 d 、5 7、文本框没有( )属性(1 分) a、text b 、name c、caption d 、borderstyle 23、下列( )是不合法的常量。( 1 分) a、100 b 、10e02 c、100.0 d 、10e0.5 24、下列对变量的定义中,定义x 为变体型变量的是( )。(1 分) a、dim x as double b 、dim x c、dim x! d 、x%=23

25、设有如下变量声明:dim testdate as date ,为变量testdate 正确赋值的表达方式是( )。(1 分) a、textdate=#1/1/2002# b 、testdate=#1/1/2002# c、textdate=date(1/1/2002) d 、 testdate=format(m/d/yy,1/1/2002) 26、在立即窗口中运行以下语句,a=beijing :b=shanghai :print a,b 对其输出结果的描述中,正确的是( )。(1 分) a、beijing 和shanghai 中间没有空格 b、beijing 和shanghai 中 间有1 个空格 c、beijing 和shanghai 中间有 6 个空格 d、beijing 和shanghai 前面有7 个空格 27、语句段a=3: b=5:t=a :a=b: b=t 执行后( )。(1 分) a、a 值为3,b 值为3 b 、a 值为3,b 值为5 c、a 值为5,b 值为5 d 、a 值为5,b 值为3 28、下列语句中,正确的是( )。(1 分) a、if x3*y and xy then y=x^3 b 、if x3*y and xy then y=3x c、if x3*y : xy then y=x^3 d 、if x3*y and xy then y=x**3 29、下面程序段dim x%: x=5: if x then y=x+1 else y=x 运行后, y 结果是( )。(1 分) a、5 b 、6 c、1 d 、显示出错信息 30、执行语句 a = inputbox(today, tomorrow, yesterday, 5, 5) , 将显示一个输入对话框,在对话框的输入区中显示的信息是( )。(1 分) a、today b 、tomorrow c、yesterday d 、5 31、窗体上有一个命令按钮command1, 编写如下事件过 程: private sub command1_click() :x = val(inputbox(x=)) : y = inputbox(y=) : print x + y : end sub, 单击命令按钮,先后在两个输 入对话框中输入123 和321 ,窗体显示的内容是( )。(1 分) a、444 b 、123321 c、123+321 d 、出错信息 32、执行语句msgbox aaa, 2, bbb 后,所产生的消息框的标题是 ( )。(1 分) a、aaa b 、bbb

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