⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formvoicetextunit.pas

📁 duiwenjiandechuli fangbianguanli.
💻 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 + -