关于在text中顺序显示字符的问题!

霖湘凝 2004-12-01 12:20:09

关于在text中顺序显示字符的问题!

现在已经知道有一个字符串(汉字),比如是:a= “我是你的朋友。他也是你的朋友!”
这个字符串已经存在了,可是我想把他这样显示:
先显示“我是你的朋友。”在我点击后再显示下半句成为:“我是你的朋友。他也是你的朋友!”
这个句子的格式不固定,并且有时候还很长,有很多句组成,
应该如何实现点一下出一句这样的效果啊?

另外,还有个小问题:text的enabled属性为false时为什么text的颜色属性无效啊?

谢谢!!!

...全文
271 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
霖湘凝 2004-12-01
  • 打赏
  • 举报
回复
1.那要是不想让别人修改text中的值,但又要显示颜色应该怎么办?
2.不一定用句号断句啊,只要是和句号在句子中作用一样的标点如,“!”、“?”等,都要断句的,这样的话还有其他办法吗?谢谢!
lxcc 2004-12-01
  • 打赏
  • 举报
回复
Text1.Text=Text1.Text+"增加或者变化的字符串"
阿泰 2004-12-01
  • 打赏
  • 举报
回复
1:enable为false的时候其他所有的属性都失效了,这是正常的
2:如果确定是以句号断句
可以这样
Dim arr() as string
arr=Split(a,"。")

然后按一下回车,显示一个数组元素或者是组合即可.
libralibra 2004-12-01
  • 打赏
  • 举报
回复
1、不修改内容又要显示颜色,请将Text换成Label;

---------------严重同意这个观点,呵呵!
霖湘凝 2004-12-01
  • 打赏
  • 举报
回复
谢谢大家给了这么多的方法~
wumylove1234 2004-12-01
  • 打赏
  • 举报
回复
1.那要是不想让别人修改text中的值,但又要显示颜色应该怎么办?
2.不一定用句号断句啊,只要是和句号在句子中作用一样的标点如,“!”、“?”等,都要断句的,这样的话还有其他办法吗?谢谢!


不让修改,直接设置Text的Locked=true

标点的只能挨个判断了.
of123 2004-12-01
  • 打赏
  • 举报
回复
1
将 TextBox 放在一个 Enabled = false,BorderStyle = 0 的 Frame 中。

2
strWords = "我是你的朋友。他也是你的朋友!"

Private Sub Text1_Click()
Dim p As Integer, n As Integer
p = InStr(Len(Text1) + 1, strWords, "。")
n = InStr(Len(Text1) + 1, strWords, "!")
If p > n Then p = n
n = InStr(Len(Text1) + 1, strWords, "?")
If p > n Then p = n
n = InStr(Len(Text1) + 1, strWords, "……")
If p > n Then p = n + 1
'......
Text1 = left(strWords, p)
End Sub
happy_sea 2004-12-01
  • 打赏
  • 举报
回复
1、不修改内容又要显示颜色,请将Text换成Label;
2、具体实现如下:
一个Text1用于存放原始字符串,一个Label1用于显示,一个Command,代码如下:
Private Sub Command1_Click()
Static i As Integer
Do While i <= Len(Text1)
i = i + 1
If Mid(Text1, i, 1) = "," Or Mid(Text1, i, 1) = "。" Or _
Mid(Text1, i, 1) = "?" Or _
Mid(Text1, i, 1) = "!" Or _
Mid(Text1, i, 1) = ";" Then '此处假定以,。?!;进行分界
Label1.Caption = Left(Text1, i)
Exit Do
End If
Loop
End Sub
aiur2000 2004-12-01
  • 打赏
  • 举报
回复
1.Locked=true

2.
dim a(10) as string
dim i as integer
sub form_load()
i=0
a(0)="我是你的朋友。"
a(1)="他也是你的朋友!"
...
end sub

sub command1_click()
text1.text=text1.text & a(i)
i=i+1
end sub
homezj 2004-12-01
  • 打赏
  • 举报
回复
标点符号就那么多,我想不会超过20个吧,把所有你认为可用于断句的符号都检测一下就行了。方法很多,用Instr就不错。写个函数给你:

Function FindBreak(start as long ,word As string) as Long
dim i as long,s As string
s=",;”。!~……)?" '自己随便加上你想检测的断句符
for i=1 to len(s)
FindBreak=instr(start,word,mid(s,i,1))
if FindBreak>0 then exit function
next
end Function

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧