简单代码实现ABAP程序SPEAK

之前发表了一篇博客,用简单代码实现了声音的播放,这里再来分享一个有趣的东西,可以让你的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值