以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何操作统计一段话中的字符数量呢?并根据大于60字符,提醒会拆分多少条?大于255字符后提醒并不能输入256后的字符?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=131213)

--  作者:李孝春
--  发布时间:2019/2/20 13:41:00
--  如何操作统计一段话中的字符数量呢?并根据大于60字符,提醒会拆分多少条?大于255字符后提醒并不能输入256后的字符?
怎么实现
1、得到结果是十二个字符数量呢?谢谢!
Output.Show(UKey.LenStrA("请注意参会:下午两点半!"))
得到结果22字节

Dim str As String = "请注意参会:下午两点半!"
str = System.Text.RegularExpressions.Regex.Replace(str, "[^\\u4e00-\\u9fa5]", "")
msgbox(str)
msgbox(str.length)
得到十个汉字数量,但是没有统计:!这两个

2、如果字符大于60以后,根据输入的总数除以60计算出拆分的条数!
Dim str As String = "请注意参会:下午两点半!请注意参会:下午两点半!"
str = System.Text.RegularExpressions.Regex.Replace(str, "[^\\u4e00-\\u9fa5]", "")
Dim ab As Integer=str.length/60

If ab <> 0 Then
    MessageBox.Show("当前内容分成"& ab & "条发送")
Else
    MessageBox.Show("当前内容分成1条发送")
End If
有没有比上面这个代码更好的计算方法呢?

3、如果文本框输入字符数大于255,提醒输入达到最大,并且不能允许256后的字符输入文本框!

If e.Col.name  = "信息内容" AndAlso e.Text > "" AndAlso e.Text.Length <> 255 Then
 e.cancel= True
End If
这个代码没有达到我想要的效果,当前依然是系统自动判断大于255的就进行了截取,但是我想要实现的是文本框直接输入到255个字符后就不能输入了!
[此贴子已经被作者于2019/2/20 14:23:12编辑过]

--  作者:有点蓝
--  发布时间:2019/2/20 14:37:00
--  
Output.Show("请注意参会:下午两点半!".length)
--  作者:李孝春
--  发布时间:2019/2/20 14:46:00
--  回复:(有点蓝)Output.Show("请注意参会:下午两点半...
谢谢有点蓝老师

第三个问题有没有解决办法呢

3、如果文本框输入字符数大于255,提醒输入达到最大,并且不能允许256后的字符输入文本框!

If e.Col.name  = "信息内容" AndAlso e.Text > "" AndAlso e.Text.Length <> 255 Then
 e.cancel= True
End If
这个代码没有达到我想要的效果,当前依然是系统自动判断大于255的就进行了截取,但是我想要实现的是文本框直接输入到255个字符后就不能输入了!

--  作者:有点蓝
--  发布时间:2019/2/20 14:54:00
--  
ValidateEdit事件

If e.Col.name = "第一列" Then 
    If e.Text.Length > 255 Then \'输入内容的长度大于255
        e.Text = e.Text.SubString(0,255)
    End If
End If