捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
TurboPower Async Professional V4.06
关键字:TurboPower Async Professional 通信 串口 TAPI 传真 终端
来 自:转载,http://sourceforge.net/projects/tpapro
平 台:Win9x,Win2k/NT,WinXP 下载所需:0 火柴
深浅度:高级 完成时间:2003/1/27
发布者:aplxz 发布时间:2003/12/6
编辑器:D3-7/CB3-6 语  种:ENGLISH
分 类:通信 下载浏览:6800/37236
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
Async Professional 是一套全面的通信相关开发包,包含串口、TAPI、微软Speech API、支持传真、终端仿真、VOIP等等。
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
APRO v4.07 RC3
zxyzxy123 2008/2/1 下+11108/浏+19566 评+2
APRO v4.07 RC2
zhhzm 2007/10/8 下+3168/浏+11663 评+1
APRO v4.05 For D7
swgweb 2007/4/26 下+5492/浏+14705 评+10
TurboPower Visual PlanIt v1.03 For D2006
liusl 2006/9/1 下+799/浏+12635 评+0
TurboPower 全套组件及相关文档
9903 2004/3/2 下+30832/浏+31991 评+21
TurboPower Async Professional V4.06
aplxz 2003/12/6 下+6800/浏+37237 评+38
TurboPower OnGuard 1.13 (注册相关控件)
tonson 2003/11/24 下+1709/浏+14860 评+0
相关评论
共有评论38条 当前显示最后6条评论
xanadu 2004/6/6 13:52:23
有谁告诉我,那儿有TApdComPort控件下载?我找了很久也没找到,是不是D7自带的控件?
evan_cheng 2004/6/21 11:42:43
请问大侠,这个是免费的吗,还是完全破解版,请原谅我这样问,因为我在一个项目中使用了这个组件的串口部分,当我打开串口时报错,说串口已打开'ie_open device already open',急死我了,因为这个软件已经使用了一段时间了,大侠帮帮我!先谢谢了!!! 我的mail:zhengyx@hstnets.com 
aplxz 2005/7/26 9:34:52
TApdComPort控件重要属性介绍:
1》AutoOpen属性
  决定了端口是否按要求自动打开;如果为True,并且存取了一个要求具有打开串口的方法或属性,TApdComPort控件将自动打开串口,如果是False,端口必须明确的地开(通过设置Open属性为True).
2》TapiMode属性
  决定TApdTapiDevice控件是否控制TApdComPort控件;TApdTapiDevice不能单独工作,它必须联合TApdComPort一起工作,当创建一个TApdTapiDevice时,它为TApdComPort查找窗体,如果它找到一个,它检查TApdComPort控件的TApiMode属性以决定TapdTapiDevice是否能使用它。
  如果TApiMode是默认值tmAuto,TApdComPort控件对TAPI使用可用,TApdTapiDevice保存一个到TApdComPort的指针并设置如下属性值:
  ApdComPort.TApiMode:=tmOn;
  ApdComPort.AutoOpen:=False;
  ApdComPort.Open:=False;
  改变TApiMode是tmOn已表明关联的TApdTapiDevice正在控制TApdComPort.设置AutoOpen和Open为False,是因为当他被打开或者被关闭(TAPI正在使用)时,TApdComPort不能再控制。
  为了关闭TApiMode模式,或防止TAPI设备控制TApdComPort,设置TApiMode为tmOff。为以后TAPI模式在使能,设置TApiMode为tmAuto或tmOn,还需设置AutoOpen和Open为False,因为仅当TApdTapiDevice或TApdComPort被首先创建时,TApdTapiDevice才自动设置这些属性。
  tmNone值没被使用。
3》Tracing属性
 
aplxz 857  2003-12-8 22:21:21 
  Tracing属性决定了当前跟踪状态。
  当Tracing属性设为tlOff(默认值),则不执行跟踪。
  为使能跟踪功能,设置Tracing属性为tlOn。这分配一个2*TraceSize字节大小的内部缓冲区,通知调度器(dispatcher)开始用缓冲区。为使跟踪无效而不用写缓冲区的内容到磁盘文件,设置Tracing属性为tlOff。这样就释放了内部的缓冲区。
  为了写跟踪缓冲区的内容到磁盘,设置Tracing属性为tlDump(重写命名为TraceName的文件,或创建一个新文件)或tlAppend(附加到一个已有文件或创建一个新文件)。控件写内容到文件后,设置Tracing属性为tlOff。
  为清除跟踪缓冲区内容并继续跟踪,设置Tracing属性为tlClear。控件清除跟踪缓冲区后,设置Tracing属性为tlOn。
  为了临时暂停跟踪,设置Tracing属性为tlpause。如果要恢复跟踪,设置Tracing属性为tlOn.
  下面例子首先开启Tracing,然后转储(Dump)跟踪缓冲区到APRO.TRC。
  ApdComPoert.Tracing:=tlOn;
  ......
  ApdComPort.TraceName:='APRO.TRC';
  ApdComPort.Tracing:=tlDump;
...
 
aplxz 859  2003-12-8 22:41:18 
4》Logging属性
  Logging属性决定当前日志状态。
  当Logging属性设为tlOff(默认值),没有执行日志功能。
  为了使能日志,设置Logging属性为tlOn。这分配一个LogSize字节大小的内部缓冲区并通知调度器去开始用这个缓冲区。为了不将日志缓冲区的内容写到磁盘文件,设置Logging属性为tlOff。这样也释放了内部缓冲区。
  为了将日志缓冲区的内容写到磁盘,设置Logging属性为tlDump或tlAppend。控件写文件之后,设置Logging属性为tiOff。
  为了清除缓冲区的内容并继续使用日志,设置Logging属性为tlClear。控件清除缓冲区之后,设置Logging属性为tlOn。
  为临时暂停日志,设置Logging属性为tlPause。为了恢复日志功能,设置Logging属性为tlOn。例:
  ApdComPort.Logging:=tlOn;
  ...
  ApdComPort.LogName:='APRO.LOG';
  ApdComPort.Logging:=tlDump;
**********
 
aplxz 860  2003-12-8 22:48:23 
5》DTR属性
  DTR属性决定当前“Data Terminal Ready”信号(DTR)的状态。
  下面例子表明在打开端口之后,降低DTR信号,其后升高DTR信号。
  ApdComPort:=TApdComPort.Create(Self);
  ApdComPort.Open:=True;
  ApdComPort.DTR:=True;
  ApdComPort.DTR:=False;
  ...
  ApdComPort.DTR:=True;
********** 
aplxz 861  2003-12-8 23:02:03 
6》ComNumber属性
  ComNumber决定了TApdComPort控件使用的串口号(Com1、Com2、...).
  ComNumber并不验证串口号的有效性。当打开端口时,Windows通讯驱动程序将决定串口是否有效,如果无效,则出错。
  当改变ComNumber的属性时,如果端口打开,关闭已有的端口,用新串口号重新打开。在这个操作中,维持Trigger(触发器).
  当使用TAPI和Winsock设备层(Device Layer)时,这个属性被忽略。
  下面例子在运行期间创建、配置、打开一个ComPort控件
  ApdComPort:=TApdComPort.Create(Self);
  ApdComPort.ComNumber:=1;
  ApdComPort.Baud:=9600;
  ApdComPOrt.Parity:=pNone;
  ApdComPort.DataBits:=8;
  ApdComPort.StopBits:=1;
  ApdComPort.Open:=True;
********** 
aplxz 862  2003-12-8 23:19:57 
7》Open属性
  决定是否打开端口,是否用当前的所有属性初始化该端口。
  当Open属性设置为True时,TApdComPort控件将用所有当前属性设置来分配输入和输出缓冲区,打开物理端口,初始化线路设置(Line Setting)和流量控制(Flow Control)设置,并使Tracing和Logging有效或无效。然后为低级端口注册一个Trigger,其首先查看所有Trigger事件,并将控制传递给适当的OnTriggerXxx事件处理器。
  当Open属性设为False时,TApdComPort将关闭Tracing和Logging(通过设置相关的属性为tlDump,如果已经缓冲了信息,它将创建一个输出文件),关闭端口,重新分配输入和输出缓冲区。
  当Open属性已经为True时,设置Open属性为True是无害的;反之亦然。
********** 
aplxz 864  2003-12-8 23:31:33 
8》StopBits属性
  决定端口的停止位的个数,可接受的值为1和2。如果DataBits等于5,一个请求2个停止位被解释为一个请求1.5个停止位。
  当改变StopBits属性时,如果端口已打开,线路参数立即更新。在把StopBit属性传递给通信驱动程序之前,StopBits不校验所赋予的值,驱动程序可能拒绝这个值,并将导致一个异常。异常:EBadArgument、EBadHandle。
********** 
aplxz 865  2003-12-8 23:35:52 
9》DataBits属性
  决定端口的数据位的个数。可接受值是:5、6、7、8。
  当改变DataBits属性时,如果端口已打开,线路参数立即更新。把DataBit属性传递给通信驱动程序之前,DataBits不校验所赋予的值,驱动程序可能拒绝这个值,并将导致一个异常。异常:ENotSupported.
********** 
aplxz 866  2003-12-8 23:40:46 
10》Parity属性
  决定端口的奇偶校验模式。
  当Parity被改变时,如果端口已打开,线路参数立即更新。把Parity属性传递给通信驱动程序之前,Parity不校验所赋予的值,驱动程序可能拒绝这个值,并将导致一个异常。异常:EBadHandle、ENotSupported.
********** 
aplxz 867  2003-12-8 23:53:47 
11》Baud属性
  Baud属性决定端口使用的波特率。
  通常可接受的波特率值包括:300、1200、2400、4800、9600、19200、38400、57600、115200。
  当波特率被改变时,如果端口已打开,线路参数立即更新。把Baud属性传递给通信驱动程序之前,Baud不校验所赋予的值,驱动程序可能拒绝这个值,并将导致一个异常。异常:ENotSupported.
  用对象观察器输入一个波特率或调用SelectBaudRate属性编辑器,其提供了一个标准的下拉框。 
aplxz 868  2003-12-9 0:14:00 
12》OnConnectionStatus事件
  当Modem状态改变时,OnConnectionStatus定义了调用的事件处理器。
  这个事件处理所有TApdSModem状态改变。下面Modem状态将触发OnConnectionStatus事件:
  smsReady          空闲并就绪
  smsInitialize          开始初始化进程
  smsInitializeTimeout     等待初始化响应超时
  smsAutoAnswerBackground  autoanswer模式,没振铃接收
  smsAutoAnswerWait        autoanswer模式,等待第N个铃声
  smsAnswerWait          回应呼叫,等待连接
  smsDialWait          拨号呼叫,等待连接
  smsDialCycle          重试拨号尝试的时间
  smsNoDialTone          当拨号尝试时,Modem报告没有拨号音码
  smsConnected          处理连接过程
  smsHangup          开始挂断过程
  smsCancel          开始取消过程
  在OnConnectionStatus事件处理器,用TApdSModemStatusInfo类的方法来获取Modem状态和那个情况的合适的状态信息。
**********
TApdRasDialer控件
********** 
aplxz 869  2003-12-9 1:07:38 
  TApdRasDialer控件提供了Microsoft远程访问服务API的接口。通过Windows拨号网络,这个控件主要用来与一个远程计算机建立和终止连接,然而他也用来处理RAS电话薄项(RAS Phonebook Entries)和枚举活动连接(Active Connection)。
  TApdRasDialer要求RAS已经安装在应用程序将运行的计算机上。
  通过Dial和DialDlg方法执行拨号。用Dial方法,同步和异步拨号选项都有效。Hangup方法终止呼叫。CreatePhonebookEntry、DeletePhonebookEntry、EditPhonebookEntry、
ListEntries和PhonebookDlg(Windows NT)方法操作Phonebook项(Entry).
  GetDialParameters和SetDialParameters方法可以访问一个特殊呼叫拨号参数,对于NT操作系统的计算机,MonitorDlg能显示RAS连接的状态。
1》Passwor属性
  指定一个包含用户密码的字符串。
  密码为用户访问远程计算机的授权密码。
2》domain属性
  指定一个字符串,其中包含授权(Authentication)发生的域。
  空字符串指定域(远程访问服务器在域中是一个成员)。一个*号指定存储在Phonebook中的域。
3》Dial属性
  在RAS客户端和RAS服务器端之间,用Dial建立一个远程访问服务(RAS)连接。如果一个连接错误发生,这个连接将自动挂断。
  在异步方式拨号(ialMode=dmAsync)中,在连接建立前,拨号立即返回。连接进度通过OnDialStatus、OnDialError和OnConnected事件表达。另外,如果StatusDisplay指定TApdRasStatus控件,StatusDisplay控件显示一个拨号状态对话框,直到建立或取消连接。
  在同步拨号期间(DialMode设为dmSync),拨号不会返回,直到连接尝试已经成功完成或失败。没有事件触发,拨号函数结果必须检查以决定连接状态。
  一个不同于ecOK的返回值表明一个错误发生并且返回的值是个错误代码。这个值传递给GetErrorText可以获得错误的描述信息。
  通过ConnectState属性,可获得连接状态信息,直到应用程序调用HangUp终止连接。在一个连接已经成功建立后,应用程序最后必须调用HangUp。
  拨号不显示一个登录对话框。 
aplxz 870  2003-12-9 1:15:04 
**********
TApdRasStatus控件
**********
TApdRasStatus控件提供一个标准RAS拨号状态对话框,其中含有一个可在任何时间中断拨号的Cancel按钮。使用它只要创建一个实例,将之赋值给TApdRasDialer控件的StatusDisply属性。
 
aplxz 871  2003-12-9 1:27:59 
**********
TApdSModem控件
**********
  TApdSModem简单Modem控件结合TApdModemDBase、TApdModem、TApdModemDialer、TApdDialerDialog控件的特征而成为具有简单界面的单一控件。
  TApdSModem集成了来自Modem数据库的Modem选项和显示当前Modem状态的对话框。这样控件包含了许多特征,而控件没变的复杂。大部分的属性在后台,用户可能并不需要改变或访问他们。
  除属性区列出的属性,TApdSMoedm还有其他高级属性,这些属性只在运行期可用。
  TApdSModem控件的属性如下介绍:(待续) 
aplxz 874  2003-12-9 10:18:10 
1》SelectModem属性
  该属性显示了一个允许用户选择Modem的对话框。你可以选择一个Modem和指定连接的串口。选择的Modem的配置设置被读进TApdSModem的内部变量。
2》Dial属性
  拨打指定的电话号码,他初始化Modem控件的Trigger以等待连接,然后拨打PhoneNumber属性指定的号码。当连接建立时,OnConnectionStatus被调用(处于smsConnected状态)。
  首次拨号尝试后,如果连接没建立,AutoRetry指定是否自动重试,在任何时间调用Cancel,拨号操作被取消。如果ShowStatus为True,在拨号过程中显示状态对话框。
  下面两例子通过Modem拨号
  ApdSModem1.PhoneNumber:='666-1515';
  ApdSModem1.Dial(False);
  异常:EModemBusy、EModemNotResponding、EModemRejectedCommand.
3》PhoneNumber属性
  决定了拨打的电话号码。这个属性设置的电话号码,在拨号呼叫时使用,在拨号过程中,PhoneNumber属性可以改变,允许用户循环拨打电话号码列表中的电话,直到连接建立。例如:如果拨打666-1515没有连接,可以在OnConnectionStatus里的smsDialCycle状态来改变电话号码(而非重新拨打666-1515)。
  4》ModemIniName属性
  ModemIniName是个包含Modem配置信息的文件名。
  Modem数据库文件包含一系列Modem和它们的配置字符串。默认的Modem Database文件是AWMODEM.INI,由Async Profeesional提供。当SelectModem调用显示用户能选择的一列Modem,使用ModemIniName这个文件;在设计时,当修改ModemName属性值时,也使用ModemIniName这个文件来显示MOdem列表.
5》AutoAnswer属性
  在指定振铃的数量之后,AutoAnswer准备Modem去应答呼叫。AutoAnswer设置合适的变量和Trigger后,控制返回到程序,Modem控件在后台监视呼入(Incoming Call).如果接收到RingCount振铃结果,呼叫回应。如果ShowStatus为True,在回应期间,显示一个状态对话框。
  调用Cancel,取消自动响应模式。不管TApdSModem是否在后台等待呼入或者Modem当前正在回应呼叫,自动响应模式均被取消。
  调用AutoAnswer并不打开外部Modem的自动应答(Auto Answer AA)灯。AutoAnswer方法没有用Modem的自动应答特性。
  下面例子为在两次振铃后告诉Modem摘机(Pick Up)
  ApdSModem1.AutoAnswer(2);
**********
 
aplxz 877  2003-12-9 11:41:21 
**********
TApdModem控件
**********
  TApdModem控件为访问MOdem提供了与设备无关的例行程序。他提供初始化、配置、拨号、应答和其他公共的Modem功能。
  TApdModem有直接对应于TModemInfo结构中域的属性。这些属性决定了那些字符串送到Modem,那些字符串期待返回。
  TApdModem控件有个ModemInfo属性(TModemInfo类型),可用来一次设定所有的命令和响应字符串。如果从Modem数据库或INI文件中读Modem配置数据,这个属性特别有用。
  TApdModem有两个特别属性:ErrorConnectionTags和DataCompressionTags,用来设置Modem返回的字符串(其显示错误更正和数据压缩特征)。这些属性是TtagSet类型。
1》DataCompressionTags属性
  DataCompressionTags属性是一系列字符串,在拨号或者回应过程中,Modem能返回这些字符串,以尝试指出在连接时可用的数据压缩特征。
  DataCompressiontags属性是个TTagSet类型。TTagSet是个简单的类,在对象观察器中,起唯一的目的是使能数据压缩标签的编辑,5个可能的数据压缩标签(String1、String2、String、String4、String5)作为DataCompressionTags属性的子属性出现。标签字符串的最大长度为21个字符。
  下面例子设置Modem在连接时查找V.42数据压缩
  ApdModem1.DataCompressionTags.String1:='V42BIS';
  异常:EModemBusy、EoutOfMemory
2》ConfigCmd属性
  ConfigCmd属性决定了配置Modem的字符串。
  ConfigCmd属性决定了Modem的一般设置。当Configure方法调用时,发送ConfigCmd属性。与TApdModem控件发送给Modem的其他的命令字符串不同的是ConfigCmd能包含多个命令。TApdModem分别校验和传送每个命令(可达的最大长度为255字符)。串中的每个命令被CmdSetChar分离,默认的字符为‘|’。
  异常:Emodembusy、EoutOfMemory
3》AnswerCmd属性
  AnswerCmd属性决定送到Modem去准备响应一个呼入的字符串。
  当调用Answer和AutoAnswer方法,字符串送到Modem。这个字符串通常是‘ATA^M’。
  Excceptions:EmodemBusy、EoutOfMemory
4》LastString属性
  LastString属性是Modem接收到的最后字符串。
  通常,TApdModem控件内部处理所有响应,并通过事件报告结果。然而,通过检查LastString属性,也可能人工地检查TApdmodem处理的文本。
  例如,如果Modem控件将ATZ命令发送到Modem中,则Modem应返回OK字符。这是Modem控件生成OnModemOK事件,并且LastString为OK。
  如果Modem控件在拨号,当一个连接成功建立,Modem返回一个类似‘CONNECT 19200’的字符串。Modem控件生成一个OnModemConnect事件,LastString是‘CONNECT 19200’。
  下面例子示范了LastString的使用。
  Procedure Form1.Apdmodem1CommandProcessed(Sender:TObject;
          WhatHappened:TModemStatus;
          Data:LongInt);
  begin
    Label1.Caption:='Modem Status:'+ApdModem1.LastString;
  end;
5》HangupCmd属性
  HangupCmd属性决定了送到Modem用来挂断线路的字符串。
  当调用Hangup方法时,该字符串送到Modem。在AWMODEM.INI数据库,他有个默认值‘+++~~~ATH0^M’。
  Excceptions:EmodemBusy、EoutOfMemory
6》OnConnectFailed事件
  当一个连接尝试失败,OnConnectFailed定义了一个调用的事件处理器。
  不论因为何种原因(例如:忙音、握手错误等)而造成一个连接尝试失败,最终OnConnectFailed均被调用。
  调用OnConnectFailed后,再使用Modem控件是安全的。如果在事件处理器内部调用一个TApdModem方法,那么不返回EModemBusy异常。
  下面示范了OnConnectFailed和OnModemIsConnected的使用
  Procedure TMyForm.ModemIsConnected(Sender:TObject);
  Begin
    ApdComPort1.Output:='I connected to you.';
    ApdModem1.Hangup;
  end;

Procedure TMyForm.ConnectFailed(Sender:TObiect);
benin
  //一个连接失败后,重新初始化Modem
  ApdModem1.Initialize;
end;
********** 
aplxz 878  2003-12-9 11:43:06 
**********
TApdSLController控件
********** 
aplxz 879  2003-12-9 12:06:29 
  TApdSLController控件监视TApdComPort控件的状态,并改变一个或多个TApdStatusLigth 控件的状态来反映那个状态。
  TApdSLController有能力监视线路信号(DCD、DTR、CTS、RI),线路断开和错误以及是否当前接收或传送数据。
  若使用TApdSLController控件,并让控制器去监视线路,首先对于每个线路条件均创建一个TApdStatusLight控件。接着放一个TApdSLController控件在窗体中,将之链接到要监视的TApdComPort控件,再链接这个控制器的Light属性到各个TApdStatusLight控件。最后设置控制器的Monitoring属性为True.
********** 
aplxz 880  2003-12-9 12:38:11 
**********
TApdStatusLight控件
**********
  TApdStatusLight是一个显示两个位图或两种不同颜色的简单控件。这个控件的Lit属性决定两个状态那个被显示,他的Glyph属性决定使用位图还是纯颜色(Solid Color)。
  这个控件与TApdSLController控件手拉手的工作。TApdSLController对串口状态改变和各个TApdStatusLight控件的Lit属性改变作出反应,以反应串口的状态。
********** 
aplxz 881  2003-12-9 12:59:25 
**********
TApdProtocol控件
**********
  TApdProtocol控件实现所有的Async Professional文件传输能力。
  TApdprotocol控件能用ZModem、XModem、XModemCRC、XModem1K、XModem1KG、YModem、
YModemG、Kermit、ASCII和Bplus协议传输文件。
**********
TApdProtocolLog控件
**********
  TApdProtocolLog控件是与TApdProtocol控件合作提供自动协议日志服务的一个小类型。所要做的只是创建一个TApdProtocolLog的实例,将之赋值给TApdProtocol控件的ProtocolLog属性。
  TApdProtocolLog控件创建或追加一个文本文件。其名字由HistoryName的属性给出。每次生成TApdProtocol控件的OnProtocolLog事件时,关联的TApdProtocolLog实例打开这个文件,写一行,并关闭这个文件。
**********
TApdProtocolStatus控件
**********
  TApdProtocolStatus控件是实现标准协议状态显示的TApdAbstractStatus的继承者。要做的是创建一个实例,将之赋与TApdProtocol控件的StatusDisplay属性。
  TApdProtocolStatus控件可以继承TApdAbstractStatus控件的所有抽象方法。TApdProtocolStatus没有必须调用的方法或必须调整的属性。
**********
pyk1 2006/1/9 12:53:48
aplxz:
您好,我用的TApdSModem控件为何没有HangupCmd属性。另外我在Delphibbs开了一帖,
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3319810
向您请教这个问题,望您能解答。谢谢!
arainbow 2006/6/11 18:32:06
非常好的控件,TurboPower公司已经关门了,这些控件都免费提供. 正用它做一语音/呼叫/传真系统.
zjyklwg 2007/5/22 22:27:14
谢谢aplxz
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表