| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 759 人关注过本帖
标题:[求助]代码编写
取消只看楼主 加入收藏
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
[求助]代码编写
请教各位高手,自己编写以下一段代码,一般运行没问题,但现在遇到一些特殊情况,思考了很久都无法解决.
SCAN FOR  EMPTY(kmname) AND bjname=b(k) AND xq=ALLTRIM(thisform.optiongroup1.Buttons(t).caption) AND between(jb,5,8)
如果没有找到一个记录满足以上条件,怎样用代码表示?
IF k=6
m=jb
replace kmname WITH ALLTRIM(thisform.list2.Value) while xq=ALLTRIM(thisform.optiongroup1.Buttons(t).caption) AND jb=m
exit
ELSE
以上代码没有运行,经常出现找不到m 的值,这个问题怎样妥善处理它?
IF jb=m
LOOP
ELSE
IF k=7
n=jb
replace kmname WITH alltrim(thisform.list2.Value) while  xq=ALLTRIM(thisform.optiongroup1.Buttons(t).caption)AND jb=n
EXIT
ELSE

IF jb=n OR jb=n+1      与第二个问题一样
LOOP
ELSE
IF k=1
h=jb
replace kmname WITH alltrim(thisform.list2.Value) while  xq=ALLTRIM(thisform.optiongroup1.Buttons(t).caption)AND jb=h
EXIT
ENDIF
ENDIF
ENDIF
endif
ENDIF
endif
ENDSCAN
搜索更多相关主题的帖子: 记录 between 
2011-08-05 09:59
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
我们都是来学习的,有什么不妥请直言不讳
2011-08-05 16:25
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
首先感谢同行们关注!这段代码是有关自动排课的代码一部分,几年前我思考过这个问题,觉得很复杂就放弃.近来论坛上有人提起,我在重新思考,经过不断尝试,终于成功解决!但不是很完美,就是我上面所提到了问题.对于代码的格式、代码的简化不是我目前重点考虑的问题。功能完成后才考虑修改。
 SCAN FOR  EMPTY(kmname) AND bjname=b(k) AND xq=ALLTRIM(thisform.optiongroup1.Buttons(t).caption) AND between(jb,5,8)
 我想如果在表中没有找到满足以上条件,退出后面的代码运行,用代码怎样表示它?第一个if 不满足而满足后面条件,又怎样表示?

2011-08-06 10:03
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
我可以把问题简单为这样:
for k=1 to  10
SCAN  FOR  EMPTY(kmname) AND bjname=b(k)AND between(jb,5,8)
如果在表中没有找到满足条件记录,怎样退出后面的代码运行
if k=1

 ````````
  else
如果在表中没有找到满足条件记录,怎样退出后面的代码运行

     if k=2
``````
 endif
 endif``````
endscan
endfor

[ 本帖最后由 TZTJ 于 2011-8-6 11:09 编辑 ]
2011-08-06 11:07
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
每个if 之间都是紧密联系,第一if不运行后面的所有if都无法运行,因为后面运行用到前面的条件.你们所提出问题我都试过.反而都没有我的效果好.
我认为想办法退出不满足条件的程序.
FOR k=1 TO 10
scan FOR  EMPTY(kmname) AND bjname=b(k) AND between(jb,5,8)

IF k=1
m=jb
replace kmname WITH "数学" while jb=m
exit
  ELSE
     IF jb=m
      LOOP
          ELSE
            IF k=2
              n=jb
              replace kmname WITH "数学" while  jb=n
             EXIT
``````````````````````
             ENDIF
         ENDIF
ENDIF
endscan
ENDFOR

[ 本帖最后由 TZTJ 于 2011-8-6 12:02 编辑 ]
2011-08-06 11:52
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
m的作用就让在同一节课不能有同一个科目.在上面我说过,大部分问题我都解决了.问题是假如遇到有一个班出现不满足条就跳出自动排课.

[ 本帖最后由 TZTJ 于 2011-8-6 12:12 编辑 ]
2011-08-06 12:07
快速回复:[求助]代码编写
数据加载中...
 
   



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

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