亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? djsscx.pas.bak

?? 自己寫的用delphi封裝東勁板卡api.
?? BAK
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
          begin
            if Assigned(FOnDialError) then
              FOnDialError(self,ChnlID,-1)
            else
              self.HangUp(ChnlID);  //掛斷外線
          end
        end
        else
        begin
          self.DialIn(ChnlID,ChannelIn.ChannelID);
        end;
      end;
    end;
    UserChannel:
    begin
      Caller := self.CheckDTMFNum(DTMFNum) ;
      case Caller of
        1:  //呼叫外線
        begin
          //尋找外線,連接,結(jié)束
          //尋找不到外線,放忙音,結(jié)束
          InCallOut(ChnlID);
        end;
        2: //呼叫內(nèi)線
        begin
          Self.InCallIn(ChnlID,DTMFNum);
        end;
        -1:
        begin
          if Assigned(FOnDialError) then
            FOnDialError(self,ChnlID,-1)
          else
            Self.HangUp(ChnlID);
        end;
        else
        begin         

        end;
      end;
    end;
    else
    begin

    end;
  end;
end;

function TDjSSCx.InCallOut(ChnlID: integer): Integer;
var
  ChannelIn:PChannel;
  ChannelOut:PChannel;
begin
  ChannelIn := ChannelList.Items[ChnlID];
  ChannelOut := ChannelList.GetFreeTurnk;
  if (Assigned(ChannelOut)) and (ChannelOut.State = idle) then
  begin
    tc08a32.OffHook(ChannelOut.ChannelID);
    Result:= DjTc081.SetLink(ChannelOut.ChannelID,ChannelIn.ChannelID) ;
    if Result = 0 then
    begin
      if Assigned(FOnLink) then
        FOnLink(self,ChnlID,ChannelOut.ChannelID);
    end;
    ChannelIn.Step := 1001;
    if Assigned(FOnCallOut) then
      FOnCallOut(Self,ChnlID,-1);
  end
  else
  begin
    if Assigned(FOnCallBusy) then
      FOnCallBusy(self,ChnlID,-1)
    else
      self.HangUp(ChnlID);
  end;
end;

function TDjSSCx.InCallOut(Chnlid: integer; DTMFNum: String): integer;
var
  Channel:PChannel ;
  Channel2:PChannel;
begin
  Channel := ChannelList.Items[ChnlID];
  Channel2 := ChannelList.GetFreeTurnk ;
  result := InCallOut(Channel,Channel2,DTMFNum);
end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.HangOff
  作者:      姜亦文
  日期:      2006.09.08
  參數(shù):      ChnlID: Integer   振鈴摘機(jī)坐席
  返回值:    無
-------------------------------------------------------------------------------}
procedure TDjSSCx.HangOff(ChnlID: Integer);
var
  Channel:PChannel ;
//  i:integer;
begin
  Channel := ChannelList.Items[ChnlID];
  DjTc081.OffHook(Channel);
end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.OffHook
  作者:      姜亦文
  日期:      2006.09.08
  參數(shù):      ChnlID: Integer       //內(nèi)線主動(dòng)摘機(jī)
  返回值:    無
-------------------------------------------------------------------------------}
procedure TDjSSCx.OffHook(ChnlID: Integer);
var
  Channel:PChannel ;
begin
  Channel := ChannelList.Items[ChnlID];
  DjTc081.OffHook(Channel); 
end;

function TDjSSCx.InCallOut(Chnlid: integer; CallerPhone,
  DTMFNum: String): integer;
var
  Channel1,Channel2:pChannel;
begin
  Channel1 := ChannelList.Items[ChnlID];
  Channel2 := ChannelList.GetChannelFromPhone(CallerPhone);
  Result := InCallOut(Channel1,Channel2,DTMFNum);
end;

function TDjSSCx.InCallOut(Channel1, Channel2: PChannel;
  DialerPhone: string): integer;
begin
  Channel1.ConnectChannel.ConState := OneConnect ;
  Channel1.ConnectChannel.ConChnlId := Channel2.ChannelID ;
  Channel1.ConnectChannel.CallActive := false;
  Channel1.ConnectChannel.CallerPhone := '';
  Channel1.ConnectChannel.Channeler := Channel2 ;
  Channel1.Step := 1001 ;
  Channel1.CallActor := CallerActor ;
  //Channel2.State := Dailing ;
  Channel2.Ringing := True ;
  Channel2.ConnectChannel.ConState := OneConnect ;
  Channel2.ConnectChannel.ConChnlId := Channel1.ChannelID;
  Channel2.ConnectChannel.CallActive := False;
  Channel2.ConnectChannel.CallerPhone := Channel1.Phone;
  Channel2.ConnectChannel.Channeler := Channel1 ;
  Channel2.CallActor := DialerActor ;
  //Channel2.Step := 0 ;
  Result := DjTc081.CallOut(Channel1,Channel2,DialerPhone);
end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.InCallIn
  作者:      姜亦文
  日期:      2006.09.11
  參數(shù):      ChnlID1, ChnlID2: integer  內(nèi)線呼叫內(nèi)線,內(nèi)線號(hào)碼為參數(shù)
  返回值:    integer
-------------------------------------------------------------------------------}
function TDjSSCx.InCallIn(ChnlID1, ChnlID2: integer): integer;
//var
//  Channel1,Channel2:pChannel;
begin
//  Channel1 := ChannelList.GetChannelFromPhone(IntToStr(ChnlID1));
//  Channel2 := ChannelList.GetChannelFromPhone(IntToStr(ChnlID2));
//  InCallIn(Channel1,Channel2);
  Result := 0 ;
end;

procedure TDjSSCx.test;
begin
end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.GetKeepChannel
  作者:      姜亦文
  日期:      2006.09.13
  參數(shù):      ChnlInID, ChnlOutID: integer   通過通道號(hào)取保持
  返回值:    無
-------------------------------------------------------------------------------}
procedure TDjSSCx.GetKeepChannel(ChnlInID, ChnlOutID: integer);
begin
  GetKeepChannel(ChannelList.Items[ChnlInID],ChannelList.Items[ChnlOutID]);
end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.GetKeepChannel
  作者:      姜亦文
  日期:      2006.09.13
  參數(shù):      ChnlInID: integer; DTMFNum: string  通過主叫號(hào)碼取保持
  返回值:    無
-------------------------------------------------------------------------------}
procedure TDjSSCx.GetKeepChannel(ChnlInID: integer; DTMFNum: string);
var
  ChannelIn,ChannelOut:PChannel ;
begin
  ChannelIn := ChannelList.Items[ChnlInID];
  ChannelOut := ChannelList.GetChannelFromPhone(DTMFNum);
  GetKeepChannel(ChannelIn,ChannelOut);
end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.GetKeepChannel
  作者:      姜亦文
  日期:      2006.09.13
  參數(shù):      KeepChannelList: Variant   取系統(tǒng)中保持的通道
  返回值:    integer
-------------------------------------------------------------------------------}
function TDjSSCx.GetKeepChannel(KeepChannelList: Variant): integer;
begin

end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.KeepChannel
  作者:      姜亦文
  日期:      2006.09.13
  參數(shù):      ChnlID: Integer   保持來電
  返回值:    無
-------------------------------------------------------------------------------}
procedure TDjSSCx.KeepChannel(ChnlID: Integer);
var
  KeepResult:integer;
begin
  KeepResult := DjTc081.KeepChannel(ChannelList.Items[ChnlID]);
  if Assigned(FOnKeep) then
    FOnKeep(Self,ChnlID,KeepResult);
end;

{-------------------------------------------------------------------------------
  過程名:    TDjSSCx.KeepChannel
  作者:      姜亦文
  日期:      2006.09.13
  參數(shù):      SubPhone: string  通過分機(jī)號(hào)保持來電11
  返回值:    無
-------------------------------------------------------------------------------}
procedure TDjSSCx.KeepChannel(SubPhone: string);
var
  Channel:PChannel ;
begin
  Channel := ChannelList.GetChannelFromPhone(SubPhone) ;
  if Assigned(Channel) then
    KeepChannel(Channel.ChannelID);
end;

procedure TDjSSCx.GetKeepChannel(ChnlIn, ChnlOut: PChannel);
var
  KeepResult:integer;
begin
  if Assigned(FBeforeGetKeep) then
    FBeforeGetKeep(Self,ChnlIn.ChannelID,ChnlOut.ChannelID);
  KeepResult := DjTc081.GetKeepChannel(ChnlIn,ChnlOut);
  if Assigned(FOnGetKeep) then
    FOnGetKeep(self,ChnlIn.ChannelID,ChnlOut.ChannelID,KeepResult);
end;

procedure TDjSSCx.GetKeepChannel(ChnlInPhone, ChnlOutPhone: string);
begin

end;

function TDjSSCx.ClearThree(Channel1, Channel2: PChannel): integer;
var
//  Meeting:PMeeting;
  i:integer;
  Channel3:PChannel;
begin
  if Channel1 = nil then
    Channel1 := DjMC.GetThreeChannel(Channel2.Meeting,Channel2);
  Channel3 := DjMC.GetThreeChannel(Channel1.Meeting,Channel1,Channel2);
  i :=  DjMC.DeleteChannel(Channel2);
  if i = 0 then
  begin
    i := DjMC.DeleteChannel(Channel1);
    if i = 0 then
    begin
      i := DjMC.DeleteChannel(Channel3);
      if i = 0 then
      begin
        //StartPlaySignal(Channel1.ChannelID,SIG_STOP);
        //StartPlaySignal(Channel3.ChannelID,SIG_STOP);
        Channel2.ConnectChannel.ConState := OneConnect;
        Self.HangUp(Channel2.ChannelID);

        if Assigned(self.FOnClearThree) then
          FOnClearThree(Self,Channel1.ChannelID,Channel3.ChannelID,Channel2.ChannelID)
        else
        begin
          DjTc081.SetLink(Channel1.ChannelID,Channel3.ChannelID);
        end;
      end;
    end;
  end;
end;

function TDjSSCx.LinkThree(Channel1, Channel2: PChannel): integer;
var
  Meeting:PMeeting;
  i:integer;
  Channel3:PChannel;
begin
  Meeting :=DjMC.StartMeet(Channel1);
  if Assigned(Meeting) then
  begin
    i := DjMC.AddChannel(Meeting,Channel2);
    if i =0 then
      if Channel1.ConnectChannel.ConState = Connected then
      begin
        Channel3 := Channel1.ConnectChannel.Channeler ;
//        i:= DjTc081.ClearLink(Channel1,Channel3);
        i := DjMC.AddChannel(Meeting,Channel3);
        if i = 0 then
        begin
          Channel1.ConnectChannel.ConState := ThreeState ;
          Channel2.ConnectChannel.ConState := ThreeState ;
          Channel3.ConnectChannel.ConState := ThreeState ;
          if Assigned(self.FOnLinkThree) then
            FOnLinkThree(Self,Channel1.ChannelID,Channel2.ChannelID,Channel3.ChannelID);
        end;
      end;
  end
  else
  begin
    if Assigned(Self.FOnException) then
      FOnException(Self,Channel1.ChannelID,DjE_LINKTHREE);
  end;
end;

function TDjSSCx.ClearThree(ChnlId: integer; CallerPhone: string): integer;
var
  Channel1,Channel2: PChannel;
begin
  Channel1 := ChannelList.Items[ChnlId];
  Channel2 := ChannelList.GetChannelFromPhone(CallerPhone);
  Result := ClearThree(Channel1,Channel2);
end;

function TDjSSCx.LinkThree(ChnlID: integer; CallerPhone: string): integer;
var
  Channel1,Channel2: PChannel;
begin
  Channel1 := ChannelList.Items[ChnlId];
  Channel2 := ChannelList.GetChannelFromPhone(CallerPhone);
  Result := LinkThree(Channel1,Channel2);
end;

function TDjSSCx.ClearThree(ChnlId1, ChnlID2: integer): integer;
var
  Channel1,Channel2: PChannel;
begin
  if ChnlId1 = -1 then
    Channel1 := nil
  else
    Channel1 := ChannelList.Items[ChnlId1];
  Channel2 := ChannelList.Items[ChnlId2];
  ClearThree(Channel1,Channel2);
end;

function TDjSSCx.LinkThree(ChnlID1, ChnlID2: integer): integer;
var
  Channel1,Channel2: PChannel;
begin
  Channel1 := ChannelList.Items[ChnlId1];
  Channel2 := ChannelList.Items[ChnlId2];
  LinkThree(Channel1,Channel2);
end;

procedure TDjSSCx.SetRecord(ChnlId, RecordChnlID, RecordType: integer;
  IsAgc: boolean);
var
  Channel:PChannel;
begin
  Channel := ChannelList.Items[ChnlID];
  if Recorded then
  begin
    Channel.Recorded.IsRecord := True;
    Channel.Recorded.RecordChannel := RecordChnlID;
    Channel.Recorded.RecordType := TRecordType(RecordType);
    Channel.Recorded.IsAGC := IsAgc ;
  end;
end;

procedure TDjSSCx.SetUse(ChnlID: integer; IsUse: Boolean);
var
  Channel:PChannel;
begin
  Channel := ChannelList.Items[ChnlID];
  Channel.IsUse := IsUse ;
end;

procedure TDjSSCx.SetRecordFilePath(RecordFilePath: string);
begin
  RecordCenter.RecordPath := RecordFilePath;
end;

procedure TDjSSCx.SetFilePath(FilePath: Shortstring);
begin
  FRecordFilePath := FilePath;
  if Assigned(RecordCenter) then
    RecordCenter.RecordPath := FilePath ;
end;

procedure TDjSSCx.SetPackRate(aPackRate: Integer);
begin
  FPackRate := aPackRate ;
  //tc08a32.SetPackRate(aPackRate);
end;

procedure TDjSSCx.PlayFile(ChnlID: integer; FileName: string);
begin
  DjTc081.StartPlayFile(ChannelList.Items[ChnlID],FileName);
end;

procedure TDjSSCx.StopPlayFile(ChnlId: integer);
begin
  DjTc081.StopPlayFile(ChannelList.Items[ChnlId]);
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本高清dvd不卡在线观看| 国产精品嫩草99a| 欧美日韩在线一区二区| 色欧美片视频在线观看| 91在线观看免费视频| 99综合影院在线| 91麻豆国产在线观看| 91丨porny丨最新| 日本久久精品电影| 欧美日韩精品三区| 欧美人体做爰大胆视频| 69成人精品免费视频| 日韩一卡二卡三卡国产欧美| 欧美tk—视频vk| 久久在线观看免费| 国产精品网曝门| 亚洲欧洲综合另类| 亚洲444eee在线观看| 麻豆精品国产传媒mv男同| 国产九色sp调教91| av成人免费在线| 精品视频在线免费观看| 欧美岛国在线观看| 国产欧美日韩不卡| 亚洲综合免费观看高清完整版 | 激情综合网激情| 国产一区福利在线| av一二三不卡影片| 欧美视频日韩视频在线观看| 9191国产精品| 国产欧美视频在线观看| 亚洲夂夂婷婷色拍ww47| 美日韩黄色大片| 国产成人免费网站| 欧美三级三级三级| 久久综合成人精品亚洲另类欧美| 国产精品丝袜一区| 亚洲成a人在线观看| 国产乱对白刺激视频不卡| 成人免费精品视频| 欧美一区欧美二区| 国产精品另类一区| 午夜精品爽啪视频| 国产高清在线精品| 欧美日韩免费视频| 国产视频一区二区三区在线观看| 亚洲精品ww久久久久久p站| 精品一区二区三区在线播放| 99久久99久久免费精品蜜臀| 91精品国产色综合久久| 国产精品欧美精品| 日本欧美在线观看| 99精品在线观看视频| 日韩一区二区三区视频在线| 中文字幕亚洲成人| 久久国产精品色| 色综合中文字幕国产 | 欧美tickling网站挠脚心| 国产精品色噜噜| 青椒成人免费视频| 色综合一个色综合亚洲| 精品国产污网站| 亚洲午夜av在线| 成人免费黄色在线| 欧美v国产在线一区二区三区| 亚洲色图在线播放| 国产老肥熟一区二区三区| 精品视频一区二区不卡| 国产精品欧美一区喷水| 麻豆国产欧美日韩综合精品二区| 91蜜桃婷婷狠狠久久综合9色| 精品日韩成人av| 性久久久久久久久久久久| 成人伦理片在线| 欧美刺激午夜性久久久久久久| 亚洲精品视频一区| 精品噜噜噜噜久久久久久久久试看| 综合久久给合久久狠狠狠97色| 久久精品二区亚洲w码| 欧美日免费三级在线| 中文字幕视频一区二区三区久| 国产精品一区二区免费不卡 | 欧美一区二区视频在线观看2022| 欧美极品美女视频| 国产自产视频一区二区三区| 91精品国产福利在线观看| 尤物av一区二区| av成人免费在线| 国产精品乱码久久久久久| 国产91精品免费| 日本一二三四高清不卡| 国产成人在线免费观看| 久久久精品欧美丰满| 国产一级精品在线| 国产亚洲成aⅴ人片在线观看| 蜜臀av一区二区在线观看| 91精品国产综合久久香蕉的特点| 亚洲福利电影网| 欧美亚洲国产怡红院影院| 一级女性全黄久久生活片免费| 91丨porny丨蝌蚪视频| 亚洲欧美综合色| 色婷婷亚洲综合| 亚洲专区一二三| 欧美人伦禁忌dvd放荡欲情| 亚洲香蕉伊在人在线观| 欧美色图片你懂的| 五月婷婷另类国产| 欧美一二区视频| 久久精品国产精品青草| 久久久国际精品| 成人黄色小视频| 亚洲欧美视频在线观看| 欧美日韩一区国产| 免费看日韩a级影片| 26uuu亚洲| 波多野结衣中文字幕一区 | 国产99久久久精品| 欧美国产精品久久| 色综合久久中文综合久久97 | 国产精品一区二区免费不卡 | 国产精品视频免费| av在线不卡电影| 一区二区三区欧美亚洲| 欧美人xxxx| 狠狠色伊人亚洲综合成人| 国产精品久久久久久久第一福利 | wwwwxxxxx欧美| 成人黄色小视频在线观看| 亚洲黄色性网站| 日韩欧美在线一区二区三区| 国产在线精品一区二区不卡了| 国产精品久久久久四虎| 欧美在线你懂得| 久久99日本精品| 18成人在线观看| 欧美一区二区福利在线| 高清shemale亚洲人妖| 亚洲综合色区另类av| 精品日韩99亚洲| 色综合天天做天天爱| 日本成人在线不卡视频| 欧美国产欧美综合| 欧美精品99久久久**| 亚洲色大成网站www久久九九| 欧美日本乱大交xxxxx| 成人午夜电影网站| 亚洲国产精品久久久久婷婷884| 欧美精品一区二区三区高清aⅴ | 成人h精品动漫一区二区三区| 一级日本不卡的影视| 久久亚洲免费视频| 日本韩国欧美在线| 国内精品不卡在线| 亚洲成人手机在线| 欧美国产乱子伦| 日韩欧美精品在线视频| 色屁屁一区二区| 韩国精品久久久| 亚洲va韩国va欧美va| 国产精品美女久久久久高潮| 欧美一区二区三区免费视频| www.亚洲在线| 国内精品在线播放| 午夜精品久久久久久久蜜桃app| 国产日韩av一区二区| 91麻豆精品国产91久久久久久久久| 国产91精品入口| 蜜臀av性久久久久蜜臀aⅴ流畅 | 成人av动漫网站| 蜜桃av一区二区在线观看| 日韩理论电影院| 国产亚洲欧美在线| 日韩免费成人网| 欧美私模裸体表演在线观看| 成人av在线看| 精品伊人久久久久7777人| 亚洲图片欧美色图| 亚洲欧美一区二区三区极速播放| 久久久久久久网| 日韩精品一区二区三区视频播放| 91电影在线观看| 94-欧美-setu| 成人影视亚洲图片在线| 精品一区二区三区免费观看| 午夜久久久影院| 一区二区三区在线视频观看58 | 老司机精品视频导航| 午夜激情久久久| 亚洲一区二区三区在线| 国产精品久久久久精k8| 国产高清不卡一区二区| 麻豆成人免费电影| 日韩一区欧美二区| 亚洲国产成人高清精品| 亚洲国产毛片aaaaa无费看 | 性感美女极品91精品| 亚洲一区二区三区四区五区黄| 亚洲麻豆国产自偷在线| 最新日韩av在线|