小希很爱小希
对编程者来说,VB很容易上手,但要深入、灵活地驾驭它还要下一番功夫。笔者在这里介绍几个较为典型的编程技巧,希望能对广大VB爱好者有所帮助。 一.怎样创建自定义的光标 1.当在设计一个应用程序时,Visual Basic允许程序员将许多控件的MousePointer属性设计成12个预先定义好的鼠标光标之一。然而,有些程序员或许会希望显示一个预定义形状之外的光标。本文说明如何创建一个不同的鼠标指针(光标),包括为一个没有MousePointer属性的控件创建光标。 要在Visual Basic应用程序中将光标(鼠标指针)改变成个不同的形状,可以添加代码来改变希望监视的控件的MouseMove和DragOver事件。 MouseMove事件所包含的代码用于触发该控件的Drag方法。当鼠标在被选中的控件上移动的时候,轮流显示新的鼠标指针。当鼠标指针离开该控件时,则DragOver事件被触发。在Visual Basic程序中,可以重新复位此Drag属性,以便以前的鼠标指针能够被再次显示出来。 2.下面的样例程序实现当鼠标指针移动到一个文件列表框控件上时,将其改变成不同的形状。 首先采用缺省的方法建立Form1。在Form1上添加一个文件列表框控件,采用缺省的方法建立File1。将File1控件的DragIcon属性设置为所选择的.ICO文件。 将如下代码添加到File1的MouseMove事件中: Private Sub File1-MouseMove(ButtonAs Integer, Shift As Integer, X As Single, Y As Single) 1 ''icon on End Sub ---- 将如下代码添加到Form1的DragOver事件中: Private Sub Form-DragOver(Source As Control, X As Single, Y As Single, State As Integer) 0 ′icon off End Sub 按下F5功能键执行此程序。得到的运行结果是:将鼠标指针移动到该文件列表框控件上时,程序将把所选中的.ICO文件作为缺省的鼠标光标;将鼠标指针离开该控件时,光标则会自动恢复为缺省的形状。 二.怎样在窗体上点鼠标右键产生一个弹出式选单(PopUp Menu)? 大家都知道,在Windows95/98/2000的桌面和许多流行软件的视窗中,当我们点鼠标右键时,会在鼠标的当前位置弹出一个快捷选单。许多爱好编程的朋友是不是也希望能在自己的程序里有类似的功能呢?其实,这并不困难。笔者经过一番努力,在VB下找出一个通用的方法,供大家分享。 要实现上述功能,需分两个步骤: 1. 利用VB的选单我器(Menu Editor)我你希望弹出的选单及子选单,注意,要将选单的Visible属性设置为:False。 2. 在窗体(Form1)的MouseDown事件中编写程序,来激发我好的选单,假设选单名为PopMenu,程序源码如下: Private Sub Form-MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbRightButton Then = True PopupMenu PopMenu End If End Sub 上述方法是针对窗体的,我们也可以针对任意控件,用鼠标右键点击控件时,也弹出一个快捷选单。方法也很简单,只要把上述代码放到相应控件的MouseDown事件中,就可以了。 三.怎样动态地在窗体上判断某区域内是否有控件存在? 在笔者的一个小程序中,想在窗体的某个区域输出数据,这就要求在这个区域内不能有其他控件存在,那么,怎么才能知道在窗体的某个区域内,是否有控件存在呢? 为了判断在窗体的某个区域中,是否含有控件,我们可以利用以下VB程序来实现: Function GetControl(x1 As Single, y1 As Single, x2 as Single, y2 as Single) As Control Dim Control as Control For Each Control In Form1 With Control If (x1 〈= .Left) And (x2 〉= .Left) And _ (y1 〈= .Top) And (y2 〉= .Top) Or _ (x1 〈=.Left + Width) And (x2 〉= .Left + Width) And _ (y1 〈= .Top) And (y2 〉= .Top) Or _ (x1 〈= .Left) And (x2 〉= Left) And _ (y1 〈= .Top + Height) And (y2 〉= .Top + Height) Or _ (x1 〈= . Left + Width) And (x2 〉= .Left + Width) And _ (y1 〈= .Top + Height) And (y2 〉= .Top + Height) Then Set GetControl = Control Exit Function End If End With Next Set GetControl = Nothing End Function 注:(x1, y1)和(x2, y2)分别为选定矩形区域的左上角和右下角点的坐标值。 该程序通过计算窗体上所有控件的四个角的位置来判断控件是否与选定区域相交,并返回相交的控件。
LiangJin0727
一、对于笔试:
二级VB考试的考题内容很细,没有复杂的算法题,最多只是一些看起来复杂(其实很有规律)的循环题。那么,我们要做的是:
1:按照大纲读懂(理解)教材上的的内容。
2:做一些历年的考试题目,根据经验,每年的考题中都会有一些重复或相似的考题。当然最主要的是做完最近几年的几套考题后,自己就会对考试内容 “胸有成竹”,自然就会知道哪是重点,哪些该复习,有的放矢。 个人觉得我要模考网上面有不错的试题,大家可以有时间的话,去把相关的试题做一下练习。3:针对特殊题型和重点内容做题。
二、对于机试:
两个字,做题。
可以把过去两到四次内的考题拿过来做。 当然,我们在做题是要端正心态,因为谁也不敢保证您将来考的一定会在您现在做的题(当然总有那么一半的人有这运气,呵呵),做题是因为一门课程内容太多,做题可以帮助理解,毕竟考题很活。
简单分析一下:
基本操作(30分两小题):
考核重点一般集中在:工程新建与保存、控件的一些基本属性的设置(如:名称、标题、大小、位置、值等)、基本方法的使用(如:Print等)
简单应用(40分两小题):
考核重点一般集中在:简单算法(如:求最大数、素数、排序等)、通过代码窗口操作对象属性、控件数组的建立与通过循环访问等。
综合应用(30分一小题):
考核重点一般集中在:顺序文件的读写操作、读文件一般都会用到循环或数组。
三、关于计算机二级考试的目的及内容
计算机二级考试内容包括 C 语言, Q Basic , Foxbase, Visual FoxPro 和 Visual Basic 。考生从中选出一项作为考试项目。
考试分两部分,上机和笔试。笔试就是一些基本的操作方法,编程方法,上机就是要亲自编程。报名时可以购买复习资料,包括:考试大纲,二级教材以及模拟考试光盘。听起来好像挺玄,其实考试方式以及内容都是极其简单的 —— 如果真的仔细看过复习资料。
四、题型分析与解题技巧
1.笔试试卷分析
笔试试卷由选择题和填空题组成。选择题和填空题一般对基本知识和基本操作进行考查,它主要是测试我们对相关概念的掌握是否全面、理解是否准确、思路是否清晰。
(1)选择题分析
选择题为单选题,是客观题,每道题的分值为2分,试题覆盖面广,一般情况下我们不可能做到对每个题目都有把握答对。考试时就需要我们学会放弃,对于不确定的题目不要在上面花费太多的时间,先记住,然后作答其他题目。等最后有空余的时间再回过头来仔细考虑这些题目。二级C语言笔试题目众多,分值分散,我们一定要有全局观,合理地安排考试时间。
选择题一般分为:正面试题和反面试题。设问是正确观点的题称为正面试题,绝大多数选择题为正面试题;设问是是错误观点的题称为反面试题。我们在解答选择题时可以如下几个答题方法来答题,这样可以提高答题速度和准确率。
① 顺选法:如果对题中的4个选项,一看就能肯定其中的1个是正确的,就可以直接得出答案。对于一些比较容易看出正确选项的题,可以使用排除错误选项。
② 排除法:排除法是将错误答案一一排除的方法。对题中的4个选项逐个去掉错误的选项。对于一些比较容易看出错误选项的题,可以使用排除错误选项。
③ 比较法:这种办法是没有办法的办法,如果有些题实在是没有把握,那么就只有比较四个选项中那个更接近题目要求了(这也称之为“蒙猜法”)。
(2)填空题分析
填空填一般难度都比较大,一般需要我们准确地填入字符,往往需要非常精确,错一个字也不得分。在分值方面,每题也是2分。在作答填空题时要注意以几点:
① 答案要写得简洁明了,尽量使用专业术语。
② 认真填写答案,字迹要工整、清楚,格式要规范、正确,在把答案往答题卡上填写后尽量不要涂改。
③ 注意,在答题卡上填写答案时,一定要注意题目的序号,不要弄错位置。
④ 对于有两种答案的情况,只需填一种即可,多填并不多给分。
2.上机试题分析
一个C语言源程序总是在一定的硬件和软件环境支持下进行编辑、编译、连接和运行的,而这其中的每一步都直接影响程序调试的效率。所以初学者必须了解所使用的计算机系统的基本操作方法,学会使用该系统,了解在该系统上如何编辑、编译、连接和运行一个C语言程序。
上机考试重点考察我们综合运用基础的操作能力和程序编写能力,要求我们具有综合运用基础知识进行实际操作的能力。上机试题综合性强、难度较大。上机考试的评分是以机评为主,人工复查为辅的。机评不存在公正性的问题,却存在呆板的问题,有时还可能因为出题者考虑不周出现错评的情况。这就要求我们做题时要充分考虑到各种情况,尽可能的.按规范编写程序,否则有可能答对不得分。
掌握好上机考试的考试技巧,可以使我们的实际水平在考试时得到充分发挥,从而取得较为理想的成绩。历次考试均有考生因为忽略了考试技巧,加之较为紧张的考场气氛影响了水平的发挥,致使考试成绩大大低于实际水平。因此我们在考试前,要有充分的准备。总结起来有以下几点供我们在复习和考试时借鉴:
(1)上机考试训练时,一定不要死记硬背。以往有部分考生能够顺利通过笔试,却不能通过上机考试,主要原因就是她们在平时训练时死记硬背,而没有真正的理解知识应用,到考试时,题目稍有变动就变的束手无策。所以我们一定要在熟记基本知识点的基础上,加强上机训练,做到真正理解、掌握解题方法和思路。
(2)一定要重视考试模拟软件的使用。应使用考试模拟软件进行实际的上机操作练习,尤其要做一些具有针对性的上机模拟题,以便熟悉考试题型,体验真实的上机环境,减轻考试时的紧张程度。
(3)学会并习惯使用编程软件的帮助系统。C语言编程软件有非常全面的帮助系统,熟练掌握、使用帮助系统,可以使我们减少记忆量,解决解题中的陌生、疑难问题。
skyblue086
计算机等考二级VB改错题技巧:三步过程法一、改错题解法现状许多同学为了掌握解决改错题的技巧和方法,一方面着重熟练VB集成开发环境中调试工具的使用,另一方面归纳总结了近几年来二级考试改错题中涉及到的错误类型。这些对于提高应试能力无疑是有帮助的。但是在实际考试中,他们也发现,解答改错题的方法沦为逐一去猜测错误类型,然后按模式来套解。毫无疑问,这一解法效率慢,正确率不高,而且即便正确解答出来,也有一种侥幸的感觉。之所以如此,根本的原因在于没有抓住具体题目算法逻辑特征这一主线,因而单纯的总结错误类型的意义也就不大了。为此,我们可以采用一种比较完善的改错题解法——“三步逐过程法”。二、“三步逐过程法”解法说明“三步逐过程法”核心是把握题目算法逻辑特征,按照“从整体到部分,再由部分到整体”的思路排查错误,调试程序,具体步骤可分为三步:步骤一:把握题意,泛读程序,分析程序组成和各过程的功能;步骤二:从通用过程入手, 逐过程输入并逐过程调试;步骤三:输入并调试事件过程,完成对各通用过程调用和组装。下面,我们结合一道改错题来具体说明每个步骤中的方法和技巧。三、“三步逐过程法”解改错题举例以江苏省二级VB上机考试中的一道考题为例。已知下面程序的功能是找出2000以内这样的正整数N: 它的不同值的因子(包括1和N在内)之和是一个素数。 例如: 16: 1+2+4+8+16=31含有错误的源程序如下:Option ExplicitOption Base 1Private Sub Command1_Click()Dim I As Integer, K As Integer, Sum As IntegerSum = 0For I = 2 To 2000Call Fctor(I, Sum)If Prime(Sum) ThenK = K + 1Text1 = & Str(I) & " "If K Mod 5 = 0 Then Text1 = Text1 & Chr(13) & Chr(10)End IfNext IEnd SubPrivate Sub Fctor(N As Integer, S As Integer)Dim I As Integer, J As IntegerDo While I < NIf N Mod I = 0 ThenS = S + IEnd IfI = I + 1LoopEnd SubPrivate Function Prime(N As Integer) As BooleanDim m As IntegerFor m = 2 To Sqr(N)If N Mod m = 0 Then Exit SubNext mPrime = TrueEnd Function“三步逐过程法”解题步骤:步骤一:把握题意,泛读程序,分析程序组成和各过程的功能;那么,我们如何分析出各个过程的功能呢?核心技巧是从输出语句着手, 逆向推导, 分析各变量的含义, 进而根据过程的输入参数及其输出或者反馈, 分析出此过程的功能。1. 标记出输出语句输出语句有两句:(1)、Text1 = & Str(I) & " "(2)、If K Mod 5 = 0 Then Text1 = Text1 & Chr(13) & Chr(10)2. 逆向推导,分析各变量的含义对于输出语句(1),显然是将符合条件的数I显示到文本框。而根据题意,符合条件的数必须满足:2000以内和因子和为素数两个条件,因此,我们从语句(1)逆向推导,我们知道I是由2到2000的循环变量,并且只有满足Prime(Sum)为True的才能显示到文本框,因此,我们知道Sum应该是I的因子和;对于输出语句(2),后半句的功能是为了实现回车和换行,结合K Mod 5=0以及逆向找出的K=K+1,我们知道,K的功能是为了控制输出按照每5个换行进行。3. 分析过程功能对于语句Call Fctor(I,Sum),由于此时的I为2到2000的循环变量,Sum为I的因子和,因此我们可以判定Fctor的功能是求I的因子和,并将该和赋给Sum变量;根据Prime(Sum),我们可以判定Prime的功能是对Sum值进行是否是素数的判定,如果是,则返回True,否则返回False.步骤二: 从通用过程入手, 逐过程输入并逐过程调试。核心技巧是将通用过程输入后, 根据步骤一中分析出的各过程的功能,用含有具体参数值的过程调用语句来调试过程, 即: 给定确定的输入, 看有无准确的输出或者反馈。那么如何构造含有具体参数值的过程调用语句呢?对于Function过程,由于有输入参数和返回值,因此比较好构造调用调试语句。譬如,对于Prime过程,由步骤一中我们已经知道其作用是用于判断输入参数是否为素数,如果为素数则返回True,否则返回False.因此我们可以构造:Print Prime(7);Prime(10)为此,我们只要在窗体上放置一个按钮Command1,在Command1_Click中输入Print Prime(7);Prime(10)即可,若输出为“True False”,则该过程正确。如此操作,调试结果为:由此,我们将Exit Sub修改为Exit Function,运行正确。对于Sub过程,其没有返回值,因此该过程的反馈信息将可以通过两种方式得到,一种是直接在Sub中使用输出语句显示运行结果;一种是利用按地址传递的参数将反馈信息由被改变的实参带出。对于Fctor(N,S)过程,根据步骤一,知其功能是,求N的因子和并由S带出。为此,首先,我们根据给定的可以设定N为. 输入Prime过程, 用print prime(7),prime(10)来调试;2. 输入fctor过程, 用dim s as integercall fctor(16,s)print s来调试。步骤三: 对于事件过程, 若代码较长, 则逐程序块输入并调试(程序块通常以循环来区分)核心技巧: 在事件过程中, 将完成对通用过程的调用组装, 因此特别留意以下三点:循环:注意循环变量的初值、终值和步长以及累积量的初值。数组:元素从0开始还是从1开始。过程:注意参数传递(Byval、 ByRef),返回值类型,调用形式,具体的说包括:1. 实参与形参类型是否一致。2. 参数传递方法(ByVal与ByRef)是否正确3. 循环调用时, 同一变量调用前后值有无干涉,具体体现在: 前值没有清空遗留在后值中或者动态数组元素未清空等, 此时错误表现在: 清空语句放置位置不对。四、总结:1. 思维过程是微观到宏观体现在: 由题意及变量含义推断过程作用; 逐过程输入调试后再进行事件工程中的调用和组装;2. 在调试通用过程时, 应用了数学中的特殊值法;3. 在组装事件过程时, 应用了工程中的经验法。希望帮到你 望采纳 谢谢 加油
优质考试培训问答知识库