f_psw_zh.srf 999 B

12345678910111213141516171819202122232425262728293031323334353637
  1. $PBExportHeader$f_psw_zh.srf
  2. global type f_psw_zh from function_object
  3. end type
  4. forward prototypes
  5. global function string f_psw_zh (string obj_string, integer add_expr, string keystr)
  6. end prototypes
  7. global function string f_psw_zh (string obj_string, integer add_expr, string keystr);//f_psw_zh
  8. IF ISNULL(obj_string) THEN RETURN obj_string
  9. INT LS_XX,STR_LEN,LS_YY
  10. STRING RT_STRING='',ZH_STR='',FORMAT_STR
  11. STR_LEN=len(obj_string)
  12. IF STR_LEN=0 THEN RETURN ''
  13. //FORMAT_STR=RIGHT(STRING(Pi(10)/1.11111,'0.###############'),15)
  14. FORMAT_STR=keystr
  15. FOR LS_YY=1 TO (STR_LEN/len(FORMAT_STR))+1
  16. ZH_STR=ZH_STR+FORMAT_STR
  17. NEXT
  18. IF add_expr=0 THEN //ADD
  19. FOR LS_XX=1 TO STR_LEN
  20. RT_STRING=RT_STRING+CHAR(ASC(Mid (obj_string,LS_XX,1)) + INTEGER(MID(ZH_STR,LS_XX,1)) )//
  21. NEXT
  22. RT_STRING=Reverse(RT_STRING)
  23. ELSE //EXPR
  24. obj_string=Reverse(obj_string)
  25. FOR LS_XX=1 TO STR_LEN
  26. RT_STRING=RT_STRING+CHAR(ASC(Mid (obj_string,LS_XX,1)) - INTEGER(MID(ZH_STR,LS_XX,1)) )//
  27. NEXT
  28. END IF
  29. return RT_STRING
  30. end function