📄 uform_main.pas
字号:
unit Uform_main;
interface
uses
tw8a32,uCreateCode,ShellAPI,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ToolWin, Menus, ExtCtrls, DB, ADODB, StdCtrls;
// StdCtrls, Grids, ComCtrls, Buttons, ExtCtrls, Menus, jpeg,
//ShlObj, ActiveX, ComObj ;
type
ring=record
funs:integer;
timeout:integer;
code:string;
thistime:tdatetime;
end;
Tform_main = class(TForm)
MainMenu1: TMainMenu;
N546541: TMenuItem;
N56456461: TMenuItem;
N5646541: TMenuItem;
ImageList1: TImageList;
Panel1: TPanel;
Image1: TImage;
ImageList2: TImageList;
fghf1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
wwwBeeShipcom1: TMenuItem;
N6: TMenuItem;
Email1: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Timer1: TTimer;
Dconnect: TADOConnection;
statusbar1: TStatusBar;
H1: TMenuItem;
S1: TMenuItem;
C1: TMenuItem;
recordset_temp: TADOQuery;
tel_recordset: TADOQuery;
recordset_temp2: TADOQuery;
D1: TMenuItem;
N11: TMenuItem;
N21: TMenuItem;
StatusBar2: TStatusBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton7: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
S2: TMenuItem;
R1: TMenuItem;
C2: TMenuItem;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
tel_recordset2: TADOQuery;
procedure Panel1Resize(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure telser1(i:integer);
procedure telser2(i:integer);
procedure telser3(i:integer);
procedure telser4(i:integer);
procedure telser5(i:integer);
procedure telser6(i:integer);
procedure telser7(i:integer);
procedure telser8(i:integer);
procedure telser9(i:integer);
procedure telser10(i:integer);
procedure telser11(i:integer);
procedure telser12(i:integer);
procedure N11Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure fghf1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure S1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure C1Click(Sender: TObject);
procedure R1Click(Sender: TObject);
procedure C2Click(Sender: TObject);
procedure wwwBeeShipcom1Click(Sender: TObject);
procedure Email1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
dd1:tdatetime;
dd2:tdatetime;
code1:string;
code2:string;
thisRing:array[1..2] of ring;
stop:array[1..2] of boolean;
ChNum:integer;
tt:CreateCode;
end;
var
form_main: Tform_main;
implementation
uses Uform_add_code, Uform_add_code2, Uform_code_edit,
Uform_code_del, Uform_bt_print, Uform_bt_output, Uform_his_show,
Uform_help, Uform_aboutme, Uform_his_del, Uform_record, Uform_record_pro;
{$R *.dfm}
procedure Tform_main.Panel1Resize(Sender: TObject);
begin
{* resize the form items' position 2001-12-17am*}
image1.Left :=panel1.Width div 2 - image1.Width div 2;
image1.Top:=panel1.Height div 2 - image1.Height div 2;
if (form_main.Width >200) then
begin
statusbar2.Panels [0].Width :=(form_main.Width-140) div 2;
statusbar2.Panels [1].Width :=(form_main.Width -140) div 2;
end;
end;
procedure Tform_main.FormCreate(Sender: TObject);
begin
{*int the connection 2001-12-17am*}
Dconnect.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ExtractFilePath(ParamStr(0))
+'db\db.mdb;Persist Security Info=False';
stop[1]:=true;
stop[2]:=true;
end;
procedure Tform_main.ToolButton1Click(Sender: TObject);
begin
{*add the code form the buttonbar or the menu 2001-12-17*}
if statusbar1.Visible =true then exit;
{*show the form to chose the code that be created*}
form_add_code.SpinEdit3.Value :=0;
form_add_code.SpinEdit1.Value :=0;
form_add_code.SpinEdit2.Value :=0;
form_add_code.ShowModal;
if form_add_code.yesno =false then exit;
{*show the code that can not be created *}
form_add_code2.kind_code :=form_add_code.kind_code ;
form_add_code2.s_code := form_add_code.s_code ;
form_add_code2.e_code:=form_add_code.e_code;
form_add_code2.ShowModal ;
if form_add_code2.yesno =false then exit;
tt:=createcode.create(form_add_code.kind_code,form_add_code.s_code,form_add_code.e_code);
tt.Resume ;
exit;
end;
procedure Tform_main.Timer1Timer(Sender: TObject);
var
i:integer;
begin
//time detect 2001-12-17
statusbar2.Panels[2].Text :=datetimetostr(now);
for i:=1 to 2 do
if stop[i]=true then
begin
//time++
thisring[i].timeout :=thisring[i].timeout +1;
case thisring[i].funs of
1:
telser1(i);
2:
telser2(i);
3:
telser3(i);
4:
telser4(i);
5:
telser5(i);
6:
telser6(i);
7:
telser7(i);
8:
telser8(i);
9:
telser9(i);
10:
telser10(i);
11:
telser11(i);
12:
telser12(i);
end;
end
else
begin
statusbar2.Panels [i-1].Text :=inttostr(i) + '#号线停止工作';
end;
end;
procedure Tform_main.ToolButton2Click(Sender: TObject);
begin
//show the code edittion 2001-12-17
form_code_edit.ShowModal ;
end;
procedure Tform_main.FormActivate(Sender: TObject);
begin
//int the tw2a 2001-12-17
ChNum:=TW_Installed;
{if chnum=0 then
begin
showmessage('您没有安装TW2A电话语音卡');
close;
end; }
TW_Initialize;
thisring[1].funs:=1;
thisring[2].funs:=1;
thisring[1].timeout :=0;
thisring[2].timeout :=0;
end;
procedure Tform_main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//end the software 2001-12-17
if ChNum>0 then
TW_Disable;
end;
//------------------------------------------------------------------------------------------------------------------------------------
//....................................................................................................................................
// telserver
//[[[[[[[[[[[[[[[[1]]]]]]]]]]]]]]]]]]]
procedure Tform_main.telser1(i:integer);
var
temp:pchar;
begin
//telephone server function1 2001-12-18
// wait the ring sound and play the welcome sound 2001-12-25p
statusbar2.Panels[i-1].Text :=inttostr(i) +'#线等待电话接入';
if tw_ringdetect(i-1) >1 then
begin
statusbar2.Panels[i-1].Text :=inttostr(i) + '#线电话接入,正在播放欢迎音';
thisRing[i].funs :=2;
thisring[i].timeout :=0;
thisring[i].thistime :=now;
tw_offhookctrl(i-1);
tw_flushdtmf(i-1);
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\0sou.tw');
tw_startplayfile(i-1,temp,0,0);
end;
end;
//[[[[[[[[[[[[[[[[2]]]]]]]]]]]]]]]]]]]
procedure Tform_main.telser2(i:integer);
var
temp:pchar;
begin
//telephone server function2 2001-12-25p
//wait the welcome sound over or user press any key
tw_getdtmfstr(i-1,temp);
statusbar2.Panels[i-1].Text :=inttostr(i) + '#线电话接入,正在播放欢迎音';
if ((tw_playfilerest(i-1)=0) or (length(temp)<>0)) then
begin
if tw_playfilerest(i-1)>0 then
begin
tw_stopplayfile(i-1);
end;
thisRing[i].funs :=3;
thisring[i].timeout :=0;
statusbar2.Panels[i-1].Text :=inttostr(i) + '#线等待用户输入产品号码';
end;
if thisring[i].timeout =240 then
begin
thisRing[i].funs :=11;
showmessage('sss');
end;
end;
//[[[[[[[[[[[[[[[[3]]]]]]]]]]]]]]]]]]]
procedure Tform_main.telser3(i:integer);
var
temp:pchar;
begin
//telephone server function3 2001-12-25p
//wait the the user finish the press key
tw_getdtmfstr(i-1,temp);
statusbar2.Panels[i-1].Text :=inttostr(i) + '#线等待用户输入产品号码';
if length(temp)>9 then
begin
if ((pos('*',temp)>0) or (pos('#',temp)>0)) then
begin
thisRing[i].funs :=10;
thisring[i].timeout :=0;
statusbar2.Panels[i-1].Text :=inttostr(i) + '#线播放输入错误音';
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\17sou.tw');
tw_flushdtmf(i-1);
tw_startplayfile(i-1,temp,0,0);
end
else
begin
thisRing[i].funs :=4;
thisring[i].timeout :=0;
thisring[i].code :=temp;
statusbar2.Panels[i-1].Text :=inttostr(i) + '#线播放号码确认音';
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\1sou.tw');
tw_flushdtmf(i-1);
tw_startplayfile(i-1,temp,0,0);
end;
end;
if thisring[i].timeout =240 then
begin
thisRing[i].funs :=11;
end;
end;
//[[[[[[[[[[[[[[[[4]]]]]]]]]]]]]]]]]]]
procedure Tform_main.telser4(i:integer);
var
temp:pchar;
begin
//telephone server function4 2001-12-25p
// 等待确认音放完
if tw_playfilerest(i-1)=0 then
begin
//0
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\2sou.tw');
tw_setvoicei(48,temp);
//1
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\3sou.tw');
tw_setvoicei(49,temp);
//2
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\4sou.tw');
tw_setvoicei(50,temp);
//3
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\5sou.tw');
tw_setvoicei(51,temp);
//4
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\6sou.tw');
tw_setvoicei(52,temp);
//5
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\7sou.tw');
tw_setvoicei(53,temp);
//6
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\8sou.tw');
tw_setvoicei(54,temp);
//7
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\9sou.tw');
tw_setvoicei(55,temp);
//8
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\10sou.tw');
tw_setvoicei(56,temp);
//9
temp:=pchar(ExtractFilePath(ParamStr(0)) + 'sound\11sou.tw');
tw_setvoicei(57,temp);
thisRing[i].funs :=5;
thisring[i].timeout :=0;
statusbar2.Panels[i-1].Text :=inttostr(i) + '#线播放号码音';
tw_flushdtmf(i-1);
temp:=pchar(thisring[i].code);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -