用Delphi开发来电显示管理软件

1、建立如下Form:

其中使用了我自己开发的控件TeleComport,可到 http://www.kosen.com.cn/news/showdld.asp?id=19 下载。 

2、在各按钮的Click事件中,分别写入如下代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
  //端口可直接设置,例如端口为USB,Port:='USB'
  if TeleComport1.SetupPort then
    Memo1.Lines.Add('Port='+TeleComport1.Port);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  TeleComport1.Open;
  if TeleComport1.JDUsbdevCount>0 then
    Memo1.Lines.Add(IntToStr(TeleComport1.JDUsbdevCount)+' USB设备');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  TeleComport1.Close;
end;

3、在TeleComport1的Open、Close、Read事件中,分别写入如下代码:

procedure TForm1.TeleComport1Open(Sender: TObject);
begin
  if TeleComport1.JDConnected then begin
    Memo1.Lines.Add('Connected '+IntToStr(TeleComport1.JDUsbdevCount));
    //打开端口时读取来电管理器内缓存的号码
    TeleComport1.ReadAllWhenOpen;
  end;
end;

procedure TForm1.TeleComport1Close(Sender: TObject);
begin
  if not TeleComport1.JDConnected then
    Memo1.Lines.Add('not Connected')
  else
    Memo1.Lines.Add('Connected '+IntToStr(TeleComport1.JDUsbdevCount));
end;

//有来电时激活此事件
//s为来电号码,t为来电时间,devid为USB的设备号
procedure TForm1.TeleComport1Read(Sender: TObject; s: String; t: TDateTime;
  devid: String);
begin
  Memo1.Lines.Add(s+FormatDateTime(' yyyy-mm-dd hh:nn:ss', t));
end;

就这么简单。
当然需要使用高深公司的“记得”来电显示管理器,详情请参考:http://www.kosen.com.cn/jdmain.htm

开发来电显示Delphi控件包: 使用方法: (1) 下载控件包Component.zip (2) 先编译 CPortLib6.dpk ,已安装了CPortLib 控件组的可省略这一步骤 (3) 然后编译 TelePort.dpk ,并安装 (4) 安装完成后,在 kosenTools 控件页增加了一个控件:TeleComport (5) 使用示例请看 Project2.dpr 示例源程序: unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CPort, TeleComportUnit; type TForm1 = class(TForm) TeleComport1: TTeleComport; Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure TeleComport1Open(Sender: TObject); procedure TeleComport1Close(Sender: TObject); procedure TeleComport1Read(Sender: TObject; s: String; t: TDateTime); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); begin if TeleComport1.SetupPort then Memo1.Lines.Add(\'Port=\'+TeleComport1.Port); //设置来电管理器的连接端口,USB端口的设置为Port:=\"USB\" end; procedure TForm1.Button1Click(Sender: TObject); begin TeleComport1.Open; end; procedure TForm1.Button3Click(Sender: TObject); begin TeleComport1.Close; end; procedure TForm1.TeleComport1Open(Sender: TObject); begin if TeleComport1.JDConnected then begin Memo1.Lines.Add(\'Connected\'); //打开端口时读取来电管理器内缓存的号码 TeleComport1.ReadAllWhenOpen; end; end; procedure TForm1.TeleComport1Close(Sender: TObject); begin if not TeleComport1.JDConnected then Memo1.Lines.Add(\'not Connected\'); end; //有来电时触发此事件 //s为来电号码,t为来电时间 procedure TForm1.TeleComport1Read(Sender: TObject; s: String; t: TDateTime); begin Memo1.Lines.Add(s+F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值