$PBExportHeader$f_dwnewline.srf
global type f_dwnewline from function_object
end type

forward prototypes
global function string f_dwnewline (long ai_charnum, string as_string)
end prototypes

global function string f_dwnewline (long ai_charnum, string as_string);String ls_doc = ""
Long i, ll_strlen
Int li_asc, li_ascnum, li_endchar = 0, li_add = 0

ll_strlen = Len( as_string )
IF ll_strlen <= 0 THEN
	RETURN ""
END IF
FOR i = 1 TO ll_strlen
	li_asc = Asc( Mid( as_string, i ) )
	IF li_asc <= 126 THEN
		li_ascnum++
	END IF
	li_add++
	IF li_add = ai_charnum THEN
		IF Mod( li_ascnum, 2 ) = 0 THEN
			ls_doc += Mid( as_string, i - ai_charnum+1, ai_charnum ) +"~n"
			li_add = 0
		ELSE
			ls_doc += Mid( as_string, i - ai_charnum+1, ai_charnum - 1 ) +"~n"
			i --
			li_add = 0
		END IF
		li_endchar = 0
		li_ascnum = 0
	ELSE
		li_endchar++
	END IF
NEXT

IF li_endchar > 0 THEN
	ls_doc += Right( as_string, li_endchar )
END IF
RETURN ls_doc



//Long i,j,k,l,m,a,h = 1
//Int ls_asc,ls_collen
//String ls_data,ls_dt,ls_str,ls_et
//ls_dt = arg_data
//ls_collen = arg_collen
//l = arg_collen
//j = Len(ls_dt)/arg_collen+10
//FOR k = 1 TO j
//	ls_collen = arg_collen
//	
//	ls_str = Mid(ls_dt,h,ls_collen)
//	
//	IF ls_str = '' THEN
//		GOTO ext
//	END IF
//	a = 0
//	FOR i = 1 TO ls_collen
//		ls_et = Mid (ls_str,i,1)
//		ls_asc = Asc(ls_et)
//		IF ls_asc >= 128 THEN
//			i = i+1
//			IF ls_collen - i > 0 AND ls_collen - i <= 2 THEN
//				ls_collen = i
//				EXIT
//			ELSEIF ls_collen - i < 0 THEN
//				ls_collen = i - 2
//				EXIT
//			END IF
//		END IF
//		a++
//	NEXT
//	//	ls_str=left(ls_str,a)
//	//	i = i - ls_collen
//	//	
//	//	IF i = 1 THEN
//	//		ls_collen = ls_collen
//	//	ELSE
//	//		ls_collen = ls_collen - i
//	//	END IF
//	
//	
//	IF k = j THEN
//		ls_data = ls_data+Mid(ls_dt,h,ls_collen)
//	ELSE
//		ls_data = ls_data+Mid(ls_dt,h,ls_collen)+'~r~n' //+Char(10)+Char(13)
//	END IF
//	h = h+ls_collen
//	
//NEXT
//
//ext:
//RETURN ls_data
//
//
//
//
//
//
//

end function

