61阅读

vb程序设计实例-VB实用小程序

发布时间:2017-09-02 所属栏目:vb编程

一 : VB实用小程序

用VB实现编程离不开函数调用及Windows API函数的调用,以下是笔者收集的一些实用的小例程,它们可以直接用在你的实际编程中,也可以根据实际应用加以扩充完善。其中涉及Windows API函数调用的代码你可以从VB5.0系统的API函数查看器中复制函数定义内容,以避免出错。

1.系统型表单

系统型意味着用户完成当前表单操作之前无法进行其它操作,这对于编制系统口令保护界面尤为重要。如果你希望当前表单系统型表单,需如下定义API函数:

Declare Function SetSysModalWindow Lib "User" (ByVal hWnd As Integer) As Integer

然后调用:oldSysModal = SetSysModalWindow([Form].hWnd)

2.获取驱动器类型

代码如后:

Declare Function GetDriveType Lib “Kernel" (ByVal nDrive As Integer) As Integer

Global Const DRIVE_REMOVEABLE% = 2, DRIVE_FIXED% = 3

Global Const DRIVE_REMOTE% = 4

3.表单在对中

本子程序功能使表单定位在屏幕中央,在表单中任何需要表单对中的地方只需加入一行代码:

“centerwindow.me”即可成功调用。

Public Sub CenterWindow(f As Form)

f.Top = (Screen.Height * .5) - (f.Height * .5)

f.Left = (Screen.Width * .5) - (f.Width * .5)

End Sub

4. 定义变量

许多的程序员习惯于如下定义变量:

Dim iNum, iNextNum, iLastNum as Integer

实际上只有最后一个变量被设为了整型,前两个变量则是系统的缺省的Variant 数据类型,而Variant 数据类型可用来替换任何数据类型,显然对于精练的程序设计是不利的。 正确的方法如下:

Dim iNum as Integer

Dim iNextNum as Integer

Dim iLastNum as Integer

5. 使文本高亮

本子程序使被触发的诸如文本,标签等控件的文本被选中

Public Sub SetSelected()

Screen.ActiveControl.SelStart = 0

Screen.ActiveControl.SelLength = Len(Screen.ActiveControl.Text)

End Sub

6. 关闭其它程序

下面的代码可关闭内存中的其它程序

title = "MyAPP" '定义你需关闭的程序窗口的标题

ihWnd = findWindow(0&, Title)

ihTask = GetWindowTask (ihWnd)

iRet = PostAppMessage(ihTask, WM_QUIT, 0, 0&)

7. 文件存在否?

本函数返回查找的文件是否存在。

Function FileExist(Filename as string) as Boolean

FileExist = IIf(Dir(Filename) <> "", True, False)

End Function

8. 主程序唯一

用下面提供的代码作你的主程序可防止应用程序的多重执行,你应当将它放在确信需要它的代码模块内。

Public Sub Main()

If App.PrevInstance Then

BringWindowToTop frmMain.hwnd

Else

Load frmMain

End If

End Sub

上面这些精悍的代码对于专业程序员来说非常有实用价值,希望你能从中获得启发。

9.用VB编写定时关闭计算机的程序

定时关闭计算机,很显然,有两个关键点:

1.定时。可以用VB中的Timer控件结合计算机的系统时间来进行精确的定时。

2.关闭计算机。这可以调用Win32 API函数 ExitWindowsEx 来关闭计算机。

下面首先来说明一下 ExitWindowsEx 函数,该函数在VB中的声明如下:

Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

【返回值】

Long,非零表示成功,零表示失败。

【参数表】

uFlags --------- Long,

指定下述一个或多个标志(用OR运算符合并到一起)

EWX_FORCE=4

强迫中止没有响应的进程

EWX_LOGOFF=0

中止进程,然后注销

EWX_SHUTDOWN=1

关掉系统电源(如果可能的话,ATX电源就可以)

EWX_REBOOT=2 重新引导系统

dwReserved ----- Long,保留,设为零

好了,现在可以开始编程了。

1. 新建一个标准EXE工程。

2. 在窗体上放置一个TextBox控件,用以输入定时时间。

3. 在TextBox控件之下放置两个OptionButton控件,组成控件数组,用以选择定时模式。

4. 在OptionButton控件之下放置一个CommandButton.

5. 随便在窗体的某地方放置一Timer控件。

以上控件了需要设置的属性值如下:

对象      属性   设置

Text1       Text   空

Option1(0)    Caption   在指定时间关机

Option1(1)    Caption   延迟指定的时间关机

Command1    Caption   确定

Timer1      Interval   15000(精确到1/4分钟,

如要更精确可减少该值)

Enabled     False

增加代码如下:

标准模块:

Option Explicit

Public Const EWX_SHUTDOWN = 1 '关闭系统

Declare Function ExitWindowsEx Lib

"user32" (ByVal uFlags As Long, ByVal

dwReserved As Long) As Long

窗体模块:

Option Explicit

Dim txtTime   '保存输入时间

Dim nowTime   '保存实时时间

Dim oldTime   '保存开始定时时间

Private Sub Command1_Click()

oldTime = Time

If Not IsDate(Text1.Text) Then

'用IsData函数判断输入的时间格式

MsgBox "你所输入的不是时间格式,请重试!", , "Wrong"

Else

txtTime = TimeValue(Text1.Text)

End If

Timer1.Enabled = True

'启动定时器

Me.WindowState = 1

'最小化窗体

End Sub

Private Sub Timer1_Timer()

nowTime = Time

If Option1(0).Value Then

If DateDiff("s", nowTime, txtTime) < 0

Then  '用DateDiff函数判断是否到时间了

If Not ExitWindowsEx(EWX_SHUTDOWN, 0)

Then    MsgBox ("无法关闭计算机")

End If

End If

Else

If DateDiff("s", nowTime, oldTime + txtTime) < 0

Then  If Not ExitWindowsEx(EWX_SHUTDOWN, 0)

Then      MsgBox ("无法关闭计算机")

End If

End If

End If

End Sub

结束语:以上程序在VB5.0/6.0和Win98上调试通过。其实,此程序还可增加一些花样,譬如,最后窗体不是最小化,而是调用Win32 API函数,把她的图标放在系统任务栏里,即在右下角有声音,时间等图标的地方,那是另外一个主题了。

10.

二 : VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

Visual Basic 程序设计学习与实验指导答案

上篇 学习指导

第1章 Visual Basic 概述

1. 事件 2. 查看对象 3. 工程

4. 视图 属性窗口 5. 窗体编辑器

第2章 面向对象程序设计初步

1. 控件 2. 事件 3. 类 属性 4. 属性 5. 略 6. Name

第3章 Visual Basic 语言基础

1. (a*sin(30/180*3.14)+c*(log(b)/log(10)))/((Abs(d)+1)*(e+f))+1

1

西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

2. mod

3. X=Int(X) And Y=Int(Y) And X*Y>0

4. 4.Y Mod 4=0 And Y Mod 100<>0 Or Y Mod 400=0

5. x=Int((99-10+1)*Rnd+10)

6. 0 “”

7. 空格

8. 6,845.30

9.

(1)8

(2)1

(3)abcd

(4)出错,类型不匹配

(5)False

(6)2008-6-29

(7)I likeVB

(8)4

(9)4 4

(10)3 4

(11)10 -10

(12)-1

(13)aa

(14)3

(15)0

(16)1

(17)C

(18)5

(19)8

(20)34.54

(21)中国

(22)上海

(23)VISUAL BASIC

(24)visual basic

10.

(1)x<-100 or x>100

(2)a=Int(a) And b =Int(b) Or a<0 And b<0

(3)x<=y or x>=z

(4)a>0 And a<>Int(a)

(5)a=0 xor b=0

(6)Len(S)<10

(7)UCase(S)=S

(8)Left(S,1)=”a” And Right(S,1)=”a”

(9)Instr(S,”@”)<>0

(10)Trim(S)=S

(11)Date=#8/8/2008#

2 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

(12)Weekday(Date)=2

第4章 程序控制结构与算法基础

一.简单填空

1. Randomize

2. N=Int((99-10+1)*Rnd+10)

3. M=(Int((100-10+1)*Rnd+10))/10

4. Exit For

5. Exit Do

二.读程序写结果

1. 150 12

2. 22 23 -1

3. 5 3 0

4. 20 40 60

三.程序填空

1. Len(s)

Mid(s,i,1)

c>=”A” And c<=”Z”

c>=”a” And c<=”z”

c>=”0” And c<=”9”

n3=n3+1

2. 0

1 n-1

n Mod i=0

sum+i

sum=n

3. 1000

CStr(n)

CStr(n*n)

Right(s2,Len(s1))=s1

4. 100 200

2 N-1

Exit For

count+1

count Mod 5=0 Print

5. sum=1

a*x^2/((2*n-1)*(2*n))

sum+a

Abs(a)<=0.0000001

3 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

第5章 数组的应用

1. 120 36 2. 10 31 7 3. 26 14 26 三.程序填空 1. A(i,j);

Picture1.Print A(i.1) 1 A(i,j) j

“第” & i & “行最大数是” & Max Data & “,第” & Maxj & “列” 2.

www.61k.com & A(i); k

preserve B(k) B(k)=A(i) 3.

Sqr(n - m) = Int(Sqr(n - m)) ReDim Preserve B(k) n

A(m) & "和" & B(m) 4.

Int((100-50+1)*Rnd+50) 1

B(i)+1

第6章 过程

4 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

四.读程序写结果

1. x=2,y=2 m=2

2. 9 4,5,9 27

3. 50 26

4. 5 64,5

5. 7,14 11,22 15,30

6. 29 29 3

7. 12 25

下篇 实验教程

实验2 Visual Basic 变量、函数与表达式的使用

实验2-1 算术运算符的使用

13

17

8

3

3

2

2

6

2

-2

-2

2007-10-15

3 2.857143 2.85714285714286

实验2-2 字符运算符的使用

200710

200710

2017

2007-10-1010

2007-10-20

出错,类型不匹配

实验2-3 关系运算符的使用

False

False

5

西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

抱歉,获取内容失败请稍后刷新尝试

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

sua Basic Basic 6.0 abcde EFG

Basic Basic Basic

Visual Basic 6.0 Basic 8 8

aaa dd

2011-3-15

2011-3-15 14:35:52

15

3

2011

3

001.73

1.73

1.73

17.32E-01

0173%

实验3

实验3-1 三个数的交换

A=C

C=B

B=T

B

C

实验3-2 求周长和面积

Const PI=3.1415926

2*PI*R

PI*R*R

Picture1.Cls

Format(L, ".00")

Format(M, ".00")

实验3-3 求分段函数的值

x=Val( www.61k.com )

y=1+Sin(x)

y=Log(x)

www.61k.com = ""

www.61k.com = ""

算法基础及程序控制结构

7 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

实验3-4 求一元二次方程的根

Val( www.61k.com )

Val( www.61k.com )

扩展:vb学习与实验指导 / vb学习与实验指导答案 / vb程序设计学习指导

b ^ 2 - 4 * a * c

"x1=" & (-b + Sqr(delt)) / (2 * a)

"x2=" & (-b - Sqr(delt)) / (2 * a)

www.61k.com = ""

www.61k.com = ""

End

实验3-5 判断素数

N Mod k = 0

k=N

N Mod i=0

k=2

实验3-6 求最大公约数和最小公倍数

M<N

L=M

L=N

M Mod k = 0 And N Mod k = 0

www.61k.com = k

Exit For

M>N

L=M

L=N

k Mod M = 0 And k Mod N = 0

www.61k.com = k

Exit For

实验3-7 判断升序数、降序数

CStr(N)

Len(S) – 1

Mid(S, k, 1) >= Mid(S, k + 1, 1)

k = Len(S)

N = Val( www.61k.com )

S = CStr(N)

For k = 1 To Len(S) - 1

If Mid(S, k, 1) <= Mid(S, k + 1, 1) Then Exit For Next k

k = Len(S)

实验3-8 判断回文数

1

8 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

Len(s)\2-1

Mid(S, k, 1) <> Mid(S, Len(S) - k + 1, 1)

k = Len(S) \ 2

Mid(S, k, 1) + S1

S = S1

实验3-9 求级数的值

Val( www.61k.com )

1

x ^ n

s * n

t / s <= 10 ^ -6

www.61k.com = y

实验3-10 查找数字串并求和

www.61k.com = ""

www.61k.com = ""

List1.Clear

www.61k.com

False

While Mid(s, i, 1) >= "0" And Mid(s, i, 1) <= "9" Flag = True

k = k * 10 + Mid(s, i, 1)

i = i + 1

Flag = True

sum + k

www.61k.com = sum

实验3-11 随机产生20个奇数

Int((99 - 10 + 1) * Rnd) + 10

a Mod 2 = 1

n Mod 5 = 0

Picture1.Cls

实验3-12 加密解密

Chr(Asc("a") + (Asc(c) - Asc("a") + 3) Mod 26)

c = Chr(Asc("A") + (Asc(c) - Asc("A") + 3) Mod 26) c & s2

www.61k.com

Len(s2)

Mid(s2, i, 1)

9 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

c = Chr(Asc("a") + (Asc(c) - Asc("a") + 23) Mod 26) c = Chr(Asc("A") + (Asc(c) - Asc("A") + 23) Mod 26) c & s1

s1

www.61k.com = ""

www.61k.com = ""

实验3-13 统计单词个数

www.61k.com

Mid(s, i, 1) <> " " And i <= Len(s)

i = i + 1

Mid(s, start, i - start)

n

www.61k.com = ""

List1.Clear

实验4 数组的使用

实验4-1 一维数组的产生及输出

i = 1 To 20

Int((9 - 0 + 1) * Rnd + 0)

i = 1 To 20

Print a(i);

Print

i = 1 To 20

Picture1.Print a(i);

If i Mod 5 = 0 Then Picture1.Print

i = 1 To 20

www.61k.com & Space(2) & a(i)

If i Mod 5 = 0 Then www.61k.com = www.61k.com & vbCrLf v In a

If i Mod 5 = 0 Then Picture2.Print

实验4-2 选手得分

Int((50 - 10 + 1) * Rnd + 10) / 10

i = 1 To 6

sum = sum + score(i)

max = score(1)

min = score(1)

score(i) > max Then max = score(i)

score(i) < min Then min = score(i)

(sum - max - min) / 4

10 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

实验4-3 产生10个互不相同的整数 Int((999 - 10 + 1) * Rnd + 10) t Mod 10 = 5

Then Exit For

n= n + 1

a(i) = t

For i = 1 To 10

Print a(i);

If i Mod 5 = 0 Then Print

Next i

实验4-4 统计数字出现的次数

IsNumeric(S) = False

Exit Sub

Len(S)

c >= "0" And c <= "9"

A(c) = A(c) + 1

A(k) <> 0

m = m + 1

实验4-5 排序

1 To 10

Int((99 - 10 + 1) * Rnd + 10) www.61k.com & A(n) & " "

1 To 9

i + 1 To 10

A(i) > A(j)

T = A(j)

A(j) = A(i)

A(i) = T

1 To 9

10 - i

A(j) > A(j + 1)

T = A(j + 1)

A(j + 1) = A(j)

A(j) = T

1 To 10

www.61k.com = www.61k.com & A(i) & " " 10

T = A(i)

j

i - 1

11 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

k + 1

1 To 10

www.61k.com = www.61k.com & A(i) & " "

实验4-6 二维数组的产生及输出

1 To 4

1 To 5

Int((9 - 0 + 1) * Rnd + 0)

1 To 4

1 To 5

Print A(i, j);

Print

1 To 4

1 To 5

Picture1.Print A(i, j);

Picture1.Print

1 To 4

1 To 5

www.61k.com = www.61k.com & A(i, j) & " "

www.61k.com = www.61k.com & vbCrLf

实验4-7 查找最大和最小元素及其位置

1 To 3

1 To 4

A(i, j) = Int((99 - 10 + 1) * Rnd + 10)

Picture1.Print A(i, j);

Picture1.Print

A(1, 1), 1, 1

A(1, 1), 1, 1

A(i, j)

i

j

A(i, j) < min

A(i, j)

i

j

扩展:vb学习与实验指导 / vb学习与实验指导答案 / vb程序设计学习指导

"最大元素" & "A(" & maxi & "," & maxj & ")=" & max "最小元素" & "A(" & mini & "," & minj & ")=" & min

实验4-8 矩阵转置

Dim A() As Integer

"请输入N的值"

ReDim A(N, N) As Integer

For i = 1 To N

12 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

For j = 1 To N

A(i, j) = Int((99 - 10 + 1) * Rnd + 10) www.61k.com = www.61k.com & A(i, j) & " " Next j

www.61k.com = www.61k.com & vbCrLf

Next i

t = A(i, j)

A(i, j) = A(j, i)

A(j, i) = t

For i = 1 To N

For j = 1 To N

www.61k.com = www.61k.com & A(i, j) & " " Next j

www.61k.com = www.61k.com & vbCrLf

Next i

实验5 过程

实验5-1 孪生素数和降序素数

Dim i As Integer

For i = 2 To N - 1

If N Mod i = 0 Then Exit Function Next i

Prime = True

Dim a As Integer

Dim b As Integer

a = N \ 10

b = N Mod 10

If a > b Then

DecNumber = True

Else

DecNumber = False

End If

10 To 100

Prime(i) = True And Prime(i + 2) = True List2.AddItem i & "和" & i + 2

DecNumber(i) = True And Prime(i) = True List3.AddItem i

实验5-2 求多项式和

k = 1

a = f(x, k)

S + a

k = k + 1

13 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

Single As Single

Dim i As Integer, a As Single

a = (x + 1) / x

For i = 2 To k

a = a * (x + i) / ((2 * i - 1) * x)

Next i

a

实验5-3 进制转换

Asc(C) - Asc("A") + 10

Left(S, k - 1)

Mid(S, k + 1)

Change(Mid(S2, i, 1)) * N ^ (0 - i)

T1 + T2

Tran(8, S)

Tran(16, S)

Not (C >= "0" And C <= "7" Or C >= "A" And C <= "F" Or C = ".")

实验5-4 Armstrong数

i As Long, a As Long, b As Long

www.61k.com

实验5-5

Option Base 1

Dim a(5) As Integer

Dim b(5) As Integer

b(i) = i * i + 1

www.61k.com = www.61k.com & b(i) & " "

1 To 5

1 To 5

Gcd(a(i), b(j)) = 1

Gcd = K

Exit For

实验5-6

Create(a)

Output(a)

Sort(a)

Output(a)

GetMaxMin(a, MaxData, MinData)

MaxData

MinData

Average(a)

Int((99 - 10 + 1) * Rnd + 10)

14 西华大学 电气信息学院By yzq

vb编程学习 VB程序设计学习与实验指导答案

清华大学出版社:蒋银珍 沈玮 吴瑾 编著

1 To UBound(a)

a(i);

a(i) > a(j)

t = a(j)

a(j) = a(i)

a(i) = t

2 To UBound(a)

a(i) > M

M = a(i)

a(i) < N

N = a(i)

s = s + a(i)

Average = s / UBound(a)

实验6 界面设计

实验6-1 用户登陆

MsgBox "请登录!"

PassWordInput= www.61k.com

UserIdInput=UserId And PassWordInput=PassWord

CmdReset_Click

实验6-2 学籍登记

OptXb(0).Value = True

List1.AddItem Space(4) & xh & Space(6) & xm & Space(6) & xb & Space(12) & xy & Space(16) & zy & Space(4)

www.61k.com List1.ListIndex

实验6-3 字体格式设置

Select Case OpFont

Check2.Value = 1

OpColor = Index

OpFont = Index

实验6-4 兴趣调查

List1.AddItem Item

End

Select Case Index

Item = www.61k.com

实验6-5 调色板

15 西华大学 电气信息学院By yzq

扩展:vb学习与实验指导 / vb学习与实验指导答案 / vb程序设计学习指导

三 : VB程序设计案例教程 第一章绪论

第0章 绪论

(时间:4学时)

第0章 绪论
?

?

教学提示:本章简要介绍Visual basic(以下简称VB)语 言。通过本章的学习,读者将了解VB程序设计语言的基 本特点、主要功能,同时初步认识了VB集成开发环境和 用VB开发应用程序的步骤及一些基本概念。 教学目标:掌握集成开发环境中的标题栏、菜单栏、工 具栏、工具箱、窗体设计窗口、工程窗口、属性窗口的 作用。掌握建立VB应用程序中的用户界面设计、编写代 码、运行程序、保存程序的操作方法及生成可执行程序 的方法。

第0章 绪论
? ?

?
?

0.1 简介和工作环境 0.2 案例1 输入个人人信息 0.3 面向对象的程序设计简介 0.4 Visual Basic语言基本概念

0.1 Visual Basic简介和工作环境
? ? ? ?

0.1.1 0.1.2 0.1.3 0.1.4

Visual Basic 6.0的简介 Visual Basic 6.0的工作环境 代码编辑器 获取帮助

0.1.1 Visual Basic 6.0简介 1、主要特点
1. 2. 3. 4. 5. 6. 7. 8. VB 6.0是目前最容易学习的程序设计语言 VB 6.0有非常完善的帮助系统 VB 6.0采用了面向对象的程序设计方法 VB 6.0采用了事件驱动机制 简单的结构化编程语言 提供了功能强大的Active控件和对象 VB 6.0是有力的Internet开发工具 VB 6.0有先进的数据技术

2、Visual Basic 6.0的版本
目前主要使用的是VB 6.0版本,是美国微软公司Microsoft Visual Studio开发工具套件中的成员之一。 VB 6.0共有3个版本:学习版、专业版和企业版。

? 学习版是初学者学习而设计的,它包含全部的标 准控件和数据库、网络等控件。
? 专业版包括了学习版的全部功能,还增加了 ActiveX、Internet等控件开发工具,是一个中间版本。 ? 企业版是最高版本,它包括了专业版的全部功能, 并且增加了BackOffice工具。

0.1.2 VB 6.0的工作环境
?Visual Basic 6.0的系统要求

?Visual Basic 6.0的安装
?VB 6.0的启动与退出

?VB 6.0集成开发环境

Visual Basic 6.0的系统要求
为了能很好运行VB 6.0,安装VB 6.0的计算机应满足: ? CPU应为586或更高的微处理器 ? 需要16M 以上内存。 ? 硬盘空间要在100M以上。 ? 系 统 已 经 安 装 了 Windows95/98/2000 或 WindowsNT3.51/4.0。 具有CD-ROM等外部设备。

Visual Basic 6.0的安装
VB 6.0提供了友好的安装界面,帮助用户正确进行安装, 具体安装步骤如下: (1) 将VB 6.0的安装光盘放入光驱,然后在资源管理器 中执行安装光盘上的Setup程序。 (2) 显示【Visual Basic 6.0中文企业版安装向导】对 话框,然后在安装向导的提示下完成安装即可。

VB 6.0的启动与退出
使用下面两种方式可启动VB 6.0。 ? 选择【开始】|【程序】|Microsoft Visual Basic 6.0命令。 ? 若 建 立 了 快 捷 方 式 , 可 双 击 Windows 桌 面 的 Microsoft Visual Basic

6.0应用程序图标。 启动VB 6.0后,将出现【新建工程】对话框。选择【新建】选 项卡中的【标准EXE】,单击【打开】命令按钮便进入了VB 6.0集成开发环境。

? ? ?

使用下面方法退出VB 6.0。 单击VB窗口的关闭按钮。 选择【文件】菜单中的【退出】命令。

VB 6.0集成开发环境
?

VB 6.0集成开发环境的用户界面如下图所示。
标题栏 工具栏

菜单栏

窗体设计 工具箱

工程资源管理 器 属性窗口

代码窗口 窗体布局窗口

?

1. 标题栏 位于窗口顶部,显示着窗体控制菜单图标、标题、最小化 按钮、最大化/还原按钮和关闭按钮。 标题栏能表示三种状态,三种状态分别是:设计状态、运 行状态和中断状态。

?

菜单栏 位于标题栏的下方,菜单栏中显示【文件】、【编辑】、 【视图】、【工程】等13个菜单项。每个菜单项都有一个 下拉菜单,在下拉菜单中列出各种执行命令。

?

工具栏 位于菜单栏的下方,工具栏中提供了部分用图标表示的最 常用菜单命令。当鼠标指针指向某个图标,将显示该图标 功能的简要提示信息,单击图标即可执行相应命令。

?

工具箱 位于窗体设计窗口的左侧。每个控件用一个图标表示。利 用这些工具可以在窗体上设计各种控件。

?

窗体设计窗口 位于集成开发环境工作区的中间,窗体设计窗口是程序员是 设计图形用户界面的工作台。各类控件对象必须建立在窗体 上,用它创建应用程序的外观,运行程序时窗体即为窗口。

?

代码窗口 位于集成开发环境工作区的中间,用它可编辑程序代码。

?

工程资源管理器窗口 位于窗体设计窗口的右上部,它以树状显示当前工程包含 的所有文件。VB把一个应用程序称为一个工程。一个工程 至少包含一个工程文件(.vbp)和一个窗体文件(.frm)。

?

【属性】窗口 位于窗体设计窗口的右侧,【属性】窗口用来为窗体和 控件设置各种属性如颜色、字体、大小等。

?

【窗体布局】窗口 位于窗体设计窗口的右下侧,【窗体布局】窗口可调整程 序运行时窗体显示的位置。

0.2 【案例1】输入个人信息
0.2.1 程序设计过程
0.2.2 程序的保存与运行

0.2.3 创建安装程序与安装应用程序
0.2.4 使用VB开发应用程序的步骤

0.2.1 程序设计过程
设计过程如下: 1、设计程序界面

2、设置对象的属性
3、输入代码程序

0.2.2程序的保存与运行
?

运行程序 单击工具栏中的启动按钮或按F5功能键便可运行程序。用鼠 标单击【确定】命令按钮时,将在窗体上显示“你单击了命 令按钮”。若单击窗体,则在窗体上显示“你单击了窗体”。

?

保存程序 设计好的应用程序应该以文件的

形式保存到磁盘上。我们要 编写的绝大多数应用程序对应VB一个工程,由于一个工程会 含有多种文件,至少含有一个工程文件和一个窗体文件,这 些文件集合在一起才能构成应用程序。 窗体文件的扩展名是(.frm) 工程文件的扩展名是(.vbp)

0.3 面向对象的程序设计简介
0.3.1程序设计中的基本概念 1、面向对象的程序设计 2、对象和类 3、对象的属性和方法

0.3.2事件和事件在程序中的表示格式 1、事件 2、事件在程序中的表示格式

面向对象程序设计简介
?

案例一讲解

使用VB开发应用程序的步骤
VB可视化编程一般包含下面几个阶段。 1. 创建界面 启动VB 6.0后,在【新建工程】对话框。选择【新建】选项 卡中的【标准EXE】,单击【打开】命令按钮便进入了VB 6.0 集成开发环境,此时可以开始设计应用程序了。应用程序的 界面是窗体。

?

2. 为窗体添加对象 建立好窗体后,便可为窗体添加其他对象。在例1.1为窗 体设计窗口中添加了一个命令按钮,也可以在窗体设计窗 口中添加文本框、标签等常见对象,在VB中为窗体设计窗 口添加对象使用的是工具箱中的控件。窗体的界面设计就 是在窗体设计窗口中添加对象。

?3.

设置对象属性 对象属性是对象的描述,它包括名称、标题、颜色、大小、 外观、位置、行为、字体等特征,当把工具箱的控件画到窗 体上,它继承了工具箱的控件的属性,用户根据应用的要求 设置对象的属性。有的属性值可以由用户随意指定,有的则 是系统规定了若干个值,只能选取其中之一。 设置对象属性先选中对象,被选中的对象的边框上会出现8个 小控制柄,表示该对象是当前可以操作的对象,也称为“活 动”对象,此时使用鼠标移动或改变对象的大小都自动改变 了对象的某些属性值。也可以使用属性窗口来改变“活动” 对象的属性。

?

4. 编写代码 一个窗体对应着一个窗体模块,存储在一个外部文件中。 因在窗体中可以添加若干个控件,因此窗体的外部文件中 存放窗体和窗体上控件的名称及属性。也要存储该窗体和 控件的事件过程。

?

? ? ?

? ?

5. 运行工程 完成上述几个步骤的设计后,便可以运行工程。运行工程可 以采用下面的方法: 按下F5功能键。 单击工具栏中的 启动按钮。 选择【运行】下拉菜单中的【启动】命令。 结束一个工程的运行可以使用如下方法: 单击窗体设计窗口标题栏上的“关闭”按钮可关闭该窗口, 结束运行。 单击工具栏中的 结束按钮,结束程序运行,返回设计状 态。

?

6. 调试工程 运行工程时可能出现这样或那样的问题,需要反复调试、 修改,才会满足工程

设计的需要。修改工程主要包括:修 改程序代码、修改对象的属性、添加新的对象和代码。 修改工程的过程实际是重复第2、3、4、5,根据错误信息 或结果,在代码窗口或窗体设计窗口修改相应内容,修改 后,再运行工程,直至运行的结果正确为止。

?

7. 保存工程 设计好的应用程序应该以文件的形式保存到磁盘上。保存 工程可以单击工具栏上的保存按钮,按照提示信息回答保 存的路径和个类文件名。

对象和类
?

?

?

对象的原意是指物体,是现实世界中事物的抽象表示。在 面向对象的程序设计中,对象是具有属性和方法,能对特 定事件做出反应的实体,如窗体、文本框、命令按钮等都 是对象。对象是由代码和数据组合而成的封装体,可以作 为一个整体来处理。 VB中自带的对象主要分为窗体和控件两大类。窗体是 图形用户界面的基本窗口,即用户工作区,所有控件都是 添加到窗体中的。窗体和控件是构成应用程序界面的基本 元素。 类是对同一种对象的集合与抽象,对象是类的具体化, 是类的实例。一类对象都享有由类定义的通用的属性、事 件、方法。

对象的属性、事件、方法
?
? ? ? ? ? ? ? ? ?

属性

是指一个对象所具有的特征和性质。这些特征可以是外在的, 看得见摸得着的;也可以是内在的,不可见的。 如学生、学号、姓名、性别、所学专业、特长、身高等都 是这个学生的属性。 为对象设置属性有以下两种常用的方法。 程序设计阶段:在属性窗口中直接对属性进行修改或设置。 程序运行阶段:通过在程序中的相关代码的设置或动态修改 对象的属性。 一般格式如下: 对象名.属性名=属性值 例:一个名叫cmd命令按钮的caption属性要设置成“取消”。 可采用的语句为: cmd.caption="取消"

方法
方法是指对象所具有的动作或行为。如,人具有的 动作或行为有:吃饭、睡觉、看书等。VB程序中的窗 体或控件也都具有方法,如窗体具有“显示”或“隐 藏”方法。从本质上讲,方法是过程或函数,只不过 它是被封装在对象内部的特殊过程或函数。 方法只能在代码中使用,格式如下: [对象名.]方法名 [参数列表] 缺省对象名时,对象就默认为是当前窗体;如果参 数列表有多个参数时,则多个参数之间用逗号分隔。 如: print "Welcome to Beijing!" Form .Move 0 ,0

事件和过程
事件是指使某个对象进入活动状态的一种操 作或动作。例如,用脚踢球,“踢”就是使球 这个对象活动的动作。而在VB中,事件是由系 统事先设定的,能够被对象识别的动作。如, 单击事件、双击事件等。当某事件发生后,应 用程序对这个事

件所能做出的反应及处理就是 事件过程。 程序的运行没有规定的顺序。对象的动作以 及各个对象之间的关联完全取决于操作者做的 操作,即其事件。可以理解为事件是引起程序 的执行,这就是事件驱动的思想。

0.4 VB语言的基本概念
标准数据类型 标准数据类型分为:数值型、字符型、日期型、逻辑型、变体型。 数值型: 数值型数据的种类: 数值型又分为整型和实型。其具体的分类如下图所示: 字节型(Byte) 整型 整型(Integer) 长整型(Long) 数值型 单精度型(Single) 双精度型(Double) 货币型(Currency)

实型

1. 数值数据类型 数值数据类型在表中有:字节型、整型、长整型、 单精度 型、双精度型、货币型。它们占用的字节数不同,运算精 度和运算速度也不同。 字节型、整型和长整型在有效范围内运算的结果丝毫 不差,且运算速度快,但表示的数据范围有限。 单精度型和双精度型表示的数据范围大,运算速度慢, 且运算的结果可能产生误差。单精度型和双精度型属于浮 点数据,也称实型。 货币型是定点数据类型,小数点后最多保留4位数字。

数值型数据的长度:
类型名称 类型符 占内存(Byte) 取值范围

Byte(字节型)
Integer (整型) Long (长整型) Single (单精度型) ! % & 4 8

1
2 4

0~255
-32768~32767 -2147483648~2147483647 -3.402823E+38~-1.401298E-45(负数) +1.401298E-45~+3.402823E+38(正数) -1.79769313486231E+308~ -4.94065645841247E-324 +4.94065645841247E-324~ +1.79769313486231E+308

Double (双精度型) #

Currency (货币型)

@

8

-922337203685477.5808~ +922337203685477.5807

注意: 我们在编程时首先要学会根据自己的需要定义数值类型,范围要适度,过 大则无谓占用内存还影响运行速度,太小则会出现溢出错误。

2. 字符串型 字符串型用于存放字符类型数据,字符类型数据可以是 英文字母、数字字符和其他一些字符以及汉字等。

3. 布尔型 布尔型也称逻辑型。布尔型用于存放逻辑判断的结果, 它只有True与False两个值。比如,比较两个数a>b,若 满足,其值为True,否则结果为False。

4.日期型 日期型用来存放日期和时间。在VB中日期的表示范围是 公 元 100 年 1 月 1 日 ~ 9999 年 12 月 31 日 。 时 间 范 围 从 0:00:00~23:59:59。

5. 可变类型 可变类型也称变体型,它是VB中使用最方便的一种数据 类型。它可以根据程序的上下文解释数据的类型,以便 使该数据参加不同数据类型的运算。它可以存放其他所 有标准类型数据。

6. 对象型 对象型用来存放程序要引用的任何实际对象。 VB的数据分为常量和变量。(不作详细数据) 7、自定义数据类型

0.4.2 常量和函数
常量:
在程序运行的过程中,其值不允许被改

变的量称为常 量(或称常数)。 在VB中,常量分为普通常量和符号常量。 普通常量: 3.14, #12/31/2005# , “VB 程序设计” , -28&,TRUE

符号常量(包括两种):
1、VB系统定义的常量,我们可以在代码中直接引用它们。 例如:vbMaximized 2、用户自定义常量 : [Public|Private] Const 常 量 名 [ 类 型 符 |As 类 型 关 键 字]=表达式 例如: Const PI=53.1415926

0.4.3 变量

在程序中,其值可以改变的量称为变量。变量名是变量的标识。 变量名的命名遵从标识符命名原则。变量具有名称、类型和值 三个属性。

VB有两种类型变量:属性变量和一般变量
属性变量是用户在设计界面时VB自动产生的,为每一个对象创 建的一组变量,即属性变量,并为每个变量设置其默认值。在 对象的【属性】窗格中列出了对象的属性变量名和对应的属性 值。 一般变量是由用户自己定义的变量。有显示声明和隐式声明两 种 定义变量常用Dim语句,格式如下: Dim 变量名1 [AS 类型1 ] [, 变量名2 [As 类型2 ]]

Dim abc As Integer, chr1 As String '定义abc 为整型变量,定义chr1为字符串类型变量 Dim mm '定义mm为可变类型变量 Dim m1 As String * 6 '定义m1 为字符串类型变量,最多可存放6个字符或汉字 Dim chr2$ '定义chr2为字符串变量 Dim Tval# '定义Tval为双精度变量

小练习 小练习: 1、字符型(String) 说 语 句 定义str1,str2为字符串型变量 str1被赋值为“我是” str2被赋值为“学生” 显示“我是学生” 说 明 定义str1,str2为字符串型变量 str1被赋值为123 str2被赋值为123 显示123123 Dim Str1,str2 as String Str1=”我是” str2=”学生” Print Str1 +str2 语 句 Dim Str1,str2 as String Str1=”123” str2=”123” Print Str1 +str2 明

小练习
2、日期型(Date)


语 句 Dim date1,date2 as Date date1=#2008/8/8# date2=#2007/8/8# Print Date1- Date2 Print Date2+365 3、逻辑型(Boolean) 说



定义date1,date2为日期型变量 date1被赋值为2008/8/8 date2被赋值为2007/8/8 显示366 显示2008/8/7






定义bool1为逻辑型变量 bool1被赋值为True bool2被赋值为0 显示True 显示False(数字0做为逻辑型False)

Dim bool1, bool2 as Boolean Bool1=True Bool2=0 Print bool1 Print bool2

小练习 1.变体型(Variant) 说 明




定义x为变体型变量 x被赋值为3.1415926 显示3.1415926 x被赋值为”我们一起学VB” 显示”我们一起学VB”

Dim x as Variant x=3.1415926 Print x X=”我们一起学VB” Print x

0.4.4 语句和表达式
1、语句及其书写规则

2、 表达式

程序代码的组织方式与书写规则
组织代码的方式 小例子: Private sub form_load Show ’使窗体可见 r=20 S=2*3.14*r Label1.caption=str(s) End sub Show R = 20 S = 2*3.14*r Label1.Caption 对象名 属性值 = str(s) VB函数

关键字变量 赋值号

常量 变量 表达式

由此可以看出VB的代码是由:关键字、变量、常量、运算符、表达式、属 性、函数以及VB编辑器可视别的其它符号所组成的。

程序代码的组织方式与书写规则 书写规则: 1.VB代码必须由关键字、属性、函数、运算符以及VB编辑器可视别的其它 符号所组成。 2.一行语句的长度最多可达255个字符,用回车键表示一条代码的结束。 3.过长的代码可用续行符进行分行书写,续行符为“_”,在使用续行符前要 加一个空格,且续行符只能出现地行尾。例如: Mystr=”I am a Student” & _ “My name is xiaoxiao” 4.要在一行中写多条代码,可用“:”进行分隔,例如: Labell.Caption=”你好!”:Label1.BackColor=QBRed:Label1.BackStyle=0 5.代码不区分大小写。例如:SCORE、score、Score三者所代表的意义相同。

1、Visual Basic简介 2、 Visual Basic三种版本 3、 Visual Basic6.0的主要特点 4、 Visual Basic能做什么 5、 Visual Basic6.0集成开发环境 6、案例展示


四 : VB程序设计例题12例

索引

一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。

二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。)

三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。

四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。

五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。

六、给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。

七、编程求100以内的全部素数。

八、编程打印钻石图案。

九、输出杨辉三角形。

十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。

十一、在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。

十二、编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

一、(P50-2)在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。

要求:存盘时必须存放在“上机题”文件夹下,工程文件名为vb2-2.vbp,窗体文件名为vb2-2.frm。程序中不得使用任何变量。

程序清单如下:

Private Sub Text1_Change()

If Text1 <> "" Then C1.Visible = True

End Sub

运行效果如下:

二、(P78-2)计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。)

程序清单如下:

Private Sub Command1_Click()

x = Val(Text1) * 2 * 3.14159

Picture1.Print "r=" & Text1

Picture1.Print "周长=" & x

End Sub

Private Sub Command2_Click()

y = Val(Text1) ^ 2 * 3.14159

Picture1.Print "r=" & Text1

Picture1.Print "面积=" & y

End Sub

Private Sub Text1_Change()

If Text1 <> "" Then

Command1.Enabled = True

Command2.Enabled = True

End If

End Sub

运行效果如下:

三、(P78-3)在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。

程序清单如下:

Private Sub Form_Click()

Randomize

x = Int(Rnd * 900) + 100

Text1.Text = x Mod 10

Text2.Text = x \ 10 Mod 10

Text3.Text = x \ 100

End Sub

运行效果如下:

四、(P78-4)设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。

程序清单如下:

Private Sub Command1_Click()

Text1 = ""

Text2 = ""

Text3 = ""

Text4 = ""

End Sub

Private Sub Command2_Click()

Text4 = (Val(Text1) + Val(Text2) + Val(Text3)) / 3 Text4 = Format(Text4, "0.0")

End Sub

Private Sub Command3_Click()

Form1.Hide

End Sub

运行效果如下:

五、(P112-3)某税务部门征收所得税,规定如下:(1)收入200元以内,免征。

(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。

程序清单如下:

Private Sub Command1_Click()

x = Val(Text1)

Select Case x

Case Is<= 200

Text2 = 0

Case Is<= 400

Text2 = (Val(Text1) - 200) * 0.03

Case Is < 5000

Text2 = 200 * 0.03 + (Val(Text1) - 400) * 0.04

Case Else

Text2 = 200 * 0.03 + (Val(Text1) - 400) * 0.05

End Select

End Sub

运行效果如下:

六、(P112-4)给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。

程序清单如下:

Private Sub Command1_Click()

A = Val(Text1)

B = Val(Text2)

C = Val(Text3)

If A <= 0 And A <> -1 Or B <= 0 And B <> -1 Or C <= 0 And C <> -1 Then MsgBox "请重新输入!", 5 + 16 + 0, "警告"

Text1 = ""

Text2 = ""

Text3 = ""

ElseIf A = -1 Or B = -1 Or C = -1 Then

Unload Me

ElseIf A + B <= C Or A + C <= B Or B + C <= A Then MsgBox "请重新输入!", 5 + 16 + 0, "警告" Text1 = ""

Text2 = ""

Text3 = ""

Else

P = (A + B + C) / 2

S = (P * (P - A) * (P - B) * (P - C)) ^ (1 / 2) Text4 = S

End If

End Sub

运行效果如下:

七、(P112-6)编程求100以内的全部素数。

程序清单如下:

Private Sub Form_Click()

y$ = "2"

Dim n%, j%, k%

n = 100

For j = 3 To n

k = Int(Sqr(j))

For i = 2 To k

If j Mod i = 0 Then Exit For Next i

If i > k Then

y$ = y$ & " " & j

End If

Next j

MsgBox y, , "显示素数"

End Sub

运行效果如下:

八、(P112-8)编程打印钻石图案。

程序清单如下:

Private Sub Form_Click() For i = -3 To 3

a = Abs(i)

x = 9 + a

y = Abs(i * 2)

z = 7 - y

Print Tab(x);

For j = 1 To z

Print "*";

Next j

Print

Next i

End Sub

运行效果如下:

九、(P147-1)输出杨辉三角形。

程序清单如下:

Private Sub Form_Click()

Print 1

Print 1; 1

Print 1; 2; 1

Print 1; 3; 3; 1

Print 1; 4; 6; 4; 1

Print 1; 5; 10; 10; 5; 1

End Sub

运行效果如下:

十、(P147-4)有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。

程序清单如下:

Private Sub Form_Click()

Randomize

Print "10个20~90的随机数如下:"

Dim a(1 To 10) As Integer, n As Integer

For n = 1 To 10

a(n) = 20 + Int(Rnd * 71)

s = s + a(n)

Print a(n);

Next

Print

p = s / 10

Print "平均值为:" & p

Dim b(1 To 10) As Integer, m As Integer

b(1) = Abs(a(1) - p)

x = b(1)

q = a(1)

r = 1

For m = 2 To 10

b(m) = Abs(a(m) - p)

If b(m) < x Then

x = b(m)

q = a(m)

r = m

End If

Next

Print "10个随机数中最接近于平均值的数是第" & r & "个数:" & q

End Sub

运行效果如下:

十一、(P147-5)在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。

程序清单如下:

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0

Text1.FontName = "黑体"

Case 1

Text1.FontName = "隶书"

Case 2

Text1.FontName = "楷体_GB2312"

End Select

End Sub

运行效果如下:

十二、(P180-6)编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

程序清单如下:

Private Sub Form_Click()

Print "1000以内的完全数有:"

For m = 2 To 1000

s = 0

For i = 1 To m - 1

If m Mod i = 0 Then s = s + i End If

Next

If s = m Then

Print m & "=1+";

For i = 2 To m - 1 If m Mod i = 0 Then Print "+" & i; End If

Next

Print

End If

Next

End Sub

运行效果如下:

五 : VB程序设计例题12例

索引

一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。[www.61k.com)再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。

二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。)

三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。

四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。

五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。

六、给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。

七、编程求100以内的全部素数。

八、编程打印钻石图案。

九、输出杨辉三角形。

十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。

十一、在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。

十二、编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

vb编程实例 VB程序设计例题12例

一、(P50-2)在窗体上画一个文本框,其名称为Text1,Text属性为空白。(www.61k.com)再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。

要求:存盘时必须存放在“上机题”文件夹下,工程文件名为vb2-2.vbp,窗体文件名为vb2-2.frm。程序中不得使用任何变量。

程序清单如下:

Private Sub Text1_Change()

If Text1 <> "" Then C1.Visible = True

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

Picture1.Print "周长=" & x

End Sub

Private Sub Command2_Click()

y = Val(Text1) ^ 2 * 3.14159

Picture1.Print "r=" & Text1

Picture1.Print "面积=" & y

End Sub

Private Sub Text1_Change()

If Text1 <> "" Then

Command1.Enabled = True

Command2.Enabled = True

End If

End Sub

vb编程实例 VB程序设计例题12例

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

三、(P78-3)在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。(www.61k.com]程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。

程序清单如下:

Private Sub Form_Click()

Randomize

x = Int(Rnd * 900) + 100

Text1.Text = x Mod 10

Text2.Text = x \ 10 Mod 10

Text3.Text = x \ 100

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

四、(P78-4)设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。[www.61k.com)程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。

程序清单如下:

vb编程实例 VB程序设计例题12例

Private Sub Command1_Click()

Text1 = ""

Text2 = ""

Text3 = ""

Text4 = ""

End Sub

Private Sub Command2_Click()

Text4 = (Val(Text1) + Val(Text2) + Val(Text3)) / 3 Text4 = Format(Text4, "0.0")

End Sub

Private Sub Command3_Click()

Form1.Hide

End Sub

运行效果如下:

扩展:vb程序设计例题 / vb经典例题 / vb例题

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

五、(P112-3)某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(www.61k.com)

(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。

程序清单如下:

Private Sub Command1_Click()

x = Val(Text1)

Select Case x

Case Is<= 200

Text2 = 0

Case Is<= 400

Text2 = (Val(Text1) - 200) * 0.03

Case Is < 5000

Text2 = 200 * 0.03 + (Val(Text1) - 400) * 0.04

Case Else

Text2 = 200 * 0.03 + (Val(Text1) - 400) * 0.05

End Select

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

六、(P112-4)给定三角形的三条边的边长,计算三角形的面积。(www.61k.com)编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。

程序清单如下:

Private Sub Command1_Click()

A = Val(Text1)

B = Val(Text2)

C = Val(Text3)

If A <= 0 And A <> -1 Or B <= 0 And B <> -1 Or C <= 0 And C <> -1 Then MsgBox "请重新输入!", 5 + 16 + 0, "警告"

Text1 = ""

vb编程实例 VB程序设计例题12例

Text2 = ""

Text3 = ""

ElseIf A = -1 Or B = -1 Or C = -1 Then

Unload Me

ElseIf A + B <= C Or A + C <= B Or B + C <= A Then MsgBox "请重新输入!", 5 + 16 + 0, "警告" Text1 = ""

Text2 = ""

Text3 = ""

Else

P = (A + B + C) / 2

S = (P * (P - A) * (P - B) * (P - C)) ^ (1 / 2) Text4 = S

End If

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

七、(P112-6)编程求100以内的全部素数。[www.61k.com]

程序清单如下:

Private Sub Form_Click()

y$ = "2"

Dim n%, j%, k%

n = 100

For j = 3 To n

k = Int(Sqr(j))

vb编程实例 VB程序设计例题12例

For i = 2 To k

If j Mod i = 0 Then Exit For Next i

If i > k Then

y$ = y$ & " " & j

End If

Next j

MsgBox y, , "显示素数"

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

八、(P112-8)编程打印钻石图案。[www.61k.com]

程序清单如下:

Private Sub Form_Click() For i = -3 To 3

a = Abs(i)

x = 9 + a

y = Abs(i * 2)

z = 7 - y

Print Tab(x);

For j = 1 To z

Print "*";

Next j

Print

Next i

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

九、(P147-1)输出杨辉三角形。[www.61k.com]

程序清单如下:

Private Sub Form_Click()

Print 1

Print 1; 1

Print 1; 2; 1

Print 1; 3; 3; 1

Print 1; 4; 6; 4; 1

Print 1; 5; 10; 10; 5; 1

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

十、(P147-4)有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。

程序清单如下:

Private Sub Form_Click()

Randomize

Print "10个20~90的随机数如下:"

Dim a(1 To 10) As Integer, n As Integer

For n = 1 To 10

vb编程实例 VB程序设计例题12例

a(n) = 20 + Int(Rnd * 71)

s = s + a(n)

Print a(n);

Next

Print

p = s / 10

Print "平均值为:" & p

Dim b(1 To 10) As Integer, m As Integer

b(1) = Abs(a(1) - p)

x = b(1)

q = a(1)

r = 1

For m = 2 To 10

b(m) = Abs(a(m) - p)

If b(m) < x Then

x = b(m)

q = a(m)

r = m

End If

Next

Print "10个随机数中最接近于平均值的数是第" & r & "个数:" & q

End Sub

运行效果如下:

扩展:vb程序设计例题 / vb经典例题 / vb例题

vb编程实例 VB程序设计例题12例

十一、(P147-5)在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。(www.61k.com]编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。

程序清单如下:

Private Sub Command1_Click(Index As Integer)

Select Case Index

vb编程实例 VB程序设计例题12例

Case 0

Text1.FontName = "黑体"

Case 1

Text1.FontName = "隶书"

Case 2

Text1.FontName = "楷体_GB2312"

End Select

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

十二、(P180-6)编程求1000以内的完全数。(www.61k.com)所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

程序清单如下:

Private Sub Form_Click()

Print "1000以内的完全数有:"

For m = 2 To 1000

vb编程实例 VB程序设计例题12例

s = 0

For i = 1 To m - 1

If m Mod i = 0 Then s = s + i End If

Next

If s = m Then

Print m & "=1+";

For i = 2 To m - 1 If m Mod i = 0 Then Print "+" & i; End If

Next

Print

End If

Next

End Sub

运行效果如下:

vb编程实例 VB程序设计例题12例

vb编程实例 VB程序设计例题12例

[www.61k.com)

扩展:vb程序设计例题 / vb经典例题 / vb例题

本文标题:vb程序设计实例-VB实用小程序
本文地址: http://www.61k.com/1096058.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1