下面这个自定义函数未通过请问问题出在哪里。。。谢谢。。。
Function DFTczzfcwz(Formula,dczc,dczf,cxcs)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
cd = 0
for wz = 1 to StrLen(dczc)
if STRMID(dczc,wz,StrLen(dczf)) = dczf Then begin
cd = cd + 1
If cd = cxcs Then begin
cxwz = wz
Exit for
End Else Begin '到这一句未通过!编译器错误1024 缺少语句
cxwz = 0
End
End
Next
DFTczzfcwz = cxwz
End Function
如果你用PEL语言做模块函数,请参考 ##的用户函数引用方法参考
pel和vb是两个使用环境
##是pel下的用户函数模式,使用见链接http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=71961
vb里面你if请看2楼,if不要加begin,begin这个是pel的语法规范,您不能两个混淆
Function DFTczzfcwz(Formula,dczc,dczf,cxcs)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
cd = 0
For wz = 1 to Len(dczc)
If Mid(dczc,wz,Len(dczf)) = dczf Then
cd = cd + 1
If cd = cxcs Then
cxwz = wz
Exit for
Else
cxwz = 0
End If
End If
Next
DFTczzfcwz = cxwz
End Function
上面代码通过。但是DFTCZZFCWZ('sag,sdsg,sgs,dgh',',',2);返回的是0。这是一个查找‘,’号在'sag,sdsg,sgs,dgh'字符串中第2次出现的位置的意思。。。请教问题出在哪里?谢谢。。。
Private Sub Command1_Click()
Text1.Text = DFTczzfcwz("sag,sdsg,sgs,dgh", ",", 2)
End Sub
Function DFTczzfcwz(dczc, dczf, cxcs)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
cd = 0
For wz = 1 To Len(dczc)
If Mid(dczc, wz, Len(dczf)) = dczf Then
cd = cd + 1
If cd = cxcs Then
cxwz = wz
Exit For
Else
cxwz = 0
End If
End If
Next
DFTczzfcwz = cxwz
End Function
上面代码在vb6中通过并返回正确数据。。。
谢谢。。。感觉太遗憾了。。。这么巴适的软件应该支持字符串才科学。。。我用KT交易师试了一下,KT的就可以。。。希望改进一下。。。