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

📄 main.pas

📁 三汇CTI示例程序源码
💻 PAS
字号:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, ComCtrls;

type
    TMainForm = class(TForm)
    ChannelListView: TListView;
    Timer1: TTimer;
    Label2: TLabel;
    ComCur_Line: TComboBox;
    SetListen: TBitBtn;
    UnSetListen: TBitBtn;
    Play: TBitBtn;
    StopPlay: TBitBtn;
    CommandExit: TBitBtn;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    procedure CommandExitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure SetListenClick(Sender: TObject);
    procedure UnSetListenClick(Sender: TObject);
    procedure PlayClick(Sender: TObject);
    procedure StopPlayClick(Sender: TObject);
    procedure ComCur_LineChange(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation
uses RecordFunc,Shpa3api;

{$R *.DFM}

procedure TMainForm.CommandExitClick(Sender: TObject);
begin
  close();
end;

procedure TMainForm.FormShow(Sender: TObject);
var
   I   : integer;
   //ListItem: TListItem;
begin
   if not InitCtiSystem() then
        Close();
   for i:=0 to MaxLine-1 do
     ComCur_Line.Items.Add(IntToStr(i));
   ListenChannel:=MaxLine;
   ComCur_Line.Text:=IntToStr(0);
   InitTrkChannelList();
   InitChannelState();
   Timer1.Enabled:=true;
end;
/////////////////////////
procedure TMainForm.FormDestroy(Sender: TObject);
begin
  SsmCloseCti();
end;
/////////////////////////
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
ScanChannelState();
UpdateChannelState();
end;

/////////////////////

procedure TMainForm.UnSetListenClick(Sender: TObject);
begin
    ChannelState[ListenChannel].ListenState :=NoListen;
    ListenChannel:=MaxLine;
end;


//////////
procedure TMainForm.SetListenClick(Sender: TObject);
var
  CurLine:Integer;
begin
  CurLine:=StrToInt(ComCur_Line.Text );
  if ListenChannel<> CurLine then
  begin
  ChannelState[CurLine].ListenState :=Listen;
  if ListenChannel<MaxLine then ChannelState[ListenChannel].ListenState :=NoListen;
  ListenChannel:=CurLine;
  end;
end;
/////////////

procedure TMainForm.PlayClick(Sender: TObject);
var
 ErrMsg:PChar;
begin
If ((SsmPlayFile(0, 'test.wav', -1, 0,$ffffffff)) = -1) Then
 begin
    GetMem(ErrMsg,200);
    SsmGetLastErrMsg(ErrMsg); //取得初始化出错信息
    Application.MessageBox(ErrMsg,'错误', MB_OK );
    FreeMem(ErrMsg);
 end;

end;
//////////////////////////
procedure TMainForm.StopPlayClick(Sender: TObject);
var
  ErrMsg:PChar;
begin

  if (SsmCheckPlay(0)=0)and(SsmStopPlayFile(0)=-1)or(SsmCheckPlay(0)=-1) then
  begin
   GetMem(ErrMsg,200);
   SsmGetLastErrMsg(ErrMsg); //取得放音出错信息
   Application.MessageBox(ErrMsg,'错误', MB_OK );
   FreeMem(ErrMsg);
  end;
end;
/////////////////////
procedure TMainForm.ComCur_LineChange(Sender: TObject);
VAR
   CurLine : integer;
begin
    CurLine:=StrToInt(ComCur_Line.Text );
    if  ChannelState[CurLine].ConState =SHENGKONG then
        RadioButton1.Checked :=true;
    if  ChannelState[CurLine].ConState =YAKONG then
        RadioButton2.Checked :=true;
    if  ChannelState[CurLine].ConState =MAKONG then
        RadioButton2.Checked :=true;

end;

procedure TMainForm.RadioButton1Click(Sender: TObject);
VAR
   CurLine : integer;
begin
   CurLine:=StrToInt(ComCur_Line.Text );
   ChannelState[CurLine].ConState:=SHENGKONG;
   
end;

procedure TMainForm.RadioButton2Click(Sender: TObject);
VAR
   CurLine  : integer;
begin
   CurLine:=StrToInt(ComCur_Line.Text );
   ChannelState[CurLine].ConState:=YAKONG;

end;

procedure TMainForm.RadioButton3Click(Sender: TObject);
var
   CurLine  : integer;
begin
   CurLine:=StrToInt(ComCur_Line.Text );
   ChannelState[CurLine].ConState:=MAKONG;

end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -