hhobj_6.Click()>。
2.复选框用来表示状态,在程序运行期间可以改变其状态。
复选框标题由Caption属性来设置,复选框的Value属性用来表示复选框的状态,其取值有:
0---表示复选框未被选中;
1---表示复选框被选中;
2---表示复选框被禁止使用(灰色)。
3.在VisualBasic中,定义变量的关键字为Dim、Static、Redim、Public或Private,它们在使用上是不同的,Dim用于标准模块、窗体模块或过程中定义变量或者数组;Static用于过程中定义静态变量或数组;Public用于在标准模块中定义全局变量或数组;Redim主要用于定义数组。
4.在VisualBasic中,可以接受不同的图形文件,见下表。
VisualBasic支持的图形文件
文件类型
文件扩展名
位图文件
.bmp;.dib
图标文件
.ico;.cur
Windows图元文件
.wmf;.emf
GIF格式图形压缩文件
.gif
JPEG格式图形压缩文件
.jpg
5.有关Load语句、Unload语句、Show方法和Hide方法的,在此简单介绍一下这些语句和方法:
Load语句
格式:
Load窗体名称
Load语句把一个窗体装入内存,执行Load语句后,可以引用窗体中的控件及各种属性,但此时窗体没有显示出来,"窗体名称"是窗体的Name属性;
Unload语句
格式:
Unload窗体名称
该语句与Load语句的功能相反,它清除内存中指定的窗体;
Show方法
格式:
[窗体名称].Show[模式]
Show方法用来显示一个窗体。
如果省略"窗体名称",则显示当前窗体。
参数"模式"用来确定窗体的状态,可以取两种值,即0和1(不是False和True)。
当"模式"值为1(或常量vbModal)时,表示窗体是"模态型"窗体,在这种情况下,鼠标只在此窗体内起作用,不能到其他窗口内操作,只有关闭该窗口才能对其他窗口进行操作;当"模式"值为0(或省略参数"模式"值)时,表示窗体为"非模态型"窗体,不用关闭该窗体就可以对其他窗体进行操作;
Hide方法
格式:
[窗体名称].Hide
Hide方法使窗体隐藏,即不在屏幕上显示,但仍在内存中,因此,它与Unload语句的作用不同。
6.下面有关注释语句的格式,错误的是
A)Rem注释内容
B)′注释内容
C)a=3:
b=2′对a、b赋值
D)PrivateSubCommand1_MouseDown(buttonAsInteger,shiftAsInteger,_Rem鼠标按下事件的命令调用过程XAsSingle,YAsSingle)
解析:
程序中添加注释语句是为了提高程序的可读性,一般格式为:
Rem注释内容或′注视内容;注释语句是非执行语句,仅对程序的有关内容起注释作用,它不被解释和编译,故选项A)和选项B)没有错误;任何字符都可以在注释行中作为注释内容,注释语句通常放在过程、模块的开头作为标题用,也可放在执行语句(单行或者复合语句行)的后面,但不可以放在续行符的后面,所以选项C)没有错误;所以本题的正确答案是选项D)。
7.在VisualBasic中有两类过程,一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用,而第二类过程中,我们现在涉及最多的是子过程。
它们的共同点都是完成某种特定功能的一组程序代码;不同的是函数是带有返回值的特殊过程,所以函数过程定义时有返回值的类型说明。
8.Chr函数返回String,其中包含有与指定的字符代码相关的字符。
其语法格式为:
Chr(charcode)
charcode必要参数,是一个用来识别某字符的Long。
Asc函数返回一个Integer,代表字符串中首字母的字符代码。
其语法格式为:
Asc(string)
string必要的参数,可以是任何有效的字符串表达式。
例题:
1.在名称为Form1的窗体上有一个文本框,名称为Text1,MultiLine属性为True,ScrollBars属性为2;两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为"读入数据"和"计算保存",如图7-6所示。
要求程序运行后,如果单击"读入数据"按钮,则读入"in.txt"文件中的100个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击"计算保存"按钮,则计算数组中前30个数的平均值(结果四舍五入为整数),并把结果在文本框Text1中显示出来,同时把结果存入考生文件夹中的文件"out.txt"中。
参考代码:
OptionExplicit
Dimi(1To100)AsInteger
PrivateSubCmd1_Click()
DimjAsInteger
Open"in.txt"ForInputAs#1
Forj=1To100
Input#1,i(j)
Text1.Text=Text1.Text&i(j)&Space(5)
Next
Close#1
EndSub
PrivateSubCmd2_Click()
DimtempAsLong
DimjAsInteger
Forj=1To30
temp=temp+i(j)
Next
temp=temp/30
Text1.Text=temp
putdata"out.txt",temp
EndSub
标准模块mode.bas的代码:
OptionExplicit
Subputdata(t_FileNameAsString,t_StrAsVariant)
DimsFileAsString
sFile="\"&t_FileName
OpenApp.Path&sFileForOutputAs#1
Print#1,t_Str
Close#1
EndSub
2.在名称为Form1的窗体上有一个文本框,名称为Text1,MultiLine属性为True,ScrollBars属性为2;两个命令按钮名称分别为Cmd1和Cmd2,标题分别为"读入数据"和"计算保存",如图6-5所示。
要求程序运行后,如果单击"读入数据"按钮,则读入"in.txt"文件中的100个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击"计算保存"按钮,则计算其中前50个数之和,并把求和结果在文本框Text1中显示出来,同时把结果存入考生文件夹中的文件"out.txt"中。
参考代码:
OptionExplicit
Dimi(1To100)AsInteger
PrivateSubCmd1_Click()
DimjAsInteger
OpenApp.Path&"\in.txt"ForInputAs#1
Forj=1To100
Input#1,i(j)
Text1.Text=Text1.Text&i(j)&Space(5)
Next
Close#1
EndSub
PrivateSubCmd2_Click()
DimjAsInteger
DimtempAsLong
Forj=1To50
temp=temp+i(j)
Next
Text1.Text=temp
putdata"out.txt",temp
EndSub
3.计算100-200之间所有素数之和
参考代码:
PrivateSubCmd1_Click()
DimiAsInteger
DimtempAsLong
temp=0
Fori=100To200
Ifisprime(i)Then
temp=temp+i
EndIf
Next
Text1.Text=temp
putdata"out.txt",temp
EndSub
标准模块代码:
OptionExplicit
Subputdata(t_FileNameAsString,T_StrAsVariant)
DimsFileAsString
sFile="\"&t_FileName
OpenApp.Path&sFileForOutputAs#1
Print#1,T_Str
Close#1
EndSub
Functionisprime(t_IAsInteger)AsBoolean
DimJAsInteger
isprime=False
ForJ=2Tot_I/2
Ift_IModJ=0ThenExitFor
NextJ
IfJ>t_I/2Thenisprime=True
EndFunction
4.在名称为Form1的窗体上有一个文本框,名称为Text1,MultiLine属性为True,ScrollBars属性为2,两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为"读入数据"和"排序显示保存",如图5-6所示。
程序运行后,如果单击"读入数据"按钮,则读入in.txt文件中的100个整数,放入一个数组中(数组下界为1);如果单击"排序显示保存"按钮,则对这100个整数按从大到小进行排序,把排序后的全部数据在文本框Text1中显示出来,然后存入考生文件夹的out.txt文件中。
(排序的方法有多种,如冒泡排序、选择排序等,本题用的是选择排序法。
选择法排序的思想是:
每一次循环从数组的n-i+1(I=1,2,…,n-1)个元素中选择一个值最小的元素与你n-i+1个元素的前面那个元素交换位置,即与整个数组的第i个位置的元素交换位置。
如此下去,直到i=n-1时,排序结束。
)
参考代码:
OptionExplicit
Dimi(1To100)AsInteger
PrivateSubCmd1_Click()
DimjAsInteger
OpenApp.Path&"\in.txt"ForInputAs#1
Forj=1To100
Input#1,i(j)
Text1.Text=Text1.Text&i(j)&Space(5)
Next
Close#1
EndSub
PrivateSubCmd2_Click()
DimjAsInteger
DimkAsInteger
DimtempAsInteger
DimflagAsBoolean
Forj=1To100
flag=False
Fork=1To100-j
Ifi(k)
temp=i(k)
i(k)=i(k+1)
i(k+1)=temp
flag=True
EndIf
Next
IfNotflagThen
ExitFor
EndIf
Next
Text1.Text=""
Forj=1To100
Text1.Text=Text1.Text&i(j)&Space(5)
Next
putdatai,100
EndSub
5.在窗体上有3个名称分别为Text1、Text2和Text3的文本框,一个名称为C1,标题为"计算"的命令按钮,如图4-4所示。
要求程序运行后,在Text1和Text2中分别输入两个整数,单击"计算"按钮后,可把两个整数之间的所有整数(含两个整数)累加起来并在Text3中显示。
注意:
要使文本框中的字符用于算术运算,首先要利用Val将文本框中输入的数字字符转换为数字类型(文本框中的内容默认为字符串类型)
参考代码:
OptionExplicit
PrivateSubC1_Click()
DimiAsInteger,sAsInteger
DimaAsInteger,bAsInteger
a=Val(Text1.Text)
b=Val(Text2.Text)
Ifa>bThen
i=a
a=b
b=i
EndIf
s=0
Fori=aTob
s=s+i
Nexti
Text3.Text=s
EndSub
6.在窗体上建立一个名称为Text1的文本框,建立一个名称为Cmd1,标题为"计算"的命令按钮,如图4-5所示。
要求程序运行后,如果单击"计算"按钮,则求出100-200之间所有可以被3整除的数的总和,在文本框中显示出来,并把结果存入考生文件夹下的out.txt文件中。
参考代码:
PrivateSubCmd1_Click()
DimtempAsLong
DimiAsInteger
Fori=100To200
IfiMod3=0Then
temp=temp+i
EndIf
Next
Text1.Text=temp
putdata"out.txt",temp
EndSub
7.在名称为Form1的窗体上有一个文本框,名称为Text1,MultiLine属性为True,ScrollBars属性为2,两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为"读入数据"和"排序显示保存",如图4-6所示。
程序运行后,如果单击"读入数据"按钮,则读入"in.txt"文件中的100个整数,放入一个数组中(数组下界为1);如果单击"排序显示保存"按钮,则对这100个整数按从小到大进行排序,把排序后的全部数据在文本框Text1中显示出来,然后存入考生文件夹中的文件"result.txt"中。
分析:
在窗体上建立好控件后,先设置控件属性,再编写事件过程。
文本框显示的内容由Text属性设置;按钮的标题由Caption属性设置,单击命令按钮触发Click事件;在本题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。
参考代码:
OptionExplicit
Dimi(1To100)AsInteger
PrivateSubCmd1_Click()
DimjAsInteger
Open"in.txt"ForInputAs#1
Forj=1To100
Input#1,i(j)
Text1.Text=Text1.Text&i(j)&Space(5)
Next
Close#1
EndSub
PrivateSubCmd2_Click()
DimjAsInteger
DimkAsInteger
DimtempAsInteger
DimflagAsBoolean
Forj=1To100
flag=False
Fork=1To100-j
Ifi(k)>i(k+1)Then
temp=i(k)
i(k)=i(k+1)
i(k+1)=temp
flag=True
EndIf
Next
IfNotflagThen
ExitFor
EndIf
Next
Text1.Text=""
Forj=1To100
Text1.Text=Text1.Text&i(j)&Space(5)
Next
putdatai,100
EndSub
8.在名称为Form1的窗体上有一个文本框,名称为Text1,MultiLine属性为True,ScrollBars属性为2,两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为"读入数据"和"保存数据"),如图3-5所示。
程序运行后,如果单击"读入数据"按钮,则读入"in.txt"文件中的100个整数,放入一个数组中(数组下界为1),并在文本框Text1中显示出来;如果单击"保存数据"按钮,则把数组中的前50个数据在文本框Text1中显示出来,并存入考生文件夹中的文件"result.txt"中。
解析:
文本框显示的内容由Text属性设置,Multiline属性决定文本框是否可多行显示;按钮的标题由Caption属性设置,单击命令按钮触发Click事件。
题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用Input#语句读取数据,另外需要注意的是对文件操作完成后,一定要关闭文件。
参考代码:
Dimi(1To100)AsInteger
PrivateSubCmd1_Click()
DimjAsInteger
j=0
OpenApp.Path&"\in.txt"ForInputAs#1
Forj=1To100
Input#1,i(j)
Next
Close#1
Forj=1To100
Text1.Text=Text1.Text&i(j)&Space(5)
Next
EndSub
PrivateSubCmd2_Click()
DimtempAsLong
DimjAsInteger
Text1.Text=""
Forj=1To50
Text1.Text=Text1.Text&i(j)&Space(5)
Next
putdatai,50
EndSub
9.在名称为Form1的窗体上有一个文本框,名称为Text1,MultiLine属性为True,ScrollBars属性为2;两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为"读入数据"和"计算保存",如图2-6所示。
要求程序运行后,如果单击"读入数据"按钮,则读入"in.txt"文件中的100个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击"计算保存"按钮,则计算数组中大于或等于400并且小于800的所有数之和,把求和结果在文本框Text1中显示出来,同时把结果存入考生文件夹中的文件result.txt中。
解析:
文本框显示的内容由Text属性设置;按钮的标题由Caption属性设置,单击命令按钮触发Click事件;在本题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。
参考代码:
Dimi(1To100)AsInteger
PrivateSubCmd1_Click()
DimjAsInteger
j=0
OpenApp.Path&"\in.txt"ForInputAs#1
Forj=1To100
Input#1,i(j)
Next
Close#1
Forj=1To100
Text1.Text=Text1.Text&i(j)&Space(5)
Next
EndSub
PrivateSubCmd2_Click()
DimtempAsLong
DimjAsInteger
Forj=1To100
Ifi(j)>=400Andi(j)<800Then
temp=temp+i(j)
EndIf
Next
Text1.Text=temp
putdatatemp
EndSub
10.在名称为Form1的窗体上有一个文本框,名称为Text1,MultiLine属性为True,ScrollBars属性为2;两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为"读入数据"和"计算保存",如图8-5所示。
要求程序运行后,如果单击"读入数据"按钮,则读入"in.txt"文件中的100个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击"计算保存"按钮,则计算小于或等于700的所有数之和,并把求得的结果在文本框Text1中显示出来,同时把该结果存入考生文件夹中的文件"out.txt"中。
解析:
在窗体上建立好控件后,先设置控件属性,再编写事件过程。
文本框显示的内容由Text属性设置,Multiline属性决定文本框是否可多行显示;按钮的标题由Caption属性设置,单击命令按钮触发Click事件。
题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。
参考代码:
OptionExplicit
Dima(1To100)
DimiAsInteger
DimnAsInteger
DimfAsInteger
DimsAsLong
PrivateSubCmd1_Click()
OpenApp.Path&"\in.txt"ForInputAs#1
Fori=1To100
Input#1,n
a(i)=n
Text1.Te