一、Application对象
1、基本介绍
UserName:返回金字塔用户账号,不是你的交易账号。例如:abc=Application.UserName,就可以把当前登录的用户账号赋给abc变量,使用下面的程序可以显示登录账号的信息
Sub Application_VbaStart()
UserType:返回当前应用程序的版本类别 0普通版 1标准版 2专业版 3金钻版
iVer=Application.UserType
if iVer<2 then
Application.MsgOut "你的金字塔版本不支持本程序,请升级账户"
exit sub
end if
End Sub
(3)EnginCode:返回当前用户计算机的机器识别码(只读)
此属性的应用场景是限定特定的用户才能使用本程序,因为金字塔软件在每一台机上的识别码都是不相同的,你就可以判断客户的本属性是否与设定值相同,不相同就不让他运行。
Sub Application_VbaStart()
dim sEnginCode
dim sTestCode
sTestCode="35A7707C1617CBE0" '本行字符串改为你设定的识别码
sEnginCode=Application.EnginCode
if strcomp(sEnginCode,sTestCode,vbtextCompare)<>0 then
Application.MsgOut "你的不是授权用户,不能使用本程序"
exit sub
end if
End Sub
IsActivateFrame方法:
'如果没有打开ABC的框架,就打开
if Application.isActivateFrame("ABC")=0 then
Call application.ActivateFrame("ABC")
end if
上面代码可以放在定时器过程中,每一次循环都会检测一遍,就可以防止人为关闭了框架了。
(2)ActivateFrameWithCode方法:
这个方法是对ActivateFrame方法的扩充,可以激活框架的同时指定品种和周期,如: Call Application.ActivateFrameWithCode("ABC","IF05","ZJ",0)将激活框架ABC,并在框架中打开IF05合约的1分钟分析图。
周期:0=1分钟 1=5分钟 2=15分钟 3=30分钟 4=60分钟 5=日线 6=周线 7=月线 8=年线 9=多日线 10=分笔成交 11=多小时 12=多秒 13=多分钟线 14=季度线 15=半年线 16=节气线 17=3分钟 18=10分钟。 当 FrameName 参数为 " mainframe"="" 系统框架周期同时="" Cyc 参数为 -1 时,打开分时走势界面。
Settimer和killtimer方法:设置和销毁计时器
Sub Application_VBAStart()
Call Application.SetTimer(0,2*1000) '设置一个0号计时器,间隔2秒执行一次
Call Application.Settimer(9,5*1000) '设置一个9号计时器,间隔5秒执行一次
End Sub
'下面的过程是计时器循环体,我让计时器显示每次触发的时间,你看看是不是间隔设定的秒数就触发。
Sub Application_Timer(ID)
If ID=0 then
Application.msgout Cdate(time) & ",0号计时器触发了"
end if
If ID=9 then
Application.msgout Cdate(time) & ",9号计时器触发了"
end if
End Sub
[此贴子已经被作者于2012-7-26 21:40:23编辑过]