函数FoxProforWindows远程拨号通讯功能的设计与实现

移动拨号vps  时间:2021-04-28  阅读:()

FoxProforWindows远程拨号通讯功能的设计与实现

目录

1. 设计思想?

2. FoxTools.FLL的导入

3.注册与执行API函数方法?

3. 1注册API函数?

3. 2执行API函数?

4. 调制解调器设计函数?

4. 1 〖ZK(〗打开通讯信道函数OpenComm (

4. 2 [ZK(]传递通讯信息函数WriteComm()\=

4. 3关闭通讯信道函数CloseComm(

5. 设计实例?

S="ATH O"+ch r(13)\=

6.结束语?

正文

计算机远程传输系统是实现不同区域信息联接的信息系统采用以计算机、 调制解调器(MO DEM)并通过电话线路组建设计算机远程传输系统不失为一种廉价而且有效的构造方案。采用这种硬件构造方案必须配套以相应的传输工作软件实现不同区域的信息协调工作。 目前F ox Pro for Windows的流行使之日益成为我们程序设计的首选语言但FoxPro for Windows语言本身并未提供远程拨号通讯的设计功能。本文就此提出一种简单、实用的解决方案。

1.设计思想?

在FoxPro for Windows提供了一类特殊动态连接库

FoxTools.f ll。在这个动态连接库中提供了几十种实用的函数其中最为实用的是它提供了可直接调用Windows API的接口函数 RegFn()和CallFn () 。 Windows在其API提供了丰富的函数调用功能其中包含了如OpenComm() 、 Wr i teComm() 、 Clo se Comm()等实用的通讯函数功能。 FoxToo ls.FLL架起了它们之间沟通的桥梁。基于此我们就可以驾驭这些AP I函数实现我们所需要的通讯功能。

2. FoxTool s.FLL的导入

FoxTool s.FLL提供于FoxPro for Windows的安装目录FOXPROW的一级子目录下在编程过程中我们宜将FoxTool s.FLL放置于应用程序的主程序的开始部分 以便于后继程序的调用。通常对

FoxTools.f ll的导入命令格式如下

SET LIbrARY TO “FOXTOOLS.FLL” ADDITIVE?

如果我们在工程文件PROJECT中能用ADD命令加入库(L ibrary)文件将FoxTools.Fll的置于所生成的EXE文件中就可以避免在提交EXE文件时也必须附带FoxTool s.FLL的繁琐。

3.注册与执行AP I函数方法?

3. 1注册API函数?

采用FoxTools.FLL的RegFn()可以实现Windows API的函数的注册命令格式如下

R e gFn(AP I函数名称 参数类型 返回值类型 API函数库名称)

其中 〖ZK(〗AP I函数名称为我们所要登记的AP I函数名称。

参数类型为所要传递的参数类型共有六种

①I整型?

②L长型?

③S传址方式字符型?

④C传值方式字符型?

⑤F浮点型?

⑥D双精度型?

返回值类型为本函数调用返回值的类型有以下五种

①I整型?

②L长型?

③S传址方式字符型?

④F浮点型?

⑤D双精度型?

API函数库名称为容含所注册API函数库的名称注意需写明包括扩展名在内的全称如GD I.EXE等。

3.2执行API函数?

采用FoxTools.FII的CallFn()可以执行已注册成功的WindowsAPI的函数语法格式如下 ?

CallFn(API函数注册名称 调用参数1 调用参数

2

其中 API函数注册名称为我们在Re gFn()注册API函数后返回的名称。

调用参数为调用该AP I函数所需要的参数。

4.调制解调器设计函数?

Windows API函数中有关通讯的函数原型如下

4. 1 〖ZK(〗打开通讯信道函数OpenComm (

OpenComm(LPSTR 1pCommName WORD wInQueue WORD wOutQueue)

其中 1pCommName为通讯端口名称如LPT1、 COM1等?

wInQueue为所接受的数据队列的长度一般置为1024。

wOutQueue同上?

4.2 [ZK(]传递通讯信息函数Wr i teComm()\=

WriteComm(int nCid LPSTR 1pBuf int Size)\=

其中 nC id为OpenComm()函数返回的信道标志?

1pBuf为传输的缓冲内容?

Size为传输的缓冲大小?

4.3关闭通讯信道函数CloseComm(

CloseComm(nCid)

其中 nC id为OpenComm()函数返回的信道标志。

5.设计实例?

我们根据上述设计思想设计了一段程序说明远程通讯功能的具体实现方法该程序只是简单地完成一个通过电话线拨号功能。

Set Library to "Foxtools.fll" Additive &&打开数据库?

Open=RegFn("OpenComm" "CI I" "I") &&注册Open函数\=

Write=RegFn("Wri teComm" "ICI" "I") &&注册Wri te函数?

Close=RegFn("CloseComm" "I" "I") &&注册Close函数?

*[CDD 19*2]?[CDD 19*2] [HJ1.6mm]

*调用O p en函数打开C OM2通讯端口?

*[CDD 19*2]?[CDD 19*2] [HJ1.6mm]

Com2=Cal lFn(Open "COM2" 100 100)\=

*[CDD 19*2]?[CDD 19*2] [HJ1.6mm]

*设置拨号电话号码?

*[CDD 19*2]?[CDD 19*2] [HJ1.6mm]

Telno="ATTD 3608511"+chr(13)\=

*[CDD 19*2]?[CDD 19*2] [HJ1.6mm]

*调用Wr i t e函数拨号?

*[CDD 19*2] [CDD 19*2] [HJ 1.6mm]

Restcall=CallFn(Write Com2 Telno len(Telno))\=If Restcall0?

Wait Window "传输故障请检查线路!

Endif\=

*[CDD 19*2]?[CDD 19*2] [HJ1.6mm]

*调用Wr i t e函数结束传输?

*[CDD 19*2]?[CDD 19*2] [HJ1.6mm]

S="ATHO"+c hr(13)\=

Restcall=CallFn(Write Com2 S len(S))\=

If Restcall0?

Wait Window "传输故障请检查线路!

Endif\=

Restcall=CallFn(Close Com2)=

If Restcall0?

Wait Window "线路关闭故障请检查线路!

Endif?

6.结束语?

根据上述的设计思想我们可以实现基本的计算机远程拨号通讯功能。文中所述在中文Wind ows 3.2环境下用FoxPro for Windows

2.5b程序设计语言实现并通过。 ?

HostMem,最新优惠促销,全场75折优惠,大硬盘VPS特价优惠,美国洛杉矶QuadraNet机房,KVM虚拟架构,KVM虚拟架构,2核2G内存240GB SSD,100Mbps带宽,27美元/年

HostMem近日发布了最新的优惠消息,全场云服务器产品一律75折优惠,美国洛杉矶QuadraNet机房,基于KVM虚拟架构,2核心2G内存240G SSD固态硬盘100Mbps带宽4TB流量,27美元/年,线路方面电信CN2 GT,联通CU移动CM,有需要美国大硬盘VPS云服务器的朋友可以关注一下。HostMem怎么样?HostMem服务器好不好?HostMem值不值得购买?HostMem是一家...

创梦网络-江苏宿迁BGP云服务器100G高防资源,全程ceph集群存储,安全可靠,数据有保证,防护真实,现在购买7折促销,续费同价!

官方网站:点击访问创梦网络宿迁BGP高防活动方案:机房CPU内存硬盘带宽IP防护流量原价活动价开通方式宿迁BGP4vCPU4G40G+50G20Mbps1个100G不限流量299元/月 209.3元/月点击自助购买成都电信优化线路8vCPU8G40G+50G20Mbps1个100G不限流量399元/月 279.3元/月点击自助购买成都电信优化线路8vCPU16G40G+50G2...

百纵科技(19元/月),美国洛杉矶10G防御服务器/洛杉矶C3机房 带金盾高防

百纵科技官网:https://www.baizon.cn/百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格1H1G10M10G10G19元/月 购买地址2H1G10M10G10G29元/月 购买...

移动拨号vps为你推荐
责任编辑:纪春netbios端口netbios ssn是什么意思?itunes备份如何用iTunes备份iPhonewin7telnetwindows7旗舰版中telnet在哪fusionchartsFusionCharts连接数据库你是怎么解决的,能告诉我吗?谢谢啦ms17-010win10华为 slatl10是什么型号win7如何关闭445端口如何关闭WIN7自动配置 IPV4 地址 169.254360chrome360的chrome浏览器进程有点多哦???win7关闭135端口如何用命令关闭135端口迅雷雷鸟啊啊,想下载《看门狗》可13GB的大小,我每秒才450KB,我该怎么样才能大幅度地免费提高电脑下载
什么是虚拟主机 tk域名注册 河北服务器租用 万网域名代理 花生壳免费域名 budgetvm 密码泄露 国外免费空间 mysql主机 网站木马检测工具 广州服务器 卡巴斯基破解版 域名转入 大化网 umax asp空间 alexa世界排名 wannacry勒索病毒 服务器操作系统 超低价 更多