?? mainform.pas
字號:
unit mainform;
interface
uses
tc08a32, Channels, windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, Grids, ExtCtrls, ComCtrls, cxControls,
cxContainer, cxEdit, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, DB, cxDBData, cxLookAndFeels, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxGridCustomView, cxGrid, Buttons, cxProgressBar;
type
TMainfrm = class(TForm)
Timer1: TTimer;
Timer2: TTimer;
pgcControl: TPageControl;
tsControl: TTabSheet;
tsChannel: TTabSheet;
stategrid: TStringGrid;
statMain: TStatusBar;
Image1: TImage;
Label1: TLabel;
Bevel2: TBevel;
pgcDetails: TPageControl;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
telebox: TListBox;
Bevel1: TBevel;
trbVolume: TTrackBar;
Label2: TLabel;
Label3: TLabel;
Progressbar: TcxProgressBar;
btnStartdun: TBitBtn;
BitBtn1: TBitBtn;
tsDundetails: TTabSheet;
tsCalllog: TTabSheet;
dbtvDundetails: TcxGridDBTableView;
lvDundetails: TcxGridLevel;
cxgrdDundetails: TcxGrid;
cxgrdDunlog: TcxGrid;
dbtvDunlog: TcxGridDBTableView;
lvDunlog: TcxGridLevel;
dbtvDundetailsSbbh: TcxGridDBColumn;
dbtvDundetailsYhmc: TcxGridDBColumn;
dbtvDundetailsYhdz: TcxGridDBColumn;
dbtvDundetailsPhoneNumber: TcxGridDBColumn;
dbtvDundetailsCallCount: TcxGridDBColumn;
dbtvDundetailsCallDatetime: TcxGridDBColumn;
dbtvDundetailsCallStatus: TcxGridDBColumn;
dbtvDundetailsWaterfee: TcxGridDBColumn;
dbtvDundetailsSewage: TcxGridDBColumn;
dbtvDundetailsTotalsum: TcxGridDBColumn;
dbtvDundetailsCbrq: TcxGridDBColumn;
dbtvDundetailsLatedays: TcxGridDBColumn;
dbtvDunlogLogID: TcxGridDBColumn;
dbtvDunlogChannel: TcxGridDBColumn;
dbtvDunlogChannleType: TcxGridDBColumn;
dbtvDunlogAction: TcxGridDBColumn;
dbtvDunlogDescription: TcxGridDBColumn;
dbtvDunlogResult: TcxGridDBColumn;
dbtvDunlogLogDatetime: TcxGridDBColumn;
LookAndFeelController: TcxLookAndFeelController;
trbSpeed: TTrackBar;
Label4: TLabel;
Label5: TLabel;
dtpStart: TDateTimePicker;
Label6: TLabel;
dtpEnd: TDateTimePicker;
Bevel3: TBevel;
chkAutoCall: TCheckBox;
tmrAutocall: TTimer;
Label7: TLabel;
edtPrefix: TEdit;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer2Timer(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure pgcDetailsChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure tmrAutocallTimer(Sender: TObject);
procedure chkAutoCallClick(Sender: TObject);
private
function GetVoiceSpeed: Integer;
function GetVoiceVolume: Integer;
function GetEnddunTime: TTime;
function GetStartdunTime: TTime;
function GetPrefixDialnum: string;
{ Private declarations }
public
property VoiceSpeed: Integer read GetVoiceSpeed default 50;
property VoiceVolume: Integer read GetVoiceVolume default 50;
property Startdun: TTime read GetStartdunTime;
property Enddun: TTime read GetEnddunTime;
property PrefixNum: string read GetPrefixDialnum;
end;
var
Mainfrm: TMainfrm;
implementation
uses CallerDM;
{$R *.DFM}
procedure TMainfrm.FormCreate(Sender: TObject);
begin
InitSystem();
end;
{-------------------------------------------------------------------------------
Procedure: TMainfrm.FormClose
Author: Xsp
DateTime: 2006.05.09
Arguments: Sender: TObject; var Action: TCloseAction
Result: None
Popose: 初始化語音卡
-------------------------------------------------------------------------------}
procedure TMainfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
relesystem();
end;
{-------------------------------------------------------------------------------
Procedure: TMainfrm.Timer2Timer
Author: Xsp
DateTime: 2006.05.09
Arguments: Sender: TObject
Result: None
Popose: 維持語音卡對語音的播放及振鈴的檢測
-------------------------------------------------------------------------------}
procedure TMainfrm.Timer2Timer(Sender: TObject);
begin
push_play;
feedsigfunc;
end;
{-------------------------------------------------------------------------------
Procedure: TMainfrm.Timer1Timer
Author: Xsp
DateTime: 2006.05.09
Arguments: Sender: TObject
Result: None
Popose: 語音卡業(yè)務(wù)處理流程的輪詢,循環(huán)處理每個通道的請求
-------------------------------------------------------------------------------}
procedure TMainfrm.Timer1Timer(Sender: TObject);
var
channelno: integer;
begin
drawgrid;
for channelno := 0 to TTSChannel - 1 do
begin
if {(channelno mod 2 = 0) and} dmCaller.Startdunflag then
begin
DunWaterfee(channelno);
// 只有在沒有播放語音時出現(xiàn)忙音才將號碼放入隊列再次催繳
if (sig_checkbusy(channelno) = 1) and not Channel[channelno].PlayingWaterfee then
begin
if channel[channelno].dtmf <> '' then
begin
AddItemtoTellist(channelno);
ResetChannel(channelno);
end
end;
end;
end
end;
{-------------------------------------------------------------------------------
Procedure: TMainfrm.pgcDetailsChange
Author: Xsp
DateTime: 2006.05.09
Arguments: Sender: TObject
Result: None
Popose: 輔助事件,用于刷新催繳資料
-------------------------------------------------------------------------------}
procedure TMainfrm.pgcDetailsChange(Sender: TObject);
begin
with dmCaller do
case pgcDetails.ActivePageIndex of
0 : RefreshDundetails;
1 : RefreshDunlog;
end;
end;
procedure TMainfrm.FormShow(Sender: TObject);
begin
pgcDetailsChange(Sender);
end;
function TMainfrm.GetVoiceSpeed: Integer;
begin
Result := trbSpeed.Position;
end;
function TMainfrm.GetVoiceVolume: Integer;
begin
Result := trbVolume.Position;
end;
//------------------------------------------------------------------------------
// 根據(jù)設(shè)定的催繳時段檢查當(dāng)前是否應(yīng)該進行催繳欠費
//------------------------------------------------------------------------------
procedure TMainfrm.tmrAutocallTimer(Sender: TObject);
var
Anowtime: string;
begin
Anowtime := TimeToStr(Time);
if (Anowtime >= TimeToStr(Startdun)) and (Anowtime <= TimeToStr(Enddun)) then
dmCaller.Startdunflag := True
else
dmCaller.Startdunflag := False;
end;
function TMainfrm.GetEnddunTime: TTime;
begin
Result := dtpEnd.Time;
end;
function TMainfrm.GetStartdunTime: TTime;
begin
Result := dtpStart.Time;
end;
procedure TMainfrm.chkAutoCallClick(Sender: TObject);
begin
tmrAutocall.Enabled := chkAutoCall.Checked;
end;
{-------------------------------------------------------------------------------
Procedure: TMainfrm.GetPrefixDialnum
Author: Xsp
DateTime: 2006.05.09
Arguments: None
Result: string
Popose: 獲取呼出號碼的前綴
-------------------------------------------------------------------------------}
function TMainfrm.GetPrefixDialnum: string;
begin
if StrToIntDef(edtPrefix.Text, -1) <> -1 then
Result := Trim(edtPrefix.Text)
else
Result := '';
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -