f_dwnewline.srf 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. $PBExportHeader$f_dwnewline.srf
  2. global type f_dwnewline from function_object
  3. end type
  4. forward prototypes
  5. global function string f_dwnewline (long ai_charnum, string as_string)
  6. end prototypes
  7. global function string f_dwnewline (long ai_charnum, string as_string);String ls_doc = ""
  8. Long i, ll_strlen
  9. Int li_asc, li_ascnum, li_endchar = 0, li_add = 0
  10. ll_strlen = Len( as_string )
  11. IF ll_strlen <= 0 THEN
  12. RETURN ""
  13. END IF
  14. FOR i = 1 TO ll_strlen
  15. li_asc = Asc( Mid( as_string, i ) )
  16. IF li_asc <= 126 THEN
  17. li_ascnum++
  18. END IF
  19. li_add++
  20. IF li_add = ai_charnum THEN
  21. IF Mod( li_ascnum, 2 ) = 0 THEN
  22. ls_doc += Mid( as_string, i - ai_charnum+1, ai_charnum ) +"~n"
  23. li_add = 0
  24. ELSE
  25. ls_doc += Mid( as_string, i - ai_charnum+1, ai_charnum - 1 ) +"~n"
  26. i --
  27. li_add = 0
  28. END IF
  29. li_endchar = 0
  30. li_ascnum = 0
  31. ELSE
  32. li_endchar++
  33. END IF
  34. NEXT
  35. IF li_endchar > 0 THEN
  36. ls_doc += Right( as_string, li_endchar )
  37. END IF
  38. RETURN ls_doc
  39. //Long i,j,k,l,m,a,h = 1
  40. //Int ls_asc,ls_collen
  41. //String ls_data,ls_dt,ls_str,ls_et
  42. //ls_dt = arg_data
  43. //ls_collen = arg_collen
  44. //l = arg_collen
  45. //j = Len(ls_dt)/arg_collen+10
  46. //FOR k = 1 TO j
  47. // ls_collen = arg_collen
  48. //
  49. // ls_str = Mid(ls_dt,h,ls_collen)
  50. //
  51. // IF ls_str = '' THEN
  52. // GOTO ext
  53. // END IF
  54. // a = 0
  55. // FOR i = 1 TO ls_collen
  56. // ls_et = Mid (ls_str,i,1)
  57. // ls_asc = Asc(ls_et)
  58. // IF ls_asc >= 128 THEN
  59. // i = i+1
  60. // IF ls_collen - i > 0 AND ls_collen - i <= 2 THEN
  61. // ls_collen = i
  62. // EXIT
  63. // ELSEIF ls_collen - i < 0 THEN
  64. // ls_collen = i - 2
  65. // EXIT
  66. // END IF
  67. // END IF
  68. // a++
  69. // NEXT
  70. // // ls_str=left(ls_str,a)
  71. // // i = i - ls_collen
  72. // //
  73. // // IF i = 1 THEN
  74. // // ls_collen = ls_collen
  75. // // ELSE
  76. // // ls_collen = ls_collen - i
  77. // // END IF
  78. //
  79. //
  80. // IF k = j THEN
  81. // ls_data = ls_data+Mid(ls_dt,h,ls_collen)
  82. // ELSE
  83. // ls_data = ls_data+Mid(ls_dt,h,ls_collen)+'~r~n' //+Char(10)+Char(13)
  84. // END IF
  85. // h = h+ls_collen
  86. //
  87. //NEXT
  88. //
  89. //ext:
  90. //RETURN ls_data
  91. //
  92. //
  93. //
  94. //
  95. //
  96. //
  97. //
  98. end function