以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  读取光标在的行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=95295)

--  作者:yangwenghd
--  发布时间:2017/1/16 0:33:00
--  读取光标在的行
能帮忙改一下吗?
就是只读取 TextBox4 光标在的那一行, 和光标的上一行。感谢 感谢  
Dim sp As New DotNetSpeech.SpVoice()
sp.Speak(e.Form.Controls("TextBox4").SelectedText, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)


--  作者:有点色
--  发布时间:2017/1/16 2:49:00
--  

 上一行和下一行,是否有回车等分割符号标记?

 

 上传实例说明问题。


--  作者:yangwenghd
--  发布时间:2017/1/16 13:52:00
--  
点击按钮读取光标在的行的内容。
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170116135046.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:读取当行.table



--  作者:有点色
--  发布时间:2017/1/16 14:23:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:读取当行.table


--  作者:yangwenghd
--  发布时间:2017/1/16 17:44:00
--  
谢谢 谢谢 非常感谢 ,如果读取光标上一行应该改那点啊  感谢 
--  作者:有点色
--  发布时间:2017/1/16 18:17:00
--  
Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim eidx As Integer = txt.text.Length - 1
Dim sidx As Integer = 0
Dim count As Integer = 1
Dim temp As Integer = 0
For i As Integer = vars("SelectedStart") To 0 Step -1
    If Asc(txt.text(i)) = 13 Then
        temp += 1
        If temp > count Then
            sidx = i
            Exit For
        ElseIf temp = count Then
            eidx = i
        End If
    End If
   
Next

Dim str As String = txt.Text.SubString(sidx, eidx-sidx)
msgbox(str)
Dim sp As New DotNetSpeech.SpVoice()
sp.Speak(str, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault)

--  作者:yangwenghd
--  发布时间:2017/1/16 18:50:00
--  
都不知道怎么感谢你了,感谢 感谢 非常感谢 感谢 
--  作者:yangwenghd
--  发布时间:2017/1/18 15:49:00
--  
Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim eidx As Integer = txt.text.Length - 1
Dim sidx As Integer = 0
For i As Integer = vars("SelectedStart") To txt.text.Length - 1
    If Asc(txt.text(i)) = 13 Then
        eidx = i
        Exit For
    End If
Next
For i As Integer = vars("SelectedStart") To 0 Step -1
    If Asc(txt.text(i)) = 13 Then
        sidx = i
        Exit For
    End If
Next
\'For i As Integer = 0 To txt.text.Length - 1
    \'output.show(txt.text(i) & Asc(txt.text(i)))
\'Next
Dim str As String = txt.Text.SubString(sidx, eidx-sidx)
\'msgbox(str)
Dim sp As New DotNetSpeech.SpVoice()
sp.Speak(str, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault)

谢谢 这是如果行的最后一个字符不是字母就不能读出来 能再帮帮忙吗?

--  作者:有点色
--  发布时间:2017/1/18 15:54:00
--  
 不明白你的意思,无论是什么,都能读取的。弹出msgbox(str)看是否正确。
--  作者:yangwenghd
--  发布时间:2017/1/18 16:18:00
--  
是的 如果光标在这个位置,这行的最后一个字符不是字母 是?或者。之类的就不能读出来

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170118161750.jpg
图片点击可在新窗口打开查看