注册 登录
编程论坛 VFP论坛

能不能有个简便的写法

hytizj023 发布于 2023-03-22 21:11, 1101 次点击
只有本站会员才能查看附件,请 登录

如图:福彩3D软件

先获取开奖号
如果开奖号是123,就在零到九字段,写入:①②③【字段一:①,字段二:②,字段三:③,其他字段都填充成空 ' '  】
〇①②③④⑤⑥⑦⑧⑨
由于基础有点差,想不出太简便的方法,不知道各位能不能帮帮忙,如果逐一写,程序会太长。

clear
PUBLIC nhandle
nhandle=sqlstringconnect("driver=sql server;server=127.0.0.1;uid=sa;pwd=123456;database=3D")

sqlexec(nHandle,"select * from 基础数据 ","本地数据")
SELECT 本地数据
zjl=RECCOUNT()

FOR i=1 TO zjl

SCATTER TO b
c1=b(1)
c2=b(6)
GO i

a=left(c6,1)&&取左边第一位获取百位
shi=LEFT(c6,2)&&取前两位
b=RIGHT(shi,1)&&取右边第一位获取十位
c=RIGHT(c6,1)&&个位



if a=0
sqlexec(nHandle,"update 基础数据 set 零='〇' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 一='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 二='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 三='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 四='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 五='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 六='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 七='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 八='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 九='' where 期号=?c1")
endif

if a=1
sqlexec(nHandle,"update 基础数据 set 零='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 一='①' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 二='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 三='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 四='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 五='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 六='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 七='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 八='' where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 九='' where 期号=?c1")
endif


这样写,是不是太低级了

ENDFOR
10 回复
#2
sdta2023-03-22 21:28
能解决问题就行。看样子楼主是在做商业软件啊!
#3
hytizj0232023-03-22 21:32
以下是引用sdta在2023-3-22 21:28:41的发言:

能解决问题就行。看样子楼主是在做商业软件啊!

不做商业软件,我打算自己用,要把他开发完,估计得还要在论坛上发不少帖子,等开发完毕后,我会分享出来。只是自己做一个分析软件而已,脑壳都整痛了,每天都是计算
#4
sdta2023-03-22 21:41
自己用还要网络版?
#5
hytizj0232023-03-22 21:47
以下是引用sdta在2023-3-22 21:41:17的发言:

自己用还要网络版?

我要发给我朋友,我们一起用,所以要网络版,我们要交换数据
#6
sdta2023-03-22 21:50
先写单机版,等熟练掌握了VFP编程,再写网络版!
#7
sdta2023-03-22 22:25
1楼的代码能正常运行吗
#8
sdta2023-03-22 22:38
试试这样行不行(估计速度奇慢)

sqlexec(nHandle,"update 基础数据 set 零=iif(a="0",'〇','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 一=iif(a="1",'①','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 二=iif(a="2",'②','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 三=iif(a="3",'③','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 四=iif(a="4",'④','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 五=iif(a="5",'⑤','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 六=iif(a="6",'⑥','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 七=iif(a="7",'⑦','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 八=iif(a="8",'⑧','') where 期号=?c1")
sqlexec(nHandle,"update 基础数据 set 九=iif(a="9",'⑨','') where 期号=?c1")


[此贴子已经被作者于2023-3-22 22:42编辑过]

#9
mywisdom882023-03-22 23:07
把8楼的,写成1条来发送,可能会快点

TEXT TO upStr NOSHOW TEXTMERGE PRETEXT 4
update 基础数据 set
 零 = '<< iif(a="0",'〇','') >> ',
 一 = '<< iif(a="1",'①','') >>',
 二 = '<< iif(a="2",'②','') >> ',
 三 = '<< iif(a="3",'③','') >> ',
 四 = '<< iif(a="4",'④','') >> ',
 五 = '<< iif(a="5",'⑤','') >> ',
 六 = '<< iif(a="6",'⑥','') >> ',
 七 = '<< iif(a="7",'⑦','') >> ',
 八 = '<< iif(a="8",'⑧','') >> ',
 九 = '<< iif(a="9",'⑨','') >> '
 where 期号 = '<<c1>> '
ENDTEXT
sqlexec(nHandle,upStr)

#10
mywisdom882023-03-22 23:13
另外,在VFP中,尽量不要用1个字符做变量名称
如上面的
a=left(c6,1)&&取左边第一位获取百位
shi=LEFT(c6,2)&&取前两位
b=RIGHT(shi,1)&&取右边第一位获取十位
c=RIGHT(c6,1)&&个位
宁愿多几个字符
aa1 = left(c6,1)&&取左边第一位获取百位
shi = LEFT(c6,2)&&取前两位
bb1 = RIGHT(shi,1)&&取右边第一位获取十位
cc1 = RIGHT(c6,1)&&个位
#11
sam_jiang2023-03-22 23:24
楼主是想买彩票,中大奖,用电脑辅助选号啊
1