| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 903 人关注过本帖
标题:帮帮忙,看看。谢谢!
取消只看楼主 加入收藏
mk812
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-1-31
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:5 
帮帮忙,看看。谢谢!
写了一段,目的是将一个文件中某个字段下不同的内容提取到一个数组中。但执行不了。尤其是到for下的if 说“下标超界”,不知道原因,求解释!万分感谢~!(或者别的更简单的方法,嘿嘿)

use gxmlb                       &&打开gxmlb.dbf
k=1                             && 变量k,并赋值1
count to js                     &&统计gxmlb有多少个记录,并赋值到js
dimension aa(k)                 &&定义数组aa
goto top                        &&指针位置在第一位
xmlb=alltrim(alltrim(项目类别)) &&字段"项目类别"的第一个值赋值到变量中xmlb中
aa(k)=xmlb                      &&数组aa的第一个值赋值,值为字段中第一个值
for m=1 to js                   && for循环,从1到总记录数
    if aa(m)=xmlb               &&如果数组aa的值等于当前位置字段的值,
        skip 1                  &&指针下移一个位置
        xmlb=alltrim(alltrim(项目类别))  &&指针当前位置的字段值赋值到变量中,同时m递增1,再次循环
    else                        &&如果数组aa的值不等于当前位置字段的值,
        aa(m+1)=xmlb            &&数组下表加1,并将字段当前位置的值赋值
        goto top                &&指针位置回到第一位
        m=1                     &&从头再次循环
    endif                       &&if结束
endfor                          &&for结束

基本上算是头一回独立写,别笑话哦!请不吝赐教!
搜索更多相关主题的帖子: 统计 
2011-04-25 11:12
mk812
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-1-31
收藏
得分:0 
以下是引用qjbzjp在2011-4-25 11:32:40的发言:

dimension aa(k) 有问题,应该是dimension aa(js) 吧?
如果是dimension aa(js),那数组的范围太大,我只是想取字段中不同的内容放在数组中,例如字段中的内容有:ww, ee, rr, ee, ww,那数组中的内容只是:ww,ee,rr  
2011-04-25 14:05
mk812
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-1-31
收藏
得分:0 
以下是引用qjbzjp在2011-4-25 11:35:02的发言:

还有不出问题的问题,只要一个alltrim() 就行了:
xmlb=alltrim(项目类别)
这个收到,谢谢!
2011-04-25 14:06
mk812
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-1-31
收藏
得分:0 
以下是引用qingfameng在2011-4-25 13:23:34的发言:

这样能行吗?(仅做参考)
close all
select 项目类别 from gxmlb into cursor mmm group by 项目类别
js=reccount()
dimension aa(js)
n=1
scan
    ff="aa(n)=alltrim(项目类别)"
    &ff
    n=n+1
endsc
  ?aa(1),aa(2) && 测验前2个结果



 
select 项目类别 from gxmlb into cursor mmm group by 项目类别————没太懂,cursor是不是把字段内容放在临时数据源中?
另,数组的范围定义的太大,这个数组我还要引用,所以怕范围定大了影响后面的运作,还是可丁可卯的好


[ 本帖最后由 mk812 于 2011-4-25 14:17 编辑 ]
2011-04-25 14:08
mk812
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-1-31
收藏
得分:0 
以下是引用hu9jj在2011-4-25 14:39:05的发言:

楼主的算法可能有点问题,直接用select语句实现可能更简便些:
select dist 项目类别 from gxmlb into array aa
aa数组中应该就是表中所有的项目类别。
哦,其实我就是想把一个字段中的内容重复的内容剔除。因为我的最终目的是:让表单中组合框控件的下拉表中不要显示字段中重复的内容。但又不知道怎么弄,所以想写一段,之后让组合框引用数组
2011-04-25 15:13
mk812
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-1-31
收藏
得分:0 
谢谢大家,大家这么一点拨,再看看书,我已经基本找到方法了,思路和“qjbzjp”相近。我还在继续努力中,不过看起来这个节点已经突破了。嘿嘿,继续往前冲
2011-04-26 11:06
快速回复:帮帮忙,看看。谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040627 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved