vfp中控件如何使用

我在表单里添加5个"文本框控件"text1、text、text2、Text3、text4、text5。(输入三门课程成绩,自动计算总分和平均分的简单问题)教程上设计如下的事情过程: procedure text1.lostfocus
thisform.text4.value=val(thisform.text1.value)+val(thisform.text2.value)+val(thisform.text3.value)
Thisform.text5.value=thisform.text4.value/3
endproc

procedure text2.lostfocus
thisform.text4.value=val(thisform.text1.value)+val(thisform.text2.value)+val(thisform.text3.value)
Thisform.text5.value=thisform.text4.value/3
endproc

procedure text3.lostfocus
thisform.text4.value=val(thisform.text1.value)+val(thisform.text2.value)+val(thisform.text3.value)
Thisform.text5.value=thisform.text4.value/3
endproc
然后我是这样做的:新建了表单。添加了五个文本框控件,双击text1,出现代码编辑窗口,在窗口顶部右侧,点击下拉列表,选择Lostfocus,选择text1,
输入: procedure text1.lostfocus
thisform.text4.value=val(thisform.text1.value)+val(thisform.text2.value)+val(thisform.text3.value)
Thisform.text5.value=thisform.text4.value/3
endproc
接着在编辑窗口左侧选择text2,显示第一行即以procedure为开头的那一行有错误,搞了好久依然没弄好,希望各位哥哥姐姐能帮帮我!
出现的问题是显示出一个名为编译的对话框,说命令中含有不能识别的短语或关键字,我试着把procedures去掉了,其他都未做改动就可以了,我想知道这是为什么, 用不用 val都可以,不会有妨碍的,我试过了

同意二楼的看法
一.在属性对话框中把TEXT1、TEXT2、TEXT3...的属性value设置初始值为0
二.再把 val() 函数去掉。
三.在文本框控件的 lostfocus 事情中,不需要procedure text1.lostfocus 和 endproc 代码如下:
thisform.text4.value=thisform.text1.value+thisform.text2.value+thisform.text3.value
Thisform.text5.value=thisform.text4.value/3
这三步做好一定行的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-24
也许thisform.text1.value(text2,text3...)本身就是数值,不需再用val函数。
第2个回答  2009-05-26
1.所有text初始值不赋,或者form INIT事件下:thisform.text1.value="".....
thisform.text3.value=""
2.用宏代换计算
3.
a=alltrim(thisform.text1.value)
b=alltrim(thisform.text2.value)
c=alltrim(thisform.text3.value)
caver=(a+b+c)/3
csum=a+b+c
4.
thisform.text4.value=&caver.
thisform.text5.value=&csum.