| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3204 人关注过本帖
标题:我用vfp做了一个简单的双色球彩票软件,谁有兴趣,可以继续合作开发研究.
取消只看楼主 加入收藏
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
结帖率:25%
收藏
 问题点数:0 回复次数:8 
我用vfp做了一个简单的双色球彩票软件,谁有兴趣,可以继续合作开发研究.
我用vfp做了一个简单的双色球彩票软件,谁有兴趣,可以继续合作开发研究.
我是vfp初学者,边学边用已经有半年多了,我对做出的程序还不满意,寻找会vfp,又对彩票研究有兴趣的朋友,合作继续研究,一起中奖.
我程序的下载地址:
http://www.
搜索更多相关主题的帖子: vfp 合作 下载地址 双色球彩票 
2012-04-27 23:43
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
我重新写了软件代码,更容易看懂理解了。
2013-02-26 10:45
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
我做了一部分通用彩票软件程序,有兴起的朋友可以一起进一步完善。
*******************************
*彩票类型:通用彩票
*类型:开源项目
*功能:主程序
*名称:cprj.prg
*版本:Ver2.00
*设计人:独狼
*最后修改日期:2013-02-25
*说明:QQ:2775205
*******************************
*!* 用于设置系统环境和指定错误处理程序
LCNowpath=JUSTPATH(SYS(16,1))+'\'
set default to (LCNowpath)  &&设置默认工作目录
DO cprj_env  &&软件环境设置
*_Screen.Visible=.F.
***********************
*数据初始化
DO cprj_dbf  &&创建数据库
DO cprj_dbf2  &&创建数据库
DO cprj_dbf1  &&追加数据
DO cprj_var  &&创建全局变量
DO cprj_var1  &&全局变量初始化
DO gs_var  &&公式变量初始化
DO gs_var2  &&公式系统变量初始化
DO gs_init  &&公式系统初始化
Set Classlib To  mbar.vcx Additive
DO FORM cpmainb.scx
DO cprj_end  &&结束程序
_Screen.Visible=.t.
RETURN
*******************************
*程序结束
*******************************
2013-02-26 10:49
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
*******************************
*彩票类型:通用彩票
*类型:开源项目
*功能:创建数据库
*名称:cprj_dbf.prg
*版本:Ver2.00
*设计人:独狼
*最后修改日期:2013-02-10
*说明:*说明:QQ:2775205
*******************************
*国内常见的排列型彩票有七星彩、3D等等。彩票开奖数据有:期号,奖号,开奖日期。
*排列型彩票最长度为7位,我们用W1,W2,...,W7来代表这7位
*下面就开始创建彩票数据库CPK4.DBF

Select 0
If .Not.File("CPK5.DBF")
  Create Table CPK5;
    (期号 N(8,0),;
    W1 N(3,0),;
    W2 N(3,0),;
    W3 N(3,0),;
    W4 N(3,0),;
    W5 N(3,0),;
    W6 N(3,0),;
    W7 N(3,0),;
    W8 N(3,0),;   
    开奖日期 C(10) )
  Use
Endif

*为了能够区分彩票类型,我们再创建数据库PZ4.DBF
*这个库存放与软件有关的一起配置信息。
* XH序号 SM说明 BZ备注
If .Not.File("PZ5.DBF")
  Create Table PZ5;
    (XH C(4),;
    SM C(40),;
    BZ C(100) )
  Use
Endif

*我们再创建数据库XT4.DBF
*这个库存放与软件用户有关的一起配置信息,例如用户名,机器码,授权码等相关信息。
*与XT4与PZ4的库结构相同,分开的原因,防止升级软件,影响注册信息。
If .Not.File("XT5.DBF")
  Create Table XT5;
    (XH C(4),;
    SM C(40),;
    BZ C(100) )
  Use
Endif

*我们再创建彩票品种库CPPZ.DBF
*这个库存放彩票品种的相关信息。
*
*!*    If File("CPPZ.DBF")  
*!*      ERASE CPPZ.DBF
*!*    ENDIF
  
If .Not.File("CPPZ.DBF")
  Create Table CPPZ;
    (XH N(4,0),;     &&序号
    CPMC C(30),;   &&彩票名称
    CPDM C(10),;   &&彩票代码
    CPJC C(10),;   &&彩票简称
    LX N(2,0),;    &&开奖号码类型,1不区分顺序,2区分顺序(1-不区分顺序   2-区分顺序)
    WC N(2,0),;    &&位长
    HHS N(2,0),;   &&前区开奖位数
    HHM N(2,0),;   &&前区开奖最大数
    HCF N(2,0),;   &&前区是否允许号码重复
    LHS N(2,0),;   &&后区开奖位数
    LHM N(2,0),;   &&后区开奖最大数
    LCF N(2,0),;   &&后区是否允许号码重复
    ZXQH C(10),;   &&最新期号
    QQ C(20),;     &&前区
    HQ C(10),;     &&后区
    ZXSJ C(20),;   &&最新时间
    KJSJ C(20),;   &&每周开奖时间
    LY N(2,0),;    &&彩票来源
    FL C(20),;     &&彩票分类
    QG  N(2,0),;   &&是否全国联网销售
    GPC  N(2,0),;  &&是否高频彩
    KSSJ C(20),;   &&开始时间
    JSSJ C(20),;   &&结束时间
    MQJG N(2,0),;  &&每期间隔时间
    MTZQ N(2,0),;  &&每天总期
    XZDZ C(200),;  &&下载地址  
    WZ1 C(200),;   &&数据更新网址1
    WZ2 C(200),;   &&数据更新网址2
    WZ3 C(200))  &&数据更新网址3
  Use

*********************************************
*彩票品种定义

*********************************************
USE
Endif

Return
*******************************
*程序结束
*******************************
2013-02-26 10:49
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
*******************************
*彩票类型:通用彩票
*类型:开源项目
*功能:初始化变量
*名称:cprj_var.prg
*版本:Ver2.00
*设计人:独狼
*最后修改日期:2013-02-10
*说明:QQ:2775205
*******************************
*  一、变量的规定
*  为了实现数据格式通用,有必要设置一些全局变量。
*  为了便于其他人阅读,我打算尽可能规范的格式来命名变量。
*   1、变量涉及范围
*     l   局部(Local)
*    t   参数(Parameter)
*    g   公共(全局)(Public (Global))
*    p   私有(默认)(Private (Default))
*
*   2、变量的数据类型
*   a 数组
*   c 字符型、可变长字符型(Varchar)、可变长字符(二进制)(Varchar (Binary))
*   y 货币型
*   d 日期型
*   t 日期时间型
*   b 双精度(Double)
*   f 浮点(Float)
*   l 逻辑型
*   n 数值型
*   o 对象(Object)
*   q 可变长二进制型(Varbinary)、大二进制对象(Blob)
*   u 未知(Unknown)

**系统约束参数
PUBLIC MAXWC,MAXHM,MAXFP,MAXSJ
MAXWC=10   &&最大位数
MAXHM=50  &&最大数字
MAXFP=100 &&最多页数
MAXSJ=80 &&最多数据
=RAND(-1)

***********************
*程序运行状态:VFP中?编译后运行?
PUBLIC glRUN
lcEXT= JUSTEXT(SYS(16,1))
IF lcEXT="EXE"  
  glRUN=.F.
ELSE
  glRUN=.T.   &&VFP中运行
ENDIF

PUBLIC HGSBJ ,GSYXJS ,XTXX,GSDBF,GSYXZT
HGSBJ=.T.   &&公式编辑窗没有打开
GSYXJS=0   &&公式运行结束
XTXX=1   &&显示系统信息
GSDBF=""  &&公式默认生成的dbf库名
GSYXZT=1  &&公式运行状态,1正常运行,2编辑器中运行
***********************
**错误处理
PUBLIC ERR_FILE,ERR_PRG,ERR_LINE,ERR_MESS
ERR_PRG=""
ERR_LINE=1
ERR_MESS=""
LCNowpath=JUSTPATH(SYS(16,1))+'\'
ERR_FILE =LCNowpath+"\ERR_DBF.DBF" &&程序出错库
ON ERROR DO cprj_ERR WITH PROGRAM(),LINENO(),ERROR(),MESSAGE(),MESSAGE(1) &&定义错误处理程序
***********************
*表单定义
PUBLIC TREEW
TREEW=190
***********************
**绘图
PUBLIC maxw,maxh,nx,ny,x0,xl,y0,yl,zjl,sfyz,PYY,HLZ,BJYS,QJYS,ZJYS,BTYS,SZGBC,XSSZGB,SBX1,SBY1
maxw=1024  &&画板宽
maxh=768  &&画板高
*SBX1,SBY1保存鼠标在画板的历史坐标
sfyz=1  &&缩放因子
PYY=0  &&偏移Y轴
HLZ=0  &&画零轴
BJYS=RGB(236,233,216)  &&背景色
QJYS=RGB(0,0,0)    &&前景色
ZJYS=RGB(64,64,64)  &&中间色
BTYS=RGB(255,0,0)  &&标题色
SZGBC=CRGB("棕色")  &&光标色
XSSZGB=0

PUBLIC hgzh,hgzs
hgzh=1
hgzs=1

PUBLIC ZBXS[300]
PUBLIC KXXT[20]
PUBLIC px[100],szb[650000,20]
PUBLIC GSYXZT,GSYXJS,lsk,GSDBF,ZBTJL,ZBTnx,ZBTny,expbj
PUBLIC CCBB[20000,64],COLORB[100],LINEBW[40],LINEBS[40]
GSYXZT=1
GSYXJS=1
lsk=0
ZBTJL=1
ZBTnx=14
ZBTny=20
expbj=.f.
STORE "COLORFFFFFF" TO COLORB
STORE 2 TO LINEBW
STORE 1 TO LINEBS
PUBLIC hzz,hzzs,hzzx,hzzw,hzzk
hzzk=0
hzz=0
hzzs="红色"
hzzx="蓝色"
hzzw=4
**K线显示
hzzk=0
STORE 0 TO KXXT
STORE 1 TO zbxs
PUBLIC hzzks,hzzkx,hzzkx,hgzh,hgzh,HZZKW
hzzks="红色"
hzzkx="COLORCYAN"
hgzh=1
hgzh=1
HZZKW=5
***********************

*  二、软件常用的变量
*  软件常用的变量有:gc软件名称,gc软件标题,gc软件类型,gc软件版本,gc软件作者,gc修改作者等等
PUBLIC gc软件名称,gc软件标题,gc软件版本,gc软件作者,gc修改人,gc修改日期
STORE "" to gc软件名称,gc软件标题,gc软件版本,gc软件作者,gc修改人,gc修改日期
PUBLIC gn版本号
gn版本号=10000

*  软件常用的变量有:gnQUIT 退出软件
PUBLIC gnQUIT,gn返回值,gc返回信息,gc下载地址,gnSKSD
gnQUIT=0
gnSKSD=0
gn返回值=0
gc返回信息=""
gc下载地址=""
*  软件用户的变量有:gc用户名,gc密码,gcMAC,gcHDID,gcIP,gn权限
PUBLIC gc用户名,gc密码,gcMAC,gcHDID,gcIP,gn权限
STORE "" TO gc用户名,gc密码,gcMAC,gcHDID,gcIP
gn权限=1
gc用户名="USER"
PUBLIC BIE,HPAGE,HPAG1,LSK,expbj
BIE="http://www.
STORE 1 TO HPAGE,HPAGEA,LSK

************************利用WMI识别硬件
LOCAL oWMI AS OBJECT,oLocal AS OBJECT,oHARDWARE AS OBJECT,object1 AS OBJECT,lcCPUID,LcMAC,lcHDID,lcHDINFO,lcIP,lcHDID2  
oWMI=CREATEOBJECT("WbemScripting.SWbemLocator")  
oLocal=oWMI.ConnectServer(".",  "root\cimv2")  

*取硬盘物理ID
*此方法在XP下面有一个BUG,以即如果硬盘序列是前面有空格的,
*在XP下面会取到一个NULL值!但是VISTA下面工作正常
oHARDWARE=oLocal.ExecQuery("SELECT * FROM Win32_PhysicalMedia")  
FOR EACH object1 IN oHARDWARE  
lcHDID=object1.Properties_('SerialNumber').VALUE  
EXIT  
ENDFOR
gcHDID=ALLTRIM(lcHDID)

*取MAC和IP  
oHARDWARE=oLocal.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=1")  
FOR EACH object1 IN oHARDWARE  
LcMAC=object1.Properties_('MACAddress').VALUE  
LcIP=object1.Properties_('IPAddress').VALUE  
EXIT  
ENDFOR
gcMAC=ALLTRIM(LcMAC)
gcIP=ALLTRIM(LcIP)

*  软件状态的变量有:gn记住密码,gn自动登录,gn有网络
PUBLIC gn记住密码,gn自动登录,gn有网络,gl修改品种
STORE 0 TO gn记住密码,gn自动登录
gn有网络=1
gl修改品种=.f.
*  主表单
PUBLIC cpmainb,oCPFORM,glQuit
*  管理FRAME.PAGE变量有:ganFP存放使用的PAGE名字,gnFP_i当前激活的PAGE号码,gn_FP_m总共有多少PAGE
PUBLIC gacFP[MAXFP],galFP[MAXFP],gnFP_i,gnFP_m,gnFP_o,gcFP_name
STORE "" TO gacFP
STORE .F. TO galFP
STORE 0 TO gnFP_i,gnFP_m,gnFP_o
glQuit=.f.
gcFP_name=""     &&PAGE名字
***************************************

*  三、彩票相关的变量
*  我们考虑到设计彩票软件能够通用七星彩和3D彩种。要有一些相关设置参数,这些参数存放在全局变量中,后面程序在计算中获取这些设置。
*  彩票相关的变量有:gc彩票名称,gc彩票代码,gn彩票类型,gn彩票位长,gn前区位长,gn后区位长,gn前区最大数,gn后区最大数,gc开奖数据
PUBLIC gc彩票名称,gc彩票简称,gc彩票代码,gn彩票位长,gn彩票类型,gn前区位长,gn后区位长,gn前区最大数,gn后区最大数,gc开奖数据,gn彩票来源
PUBLIC gn前重复,gn后重复,gn每天总期,gn高频彩
PUBLIC HHS,LHS,HHM,LHM
STORE "" TO gc彩票名称,gc彩票代码,gc开奖数据,gc彩票简称
STORE 0 TO gn彩票类型,gn彩票位长,gn前区位长,gn后区位长,gn前区最大数,gn后区最大数,gn彩票来源,gn前重复,gn后重复,gn每天总期 ,gn高频彩

PUBLIC gn最新期号,gc最新时间,gc前区,gc后区,gc开奖时间
*  软件根据变量gn彩票类型,来识别彩票类型。我们规定1为乐透型(即M选N的组合)。2为排列型。
*  gn彩票来源,为1表示福利彩票,为2表示体育彩票,为3表示地方彩票。
*  1. 双色球设置
*  gc彩票名称="全国联网福彩双色球"
*  gc彩票简称="双色球"
*  gc彩票代码="SSQ"
*  gn彩票类型=1
*  gn彩票位长=7
*  gn前区位长=6
*  gn后区位长=1
*  gn前区最大数=33
*  gn后区最大数=16
*  gn彩票来源=1

*  2. 超级大乐透设置
*  gc彩票名称="全国联网体彩超级大乐透"
*  gc彩票简称="大乐透"
*  gc彩票代码="DLT"
*  gn彩票类型=1
*  gn彩票位长=7
*  gn前区位长=5
*  gn后区位长=2
*  gn前区最大数=35
*  gn后区最大数=12
*  gn彩票来源=2

*  3. 七星彩设置
*  gc彩票名称="全国联网体彩七星彩"
*  gc彩票简称="七星彩"
*  gc彩票代码="QXC"
*  gn彩票类型=1
*  gn彩票位长=7
*  gn前区位长=7
*  gn后区位长=0
*  gn前区最大数=9
*  gn后区最大数=9
*  gn彩票来源=2
Return
*******************************
*程序结束
*******************************
2013-02-26 10:50
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
公式编写指南

         公式5.0版说明



    公式编写说明如下:

    一、公式的格式

    1、每个公式命令必须占1行,命令不能分开,不能有空格。

    2、每行公式最后,可以用“//”来注释说明。

    3、变量名必须以字母或汉字开头。

    4、公式命令不分大小写字母,自动转为大写字母处理。即X1和x1是一样的。

    5、变量赋值使用“:=”,或者“=”,默认中间变量。例如: a1:=12

    6、变量赋值命令后面可以跟数字。例如:b1:=20

    7、变量赋值命令后面可以是+-*/%运算表达式。例如: aa:=a1+3

    8、变量赋值命令后面可以包含括号在内的数学表达式。支持()括号。(4.09版以上取消了表达式中“[],{}”的使用,为了VFP9。)

    9、变量可以反复赋值,以最近一次赋值为准。

    10、输出型变量赋值用“:”,该变量类型为输出变量,最后可以生成数据库。

    11、变量有2种类型,数字型(默认小数点后4位)和字串类型。做公式是要防止类型错误。

    12、公式运行有2种模式。

        模式1在公式编辑器中单步运行,允许输出信息命令。不允许写库。在模式1中,数据指向最后一期数据。预置变量例如w1,可以用ref(w1,5)等函数,自定义变量使用会因为数据未赋值而出错。

        模式2在系统中自动运行,计算全部数据,默认不允许输出信息命令,支持写库或绘图。模式2相当于从彩票库第1期开始执行,到最后一期执行完成结束。

    13、函数体内不得出现负常数,如需要使用必须用变量来替代。 函数体内只能是正参数和变量名。

    14、函数体内的表达式必须用使用()。例如a=min((-10),(-2*3))

    15、模式2中,命令前加#符号,表式该命令只执行一次。一般系统定义函数,没有必要重复执行,可以加#号,例如 #aa1=BJys("colorcff0c0")

    16、模式2中,命令前加@符号,表式该命令在循环计算完成后,才执行一次。一般系统定义函数,没有必要重复执行,可以加@号,例如 @aa1=BJys("colorcff0c0")

    17、预置变量为[概况表]数据。

18、支持中文命令。

19、增加只运行一次的模式3。模式3数据都预置为最后一期数据。

20、支持编译模式,在编译模式中,公式书写要符合VFP9的语法。解释模式容错功能强大,可以兼容VFP9语法。



    二、说明及注释

    1、说明有多种方式。命令分别为:说明,*,;,!,//,REM。

    2、例如“说明”。

       说明:本公式是测试

    3、例如“*”。下面命令为说明,不会被执行。

       *x3:=A1+B1   //演示

    4、例如“//”。

        x6:=12+3  //演示



    三、简单运算

    1、新版公式系统比以前有很大改进,更加自由方便。

    2、运算符+加,-减,*乘,/除,\整除,%取余数。

    3、字串运算+和&都是连接字串。

    4、逻辑运算规定“假”为0,“真”为大于0。

    5、比较符为>,>=,<,<=,=。

    6、关系符 .或者. , .or. ,.并且. ,.and.

*   7、关系符或比较符参数必须加小括号。例如:a=IIF(((2)>(3)),5,6)





    四、函数

    (一)数学函数

    1、 绝对值: Abs(N)求 N 的绝对值|N|.

    2、 符号: Sign(N)或SGN(N)根据 N>0, =0, <0, 返回 1, 0, -1.

    3、 上限取整: Ceiling(N)返回 ≥N 的最小整数.

    4、 下限取整: Floor(N) 返回 ≤N 的最大整数.

    5、 截断取整: Int(N) 截掉 N 的小数 , 只取整数.

    6、 四舍五入: Round(N1 , N2) 将 N1 四舍五入保留N2 位小数.

    7、 指数: Exp(N)以自然数 e 为底, N 为指数求 eN .

    8、 自然对数: Log(N) 求自然对数 Ln N .

    9、 正弦: Sin(N) 返回 N 的正弦值 ( N 为弧度 ).

   10、 余弦: Cos(N) 返回 N 的余弦值 ( N 为弧度 ).

   11、 平方根: Sqrt(N) 求 N 的平方根.

   12、 取大值: MAX(X1,X2) 函数返回X1和X2的最大值.

   13、 取小值: MIN(X1,X2) 函数返回X1和X2的最小值.

   14、 条件选择函数: IIF(X,N1,N2)或IF(X,N1,N2), X〉0,取N1,否则取N2。

*编译模式,X条件必须是逻辑表达式,解释方式默认X数学表达式数值大于0。可以用如下方式保持兼容性。

例如X=12+3

Y=IIF(X,N1,N2)   //解释模式,要保持编译兼容性,必须做下面的修改。解释模式中比较符会用函数替换,所以比较符表达式和参数都需要加“()”来改变运算顺序。

Y=IIF(((X)>(0)),N1,N2)     //解释模式和编译模式都能正确运算。

   15、 取余数MOD(N1,N2),返回N1/N2的余数。

   16、RAND(N)随机函数

   17、BETWEEN(X1,X2,X3)或RANGE(X1,X2,X3), X1小于等于X2,并且X1小于等于X3,返回1,否则返回0。

   18、逻辑非NOT(N) N<=0,返回1,否则0

   19、REVERSE(N) 取反,返回-N

   20、ZHISHU(N) ,判断数字N是否为质数,是1,否0。

   21、DY(X1,X2) X1大于X2,返回1,否则返回0。

   22、DYDY(X1,X2) X1大于等于X2,返回1,否则返回0。

   23、XY(X1,X2) X1小于X2,返回1,否则返回0。

   24、XYDY(X1,X2) X1小于等于X2,返回1,否则返回0。

   25、XD(X1,X2) X1等于X2,返回1,否则返回0。

   26、BDY(X1,X2) X1不等于X2,返回1,否则返回0。

  



    (二)字符函数

   1、SUBSTR(S,I,N)在S字符串中的第I个字符起取N个字符.

   2、TRIM(S),消除字符串尾部空格。

   3、LTRIM(S),消除字符串前部空格。

   4、ALLTRIM(S)消除字符串中前和后的所有空格

   5、LEFT(S,N)从字符串S左边取N个字符

   6、RIGHT(S,N)字符串S右边取N个字符

   7、AT(S1,S2)在字符串S2,找字符串S1开始的位置。

   8、UPPER(S) 小写字母

   9、LOWER(S)写字母

   10、LEN(S)求字符串的长度

   11、ASC(S)求第一个字符串的ASCII码

   12、CHR(N)求ASCII码的字符

   13、SUBB(S1,S2),用S2拆分S1取前部分。

   14、SUBF(S1,S2),用S2拆分S1取后部分。

   15、VAL(S)字符串转换为数值

   16、STR(R,L,D)数值转换成字符,L为长度,D为小数位数

   17、 输出格式控制函数strgs(x1,x2),strgs1(x1),strgs2(x2)

        x1表示数据总长度,x2表示数据小数点位数,函数返回值为0。

   18、REPLICATE(S,N) 指定字符S重复指N次返回。

   19、SPACE(N),返回N个空格。

   20、 2位数字转字符NTOCC(N),例如NTOCC(2),返回"02".





  (三)时间函数

   1、DATE()当前日期字串。

   2、TIME()当前时间字串。

   3、YEAR(S)求年份(数值)

   4、MONTH(S)求月份(数值)

   5、DAY(S)求日期(数值)

   6、DOW(S)求星期几(数值)

   7、CDOW(S)求星期几(英文)

   8、DATETIME(0)求当前日期和时间字串。

   9、 HOUR(0) 当前小时

   10、MINUTE(0) 当前分钟

   11、SECONDS(0) 返回秒





  (四)统计及引用函数

   1、 平均值ma(变量,N),返回n周期的平均值。公式解释模式下兼容股票语法和VFP语法,编译模式必须修改为标准格式,ma(“变量名”,N)。下面函数均同此。

   2、 求和SUM(变量,N),返回n周期值的和。公式解释模式下兼容股票语法和VFP语法,编译模式必须修改为标准格式,SUM(“变量名”,N)。

   3、STD(X,N) 返回估算标准差。

   4、STDP(X,N) 返回总体标准差。

   5、VAR(X,N) 返回估算样本方差。

   6、VARP(X,N) 返回总体样本方差。

   7、COUNT(S,N),统计变量在N期内数据大于0 的次数。

   8、REF(S,N),取变量之后第N位的数据值。

   9、REFX(S,N),取变量之前第N位的数据值。

   10、HHV(S,N),取变量S在N期内的最大值。

   11、HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计。

   12、LLV(S,N),取变量S在N期内的最小值。

   13、 LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计。

   14、 DMA(X,A),求X的动态移动平均.

   15、SMA(X,N,M):X的N日移动平均,M为权重,如Y=(X*M+Y'*(N-M))/N

   16、WMA(X,M):X的M日加权移动平均.算法:Yn=(1*X1+2*X2+...+n*Xn)/(1+2+...+n)

   17、EMA(X,M):X的M日指数移动平均.算法:Y=(X*2+Y'*(N-1))/(N+1)

   18、MEMA(X,M):X的M日平滑移动平均

   19、ZJL()总记录数。

   20、DQJL(N)当前数据指针号。N=0,返回指针号;N>0设置新指针。

   21、SKIP(N)移动当前数据指针。

   22、qhtorn(N) 将N期号转换为记录号。

   23、rntoqh(N) 将N记录号转换为期号。

   24、HHM()前区或红号最大数。例如双色球为33。

   25、LHM()后区或蓝号最大数。例如双色球为16。

   26、HHS()前区或红号长度。例如双色球为6。

   27、LHS()后区或蓝号长度。例如双色球为1。

   28、SHIFO(N1,N2),判断N1数是否在DQJL+N2期彩票前区出现过。没有出现时0,否则为位置号。

   29、SHIFOB(N1,N2),判断N1数是否在DQJL+N2期彩票后区出现过。没有出现时0,否则为位置号。



  (五)绘图相关函数

   1、 BJSY(C) 设置背景颜色,例如 @aa1=BJys("colorcff0c0")

   2、QJYS(C)设置前景颜色

   3、BTYS(C)设置标题颜色

   4、ZJYS(C)设置中间颜色

   5、SETNY(N),设置纵轴分割数,默认20.

   6、SETNX(N),设置横轴分割数,默认14.

   7、SETC(N,C) 设置第N条线的颜色,例如:#LCC=setc(1,"COLORGREEN")

   8、SETLBW(N1,N2) 设置第N1条线的线宽N2,默认线宽为2

   9、SFYZ(N) 设置缩放因子,N=0,返回缩放因子。N<1放大,N>1缩小。

   10、PYY(N) 设置Y轴上下偏移,N=0,返回偏移值。

   11、HZZ(N) 设置第N条指标线,画颜色柱子。

   12、HZZW(N) 设置画颜色柱子宽度为N,默认为4。

   13、HZZS(C) 设置画颜色柱子大于0的颜色,默认"红色"。

   14、HZZX(C) 设置画颜色柱子小于0的颜色,默认"蓝色"。

   15、ZBXSS(X,N) 设置是否现实第X条指标线。N=1显示,默认。N=0不显示。

   16、HGZH(N) 设置是否显示横坐标线。N=1显示,默认。N=0不显示。

   17、HGZS(N) 设置是否显示竖坐标线。N=1显示,默认。N=0不显示。

   18、KXXTT(X,Y) 设置K线系统。X的值代表,1开盘,2收盘,3最低,4最高。

         Y表示捆绑第Y条指标线的值。

         例如:aaq1=KXXTT(4,5),表示最高价实用第5条指标线的值。

         如不显示第5条指标线,用命令关闭。aa=ZBXS(5,0)

   19、HZZK(N) 设置是否显示K线图。N=1显示,默认。N=0不显示。

   20、HZZKW(N) 设置K线柱子宽度为N,默认为4。

   21、HZZKS(C) 设置K线柱子大于0的颜色,默认"红色"。

   22、HZZKX(C) 设置K线柱子小于0的颜色,默认"浅蓝色"。





  (六)杂函数

   1、GSDBF(S)设置公式默认数据库名。实际名字是"LS"+S,程序运行结束回删除LS开头的数据库文件。

   2、BLCD(S,L,D)修改S变量的长度,L为长度,D为小数位数。返回1成功,0失败,变量不存在。

  

   五、语法命令

   1、? 输出命令,参数间用“,”分割。(只能在运行模式1中)

      ?     //输出1空行

      ?  "字符串",变量,数学表达式

     提示:字符串和表达式中间不能出现分割符",",否则会出错。

   2、PRINT或PR,功能同“?”。

   3、CLEAR 清除信息命令。

   4、IF <条件> THEN ...ENDIF条件判断语句。

   5、WHILE <条件>  ...  ENDW命令语句。

   6、CALL <prg程序>   运行外部VFP9程序。



   六、特殊命令

   1、BLCD 或XGBLCD命令,修改变量长度。变量长度格式会影响写库的字段格式。在写库前可以预先修改1下。只能在运行模式2中使用。例如下面。

blcd "杀1",3,0

   2、COPY或COPYTO写库命令,只能在运行模式2中运行。所有数据运算完成,才执行写库操作。

    例如:COPYTO shahong

      3、TOXLS 将COPYTO生成的dbf数据库,转为xls文件。

     例如:

     copyto  lss

     toxls   数据.xls



    解释系统采用流处理方式,无法区分前后运算符的优先关系,因此要加小括号,来提高优先运算顺序。

****************************************************

说明:公式编辑器主要用于彩票分析和统计,兼容股票公式的格式。可以用于数据分析。

也可以当做表达式运算器。

特殊说明:

1、因为采用分割符“,”,因此在PRINT的命令中不能出现带“,”参数的函数,会分解错误。暂时无法判断和改进。

2、解释系统采用流处理方式,无法区分前后运算符的优先关系,因此要加小括号,来提高优先运算顺序。

2013-02-26 10:51
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

2013-02-26 10:52
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
分析部分已经完成,可以【我的工作台】构建新的功能。
*******************************
*彩票类型:彩票
*指标类型:系统指标
*指标功能:绘图指标
*指标名称:位置2号KDJ
*说明:显示位置2号KDJ
*******************************
**图形设置
#aa1=BJys("colorcff0c0")     //设置背景颜色
#aa2=qjys("colorff0000")     //设置前景颜色,即坐标值颜色
#aa3=btys("colorff00ff")     //设置标题颜色
#cc1=setc(1,"绿色")          //设置线的颜色
#cc1=setc(2,"COLORMAGENTA")  //设置线的颜色
#cc1=setc(3,"铜色")          //设置线的颜色
#cc1=setc(4,"蓝色")          //设置线的颜色
#cc1=setc(5,"COLORCYAN")     //设置线的颜色
#cc1=setc(6,"红色")          //设置线的颜色
#cc1=setc(7,"COLORCYAN")     //设置线的颜色
#cc1=setc(8,"蓝色")          //设置线的颜色
#cc2=SETLBW(1,3)             //设置线宽度
#cc2=SETLBW(2,3)             //设置线宽度
#cc2=SETLBW(3,3)             //设置线宽度
#cc2=SETLBW(4,2)             //设置线宽度
#cc2=SETLBW(5,2)             //设置线宽度
#cc2=SETLBW(6,2)             //设置线宽度
#cc2=SETLBW(7,2)             //设置线宽度
#cc2=SETLBW(8,2)             //设置线宽度
#CC3=setny(10)               //设置Y轴分割数
#CC3=SFYZ(0.8)               //缩放因子,小于1是放大。
**********************
wz=2  //位置
****指标参数
n=9
m1=3
m2=3
blwz=BLCZ("W1")
blwz1=blwz+wz-1
#HHS=HHS(0)
#ccx=IIF(((wz-HHS)>(0)),"蓝","红")
#nn=IIF(((wz-HHS)>(0)),(wz-hhs),wz)
#ccc1=ccx+allt(str(nn,10,0))+"号KDJ"
#aaa1=GSDBF(ccc1)
号码=bl2(blwz1)
*****指标算法
期号:期号
RSV:=(号码-LLV("号码",N))/(HHV("号码",N)-LLV("号码",N))*100
K:SMA("RSV",M1,1)
D:SMA("K",M2,1)
J:3*K-2*D
**********************
*画横坐标线
y100:100
y80:80
y50:50
y20:20
y0:0
************************
copyto
ckyht
************************
**上面是公式
**下面是公式运行结果
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-02-26 10:53
hepu
Rank: 2
等 级:论坛游民
帖 子:62
专家分:27
注 册:2011-12-16
收藏
得分:0 
**下面是vfp程序插件
**彩票基本分析
*c=SECONDS()
SELECT 0
sjkm="LS"+allt(STR(RAND()*1000000))
USE cpk5
COPY TO &sjkm
USE

sql1="期号"
FOR i=1 TO gn前区位长
sql1=sql1+", W"+ALLT(STR(i))+" 前"+ALLT(STR(i))
NEXT i
FOR i=1 TO gn后区位长
sql1=sql1+", W"+ALLT(STR(gn前区位长+i))+" 后"+ALLT(STR(i))
NEXT i

sql1=sql1+",w1"
FOR i=2 TO gn前区位长
sql1=sql1+"+W"+ALLT(STR(i))
NEXT i
sql1=sql1+" 和值"

sql1=sql1+",MOD(w1"
FOR i=2 TO gn前区位长
sql1=sql1+"+W"+ALLT(STR(i))
NEXT i
sql1=sql1+",10) 和尾"

sql1=sql1+",w1"
FOR i=2 TO gn前区位长+gn后区位长
sql1=sql1+"+W"+ALLT(STR(i))
NEXT i
sql1=sql1+" 全和"

sql1=sql1+",MOD(w1,10)"
FOR i=2 TO gn前区位长+gn后区位长
sql1=sql1+"+MOD(W"+ALLT(STR(i))+",10)"
NEXT i
sql1=sql1+" 尾和"


sql1=sql1+",zhishu(w1)"
FOR i=2 TO gn前区位长
sql1=sql1+"+zhishu(W"+ALLT(STR(i))+")"
NEXT i
sql1=sql1+" 质数"

sql1=sql1+",mod(w1,2)"
FOR i=2 TO gn前区位长
sql1=sql1+"+mod(W"+ALLT(STR(i))+",2)"
NEXT i
sql1=sql1+" 奇数"

sql1=sql1+",gn前区位长-(mod(w1,2)"
FOR i=2 TO gn前区位长
sql1=sql1+"+mod(W"+ALLT(STR(i))+",2)"
NEXT i
sql1=sql1+") 偶数"

sql1=sql1+",w"+ALLT(STR(gn前区位长))+"-w1 跨度"

sql1=sql1+",ac8(w1,w2,w3,w4,w5,w6,w7,w8,"+ALLT(STR(gn前区位长))+") AC值"

LOCAL dh1
dh1=INT(gn前区最大数/2)
sql1=sql1+",iif(w1>dh1,1,0)"
FOR i=2 TO gn前区位长
sql1=sql1+"+iif(W"+ALLT(STR(i))+">dh1,1,0)"
NEXT i
sql1=sql1+" 大号数"

SELECT &sql1   FROM (sjkm) INTO table lsjbfx

IF USED("lsjbfx")
SELECT lsjbfx
USE
ENDIF
IF USED("cpk5")
SELECT cpk5
USE
ENDIF
ALTER TABLE lsjbfx alter 和值 N(4,0)
ALTER TABLE lsjbfx alter 和尾 N(4,0)
ALTER TABLE lsjbfx alter 全和 N(4,0)
ALTER TABLE lsjbfx alter 尾和 N(4,0)
ALTER TABLE lsjbfx alter 质数 N(4,0)
ALTER TABLE lsjbfx alter 奇数 N(4,0)
ALTER TABLE lsjbfx alter 偶数 N(4,0)
ALTER TABLE lsjbfx alter 跨度 N(4,0)
ALTER TABLE lsjbfx alter AC值 N(4,0)
ALTER TABLE lsjbfx alter 大号数 N(4,0)
USE
IF USED("lsjbfx")
SELECT lsjbfx
USE
ENDIF
DO ckyhb WITH "lsjbfx"

**在工作台中运行的结果
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

2013-02-26 10:54
快速回复:我用vfp做了一个简单的双色球彩票软件,谁有兴趣,可以继续合作开发研究 ...
数据加载中...
 
   



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

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