f_get_pzsplit_2.srf 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. $PBExportHeader$f_get_pzsplit_2.srf
  2. global type f_get_pzsplit_2 from function_object
  3. end type
  4. forward prototypes
  5. global function string f_get_pzsplit_2 (string arg_pzstr, string arg_pzint)
  6. end prototypes
  7. global function string f_get_pzsplit_2 (string arg_pzstr, string arg_pzint);String ls_rtstr
  8. IF Trim(arg_pzstr) = "" OR IsNull(arg_pzstr) &
  9. OR arg_pzint = "" OR IsNull(arg_pzint) THEN RETURN ""
  10. IF Right(arg_pzstr,1) <> "|" THEN
  11. arg_pzstr += "|"
  12. END IF
  13. Long i
  14. Long ll_start
  15. String ls_name, ls_title
  16. i = 0
  17. ll_start = Pos(arg_pzstr, "|")
  18. DO WHILE ll_start > 0
  19. i++
  20. ls_name = Left(arg_pzstr, ll_start - 1)
  21. IF Pos(ls_name, ":") > 0 THEN
  22. ls_title = LEFT(ls_name, Pos(ls_name, ":") - 1)
  23. ls_name = Mid(ls_name, Pos(ls_name, ":") + 1)
  24. ELSE
  25. ls_title = ""
  26. ls_name = ls_name
  27. END IF
  28. IF ls_title = arg_pzint THEN
  29. ls_rtstr = ls_name
  30. EXIT
  31. END IF
  32. arg_pzstr = Mid(arg_pzstr, ll_start + 1)
  33. ll_start = Pos(arg_pzstr, "|")
  34. LOOP
  35. //DO WHILE ll_start > 0 AND i < arg_pzint
  36. // i++
  37. // IF i = arg_pzint THEN
  38. // ls_rtstr = Left(arg_pzstr, ll_start - 1)
  39. // if pos(ls_rtstr, ":") > 0 then
  40. // ls_rtstr = Mid(ls_rtstr, pos(ls_rtstr, ":") + 1)
  41. // end if
  42. // exit
  43. // END IF
  44. // arg_pzstr = Mid(arg_pzstr, ll_start + 1)
  45. // ll_start = Pos(arg_pzstr, "|")
  46. //LOOP
  47. RETURN ls_rtstr
  48. end function