TA的每日心情 | 衰 2011-1-14 00:06 |
---|
签到天数: 10 天 [LV.3]偶尔看看II
|
发表于 2009-8-1 22:49:52
|
显示全部楼层
哦,不好意思,上面那个是因为站点发生变化的效验函数,因为两个地方非常相似,看错了,见谅。以下原因出现那个窗口:
这里存在一个隐藏键:就是按住Ctrl+回车键。代码如下:
//key (keycode key,ulong keyflags) returns long [pbm_keydown]
//keycode key
//ulong keyflags
//long ancestorreturnvalue
string ls_txt
string ls_reg
string ls_tmpreg
CALL SUPER::key
IF key <> keyenter! THEN //2
RETURN
END IF //2
ls_reg = "22653"
ls_txt = "324"
ls_txt = "346243"
ls_reg = ls_reg + "45"
ls_txt = "4344"
ls_reg = ls_reg + "624"
ls_txt = "334"
ls_reg = ls_reg + "679042"
ls_txt = ""
ls_txt = trim(THIS.sle_1.text)
IF ls_txt = "" THEN //15
RETURN
END IF //15
IF ls_txt = ls_reg THEN //18
//gfunc.pub_f_put_sysvar("habs_sale",pub_f_str_xor("2003-05"))
//closewithreturn(THIS,"ok")
//ELSE
IF wf_isvalid(ls_txt) > 0 THEN //18
//pub_f_put_sysvar("habs_sale",ls_txt)
closewithreturn(THIS,"ok")
ELSE //18
close(THIS)
END IF //18
RETURN
加上下面这个函数你很轻易解决的了。
函数 wf_isvalid ()
//Public function wf_isvalid (ref string as_old) returns integer
//string as_old
string ls_txt
string ls_new
date ldt_old
integer li_num
integer li_ifor
IF len(as_old) < 10 THEN //1
RETURN -1
END IF //1
ls_txt = mid(as_old,6,1)
li_num = integer(ls_txt)
ls_txt = as_old
ls_txt = mid(ls_txt,7,1) + mid(ls_txt,1,1) + mid(ls_txt,8,1) + mid(ls_txt,3,1) + mid(ls_txt,5,1) + mid(ls_txt,9,1) + mid(ls_txt,2,1) + mid(ls_txt,4,1)
FOR li_ifor = 1 TO 8
ls_new = ls_new + string(mod(integer(mid(ls_txt,li_ifor,1)) + li_num,10))
NEXT
ls_new = left(ls_new,4) + "-" + mid(ls_new,5,2) + "-" + mid(ls_new,7,2)
IF NOT (isdate(ls_new)) THEN //15
RETURN -1
END IF //15
ldt_old = date(ls_new)
//IF ldt_old > date("2005-04-20") THEN //19
//as_old = pub_f_str_xor(ls_new)
// RETURN 1
//END IF //19
RETURN -1
注意我注释掉的语句不要去管他,很简单的,之所以这样贴出来,是想大家都好好去研究研究一下,本来很简单很简单,如果一味的得到直接给结果,那我认为交流是没有任何意义的。相信来这个论坛的绝大多数人应该可以看明白,否则...
|
评分
-
查看全部评分
|