delphi 7中如何使用CreateObject("SAPI.SpVoice").Speak "一句话呢"?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 7中如何使用CreateObject("SAPI.SpVoice").Speak "一句话呢"?相关的知识,希望对你有一定的参考价值。

像VB里可以调用 CreateObject("SAPI.SpVoice").Speak "一句话呢"来让电脑说出一句话,那delphi7怎么来让电脑说话呢?

参考技术A uses ComObj;

procedure ...
var
a: olevariant;
begin
a := createolevariant('SAPI.SpVoice');
a.speak('hello');
...追问

a := createolevariant('SAPI.SpVoice');这句出错:
[Error]Unit1.pas(30): Undeclared identifier:'createolevariant'

追答

看到 我写的第一句了没 要先use comobj

追问

写了

追答

改成 createoleobject('sapi....') 试试

本回答被提问者采纳

delphi 拖动窗体

//声明函数
procedure chitTest(var m:TWMNchittest);
message WM_Nchittest;

//这个函数用来捕获系统消息。一般我们只能单击窗体的标题栏,才能拖动窗体!但我的窗体没有标题栏,我还想让他能拖动。这个函数测试成功了,能实现!即鼠标在客户区(中间白色的地方)单击,也可以拖动窗体
procedure Tform1.chitTest(var m:TWMNCHITTEST);
begin
inherited; //调用默认的事件处理程序
if m.Result=htclient then
//如果鼠标在客户区
m.Result:=htcaption;
//让鼠标在标题栏
end;

窗体上有2个按钮,一个Button1 一个SpeedButton1
当点击Button1时,可以正常触发Button1Click事件,
但点击SpeedButton1时,无法触发SpeedButton1Click事件?而是触发了我上面写的那个函数(窗体拖动事件)..哪位高手教教我,谢谢..
(注:因为我的界面是图片。所以得用到SpeedButton1按钮)

参考技术A //左边是DataGrid1 右边是2,选中一行,点查询按钮后var MyKey;//查询关键字begin MyKey := DATAGRID1.DataSource.DataSet.FieldByName('查询关键字段').AsString; with DataGrid2.DataSource.DataSet do begin Close; Sql.Text := 'select * from [YourTableName] where [关键字段]='''+MyKey+''''; Open; end;

以上是关于delphi 7中如何使用CreateObject("SAPI.SpVoice").Speak "一句话呢"?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Delphi 在控制台应用程序中激活玻璃效果(Windows Vista/7)

无法在 Windows 7 x64 上使用 VB 脚本中的 CreateObject

如何释放接口对象 (Delphi 7)

如何将字符串或信息发送到我在 Delphi 7 中使用 Createprocess 打开的进程

如何使用Delphi编写可用于ASP等程序的DLL文件?在线等.

delphi 7 中数组如何当参数