注册 登录
编程论坛 VFP论坛

各位大佬,需要S形分班,如何在vfp中bjdm中录入01、02、03、04、04、03、02、01这些内容

gyq 发布于 2020-08-13 15:42, 2006 次点击
只有本站会员才能查看附件,请 登录
7 回复
#2
瓜瓜19902020-08-13 19:34
程序代码:
USE 1
i=1
j=1
DO WHILE !EOF()   
    if !BETWEEN(i,1,4)
        j=-j
    ELSE
        replace bjdm WITH PADL(i,2,'0')   
        SKIP 1
    ENDIF
    i=i+j
ENDDO
brow


[此贴子已经被作者于2020-8-13 19:35编辑过]

#3
gyq2020-08-14 08:59
谢谢大佬!
#4
gaoyongbin2020-08-18 22:17
程序短小,效率很高
#5
瓜瓜19902020-08-19 22:32
回复 4楼 gaoyongbin

REPLACE bjdm WITH PADL(ICASE(MOD(recno(),8)=1,1,MOD(recno(),8)=2,2,MOD(recno(),8)=3,3,MOD(recno(),8)=4,4,MOD(recno(),8)=5,4,MOD(recno(),8)=6,3,MOD(recno(),8)=7,2,MOD(recno(),8)=0,1),2,'0') all


[此贴子已经被作者于2020-8-19 22:34编辑过]

#6
sdta2020-08-20 09:44
以下是引用瓜瓜1990在2020-8-13 19:34:14的发言:

USE 1
i=1
j=1
DO WHILE !EOF()   
    if !BETWEEN(i,1,4)
        j=-j
    ELSE
        replace bjdm WITH PADL(i,2,'0')   
        SKIP 1
    ENDIF
    i=i+j
ENDDO
brow

改为
SCAN
ENDSCAN
代码更简洁,效率更高
#7
wengjl2020-08-20 15:40
select 0
use fb
SCAN
  x=MOD(RECNO(),8)
  REPLACE bjdm WITH IIF(x=1,'01',IIF(x=2,'02',IIF(x=3,'03',IIF(x=4,'04',IIF(x=5,'04',IIF(x=6,'03',IIF(x=7,'02',IIF(x=0,'01',''))))))))
  SELECT fb
ENDSCAN
#8
sdta2021-03-08 20:28
* VFP9 代码
CLOSE DATABASES
USE aa
lc = "01,02,03,04,04,03,02,01"
ALINES(la, lc, ",")
REPLACE bjdm WITH IIF(RECNO() % ALEN(la, 1) = 0, la[ALEN(la, 1)], la[RECNO() % ALEN(la, 1)]) ALL

[此贴子已经被作者于2021-3-8 20:29编辑过]

1