|
盒子资源分类 |
![]() |
|
|
|
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 |
分 类:通信 |
下载浏览:6795/36537 |
|
|
|
|
Async Professional 是一套全面的通信相关开发包,包含串口、TAPI、微软Speech API、支持传真、终端仿真、VOIP等等。 |
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们! |
相关文章 |
|
![]() |
|
相关评论 |
![]() |
共有评论1条
当前显示最后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 |
我要发表评论 |
查看全部评论 |
![]() |
|
|
|