您的位置:首页 > 编程语言

简单代码实现ABAP程序SPEAK

2012-09-25 14:19 232 查看
之前发表了一篇博客,用简单代码实现了声音的播放,这里再来分享一个有趣的东西,可以让你的ABAP程序读出任何文本(应该是只支持英文,中文我没有测试)(经过测试也支持中文),没错,是读出来,其原理是基于SAP与windows的OLE互操作,利用windows里面的speak功能来实现ABAP文本的阅读功能。

代码如下:

REPORT  ZTESTVOICE.
include ole2incl.

data: ole type ole2_object,

voice type ole2_object,

text type string.
*text = 'abcde'.

data: it_tline type standard table of tline with header line.

create object voice 'SAPI.SpVoice'.

*这里我是用事务代码SO10创建文本对象做的测试,你也可以直接给text变量给一个英文单词字符串

call function ‘READ_TEXT’

exporting

id       = ‘ST’

language = ‘E’

name     = ‘文本名字’

object   = ‘TEXT’

tables

lines    = it_tline.

loop at it_tline.

concatenate text it_tline into text separated by space.

endloop.

call method of voice 'Speak' = ole

exporting #1 = text.


执行这个程序,你就可以听到你的ABAP程序正在读出你的文本,没错,你将会听到而不是看到。

这个SAPI.SpVoice的各种参数和用法可以参考下面MSDN上的链接,有兴趣的同学可以深入研究一下:

http://msdn.microsoft.com/en-us/library/ms723602(v=vs.85).aspx

转自http://scnblogs.techweb.com.cn/dario/archives/date/2012/09
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐