PB: 中英字符换行


//==================================
// Function: f_string_intercept()
//----------------------------------
// Access: Public
//----------------------------------
// Description:
// Intercept a whole word at line end
//
//----------------------------------
// Arguments:
// value string as_text
// value integer ai_len
//---------------------------------
// Returns: string
//--------------------------------
// Author: Xudong.Su Date: 20/10/2008
//--------------------------------
// Modify History:
//
//
//================================
Integer li_i, li_j
long ll_textlen, ll_last
char lc_check
String ls_text, ls_format_text
String ls_textarray[]

If ai_len < 2 Then Return as_text

ls_text = as_text
ll_textlen = Len(ls_text)

Do While ll_textlen > 0
li_i++
ll_last = 0
ll_textlen = Len(ls_text)

If ll_textlen <= ai_len Then
ls_textarray[li_i] = ls_text
ll_textlen = 0
Else
ls_textarray[li_i] = Left(ls_text, ai_len)

For li_j = 1 To ai_len
lc_check = Mid(ls_textarray[li_i], li_j, 1)

If Asc(lc_check) >= 130 Then
li_j++
End If

ll_last = ai_len - li_j
Next

If ll_last < 0 Then
ls_textarray[li_i] = Left(ls_text, ai_len - 1)
ls_text = Right(ls_text, Len(ls_text) - ai_len + 1)
Else
ls_text = Right(ls_text, Len(ls_text) - ai_len)
End If

ll_textlen = Len(ls_text)
End If

// Add a newline symbol at line end
ls_format_text += ls_textarray[li_i] + '~r~n'
Loop

return ls_format_text


0 comments:

Post a Comment