窗体上有二个水平滚动条HV,HT,还有一个文本框text1和一个标题为计算的命令按钮command1并编写了以下程序

privatesubcommand1_click()callcale(hv.value,ht.value)endsubpublicsubcale(xasinteger,y... private sub command1_click()
call cale(hv.value,ht.value)
end sub
public sub cale(x as integer ,y as integer )
text1.text=x*y
end sub
运行程序,单击“运算”按钮,可、显示计算结果,正确的是()
A)过程调用语句不对,应为cale(hv,ht)
B)过程定义语句的形式参数不对,应为 sub calc(x as control,y as control)
C)计算结果在文本框中显示出来
D)程序不能正确运行

请详细分析过程,谢谢!!!
展开
 我来答
阿克雷之剑
2012-08-03 · TA获得超过119个赞
知道小有建树答主
回答量:63
采纳率:0%
帮助的人:79万
展开全部
选C
说明:代码在后面声明一个“cale”过程,该过程把整形参数,x,y相乘,再把结果赋值给Text1.text。
然后,在在命令按钮的单击事件中调用“cale”过程,并把两个滚动条的有效值作为参数x,y传递给过程,也就是两个滚动条的数据会相乘,并的结果在文本框中显示。
这里说明下,滚动条默认的max值为32767,如果不改max值直接用的话,随便把两个滚动条拖动一下就会因为两数值相乘结果过大,导致系统溢出报错。
希望对你有帮助~
追问
A选项哪里错了,,谢谢
追答
过程"cale"的参数为两个数值型的变量,而本身HV,HT是控件,也可以说是Control类型的变量,把Control类型的变量当做参数传递给“cale”过程就会发生参数类型错误,所以这样是不行的,而原题目是把HV.value和Ht.value(即两个滚动条的有效值,为整型变量)当做参数,传递给过程“cale”,刚好符合该过程需要的参数类型(整型),所以程序能正常运行(不溢出的前提下)。希望对你有帮助~
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式