📄 formvoicetextunit.pas
字号:
unit FormVoiceTextUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, OleCtrls, ACTIVEVOICEPROJECTLib_TLB, Buttons;
type
TFormVoiceText = class(TForm)
DirectSS1: TDirectSS;
Memo1: TMemo;
Label1: TLabel;
Shape1: TShape;
Label2: TLabel;
Bevel1: TBevel;
pnlTop: TPanel;
Image1: TImage;
lbTitle: TLabel;
Shape2: TShape;
Button1: TButton;
SpeedButton1: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton2: TSpeedButton;
Label3: TLabel;
ComboBox1: TComboBox;
SpeedButton5: TSpeedButton;
OpenDialog1: TOpenDialog;
procedure FormCreate(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormVoiceText : TFormVoiceText;
implementation
uses FormMainUnit, Clipbrd;
{$R *.dfm}
procedure TFormVoiceText.FormCreate(Sender: TObject);
begin
ComboBox1.Items.Clear;
ComboBox1.Items.add('Infobase 当前文本');
ComboBox1.Items.add('剪贴板');
ComboBox1.Items.add('文件');
ComboBox1.ItemIndex := 0;
end;
procedure TFormVoiceText.SpeedButton5Click(Sender: TObject);
var
bakString : string;
begin
bakString := '';
if Application.MessageBox('清空当前文本吗?', '系统提示', mb_yesno or
mb_IconInformation) = idyes then
memo1.lines.Clear
else
bakString := memo1.lines.Text;
case combobox1.ItemIndex of
0:
begin
if Application.MessageBox(pansichar('从Infobase 当前文本的范围选择:' +
#13#10 +
'[是]只添加选定文本' + #13#10 + '[否]添加所有文本内容'), '系统提示',
MB_YESNO or mb_IconInformation) = idyes then
FormMainUnit.formMain.richEdit.CopyToClipboard
else
begin
FormMainUnit.formMain.richEdit.SelectAll;
FormMainUnit.formMain.richEdit.CopyToClipboard;
end;
memo1.PasteFromClipboard;
Clipboard.Clear;
end;
1:
begin
memo1.PasteFromClipboard;
end;
2:
begin
if OpenDialog1.Execute then
begin
memo1.Lines.LoadFromFile(OpenDialog1.FileName);
if bakString <> '' then
memo1.Lines.Text := bakString + #13#10 + memo1.lines.Text;
end;
end;
else
end;
end;
procedure TFormVoiceText.SpeedButton1Click(Sender: TObject);
begin
DirectSS1.Speak(wideString(memo1.Lines.Text));
end;
procedure TFormVoiceText.SpeedButton3Click(Sender: TObject);
begin
if speedbutton3.Caption = '暂停' then
begin
try
DirectSS1.AudioPause;
finally
speedbutton3.Caption := '继续';
end;
end
else
begin
try
directss1.AudioResume;
finally
speedbutton3.Caption := '暂停';
end;
end;
end;
procedure TFormVoiceText.SpeedButton4Click(Sender: TObject);
begin
DirectSS1.Speak(wideString(memo1.Lines.Text));
end;
procedure TFormVoiceText.SpeedButton2Click(Sender: TObject);
begin
directss1.AudioReset;
end;
procedure TFormVoiceText.Button1Click(Sender: TObject);
begin
self.close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -