| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1010 人关注过本帖
标题:请教条件过滤
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
收藏
已结贴  问题点数:20 回复次数:1 
请教条件过滤
请教先生,当
IF   (hb(k) = hb(l)) or (MOD((3 - bjh - jjh) ,17) <> 0) or (mod((5 - bjeh - jjeh),17) <> 0) 这三者出现一个及以上时则跳过,否则记录到《运行记录表》中,但总是没成功,请指点
代码如下并发上附件压缩包,谢谢  
请教过滤条件.rar (2.77 KB)


CLEAR
CLOSE  all
SET SAFETY OFF
set talk off
*-------------------------------------
DIMENSION hb(580)
USE 表1
COUN TO jl1
DIMENSION b1(jl1)
DIMENSION b1j(jl1)
select * from 表1 into array b1
*-------------------------------------
USE 表2
COUN TO jl2
DIMENSION b2(jl2)
DIMENSION b2j(jl2)
select * from 表2 into array b2
USE 运行记录表
PACK
ZAP
*------------------------------------- 表1所加之数
FOR r=1 TO  613  
 bjh = 0
 bjeh = 0
     For m = 1 To 256
      If b1(m) > 128 Then
         b1j(m) = b1(m) +r      
       Else     
         b1j(m) = b1(m)
      EndIf
        bjh = bjh + b1j(m)
        bjeh = bjeh + b1j(m) * b1j(m)  
     ENDFOR
*------------------------------------- 表2所加之数
      For i = 1 To 545
        jjh = 0
        jjeh = 0
         For n = 1 To 324      
             b2j(n) = b2(n) +i
           jjh = jjh + b2j(n)
           jjeh = jjeh + b2j(n) * b2j(n)
         ENDFOR
     *ENDFOR
*-------------------------------------
        For i1 = 1 To 256
        hb(i1) = b1j(i1)
       ENDFOR
*-------------------------------------        
       For i2 = 1 To 324
        hb(i2 + 256) = b2j(i2)
       ENDFOR
*-------------------------------------
 For k = 1 To 579
      For l = k + 1 To 580
        IF   (hb(k) = hb(l)) or (MOD((3 - bjh - jjh) ,17) <> 0) or (mod((5 - bjeh - jjeh),17) <> 0)
          exit            
         ELSE
         APPEND BLANK                                         
               REPLACE  表1所加 WITH  r
               REPLACE  表2所加 WITH  i   
            *loop
            
        ENDIF
    ENDFOR
ENDFOR  

*-------------------------------------
ENDFOR
ENDFOR
?'               本次运行结束'
CLOSE ALL
USE 运行记录表
DELETE FILE *.BAK
BROWSE
搜索更多相关主题的帖子: 条件 记录 运行 from FOR 
2018-12-17 21:05
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:20 
For k = 1 To 579
      For l = k + 1 To 580
        IF   (hb(k) = hb(l)) or (MOD((3 - bjh - jjh) ,17) <> 0) or (mod((5 - bjeh - jjeh),17) <> 0)
          exit    &&          此处不要试试
         ELSE
         APPEND BLANK                                         
               REPLACE  表1所加 WITH  r
               REPLACE  表2所加 WITH  i   
            *loop
            
        ENDIF
    ENDFOR
ENDFOR  

坚守VFP最后的阵地
2018-12-17 21:45
快速回复:请教条件过滤
数据加载中...
 
   



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

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