vfp中数组必须要先定义后赋值吗?
答案:3 悬赏:0
解决时间 2021-04-09 07:57
- 提问者网友:晨熙污妖王
- 2021-04-08 19:19
如题!
最佳答案
- 二级知识专家网友:废途浑身病态
- 2021-04-08 20:15
不一定。通常是先定义后使用。
在scatter to <数组名>
select * from 表名 into array <数组名>
中数组可以不定义直接使用,系统会自动定义到数组大小刚好够用为止。
在scatter to <数组名>
select * from 表名 into array <数组名>
中数组可以不定义直接使用,系统会自动定义到数组大小刚好够用为止。
全部回答
- 1楼网友:我叫很个性
- 2021-04-08 22:24
数组一定要先定义,使用dimesion 或者declear来定义,然后使用就行了,如果没有给他赋值,默认的是.t.,也就是逻辑真,你可以自己给他赋值,并且里面可以赋不同类型的数值。但是一定要先定义
- 2楼网友:蜜罐小熊
- 2021-04-08 21:19
以上代码是的你的combo1空白是必然的,虽然程序赋值给了combo1,但值瞬间消失了,因为你的数组dw未定义全局,代码执行完后它就消失了。要保证combo1里显示出值,而且数据源是数组的话,这个数组必须是一直存在的。因此,以上代码应改为:
use 职工工资
public array dw(reccount())
select 单位 from 职工工资 where &rq and 姓名=allt(thisform.text1.value) into array dw
thisformset.form2.text1.value=thisformset.form1.text1.value thisformset.form2.combo1.rowsourcetype=5
thisformset.form2.combo1.rowsource="dw"
这样就可以了,这里说明下,首先use 职工工资仅仅是为了定义公共数组dw,即便不适用use,select语句也会自动打开职工工资表,因此退出程序时别忘了关闭表。即可在form2的destroy事件里写上:
select 职工工资
use
或者:close tables all **这句是关闭了所有打开的表了**
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |