📄 ba21.htm
字号:
<HTML>
<HEAD>
<TITLE>用VB5.0开发通信软件的技巧</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
</head>
<p align="center"><script src="../../1.js"></script></a>
<BODY topMargin=4 vLink=#0000ff>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD height="52">
<DIV align=center>
<CENTER>
<table border=0 cellpadding=0 cellspacing=0 width=679 align="center">
<tbody>
<tr>
<td width=200 height="59">
</TD></TR><!--msnavigation--></TBODY></TABLE>
<table border=0 cellpadding=0 cellspacing=0 width="100%">
<tbody>
<tr><!--msnavigation--><td valign=top height="7667">
<div align=center>
<table border=1 bordercolor=#b9d9ff cellpadding=0 cellspacing=0
class=table width=755>
<center>
<tr>
<td width="100%" height="3">
<div align="center"> <strong><b>用VB5.0开发通信软件的技巧</b></strong></span></div>
</td>
</tr>
<tr>
<td
width="100%" class="unnamed1" height="7617">
<div align="left">
<p align="center"><br>
</p>
<p class="sfont"><font color="#ffffff">--- -</font></font>
一 自 己 开 发 通 信 软 件 的 必 要 性: <br>
<br>
随 着 计 算 机 应 用 领 域 的 不 断 扩 展, 计 算 机 之 间 的 远 程 通 信 用 得 越
来 越 广 泛. 进 行 计 算 机 通 信 需 要调 制 解 调 器(modem), 电 话 线 及 通 信 软
件. 尽 管 市 面 上 有 许 多 商 品 通 信 软 件, 但 是 在 许 方 情 况 下 商 品 通 信 软
件 并 不 能 满 足 实 际 工 作 的 需 要. 这 是 因 为 通 用 的 通 信 软 件 虽 然 能 发 送
和 接 收 文 件, 但 有 些 时 侯 是 不 适 用 的. 例 如 我 们 在 开 发 一 个EDI( 电 子
数 据 交 换) 应 用 系 统 时, 就 需 要 把 接 收 到 的 某 个 单 证 直 接 地 自 动 地 放
到 一 个 数 据 库 中, 作 为 一 条 记 录。 这 种 情 况 下 采 用 通 用 的 通 信 软 件 就
不 行 了, 需 要 开 发 自 己 专 用 的 通 信 软 件。 <br>
<br>
过 去, 开 发 通 信 软 件 对 于 一 般 的 应 用 软 件 开 发 人 员 来 说 是 比 较 困
难 的。 而 现 在 这 件 事 已 经 变 得 容 易 多 了。 本 文 介 绍 如 何 利 用VB5.0 和MSCOMM
控 件 开 发 通 信 软 件。 <br>
<br>
要 想 自 己 开 发 通 信 软 件, 除 了 要 掌 握VB5.0 的 基 本 编 程 语 言 以 外,
还 需 知 道 一 些 微 机 通 信 的 基 本 原 理。 如 有 关 串 行 端 口 及 调 制 解 调 器 的
基 本 知 识, 调 制 解 调 器 的 使 用 手 册 及AT 命 令 集 等。 这 在 许 多 书 中 都 可
以 找 到。 本 文 不 再 叙 述。 <br>
<br>
二 有 关 预 备 知 识 <br>
<br>
在 PC 机 串 行 端 口 与 调 制 解 调 器 进 行 连 接 时, 有 十 几 根 线 进 行 信 号
传 输。 对 于 用MSCOMM 控 件 编 制 通 信 软 件 来 说, 只 需 了 解 以 下 五 根 线 的
代 号 及 作 用。 以 下 五 根 线 的 高 电 平/ 低 电 平 状 态 分 别 对 应 MScomm 控 件
的 相 应 属 性 的 True/False 值。 <br>
<br>
(1) DTR 线:PC 发 往MODEM, 表 示 PC 机 是 否 已 准 备 好。<br>
(2) RTS 线:PC 发 往MODEM, 表 示 PC 机 是 否 允 许modem 发 回 数 据. <br>
(3) DSR 线: MODEM 发 往PC, 表 示MODEM 是 否 已 做 好 操 作 准 备 <br>
(4) CTS 线: MODEM 发 往PC, 表 示 MODEM 是 否 允 许 发 送 数据 <br>
(5) CD 线: MODEM 发 往PC, 表 示 MOEDM 已 经 与 呼 叫 的 远方 MODEM 处
于 连 结 状 态 <br>
<br>
三 MSCOMM 控 件 的 属 性 及 事 件 <br>
<br>
VB5.0 所 带 的 通 信 控 件 MSCOMM 易 学 易 用。 它 只 有 约30 个 属 性 和 事
件。 可 以 从VB5.0 的 联 机 帮 助 中 找 到 它的 全 部 资 料。 本 文 简 述 它 的 主 要
属 性 及 事 件, 并 加已 归 类 整 理。 以 下 用 MSCOMM1 表 示 在 窗 体 上 设 置 的 一个
MSCOMM 控 件 的 名 称 <br>
<br>
( 一) 通 信 参 数 设 置 <br>
<br>
(1) CommPort 属 性 <br>
语 法: MSCOMM1.CommPort [=Value] <br>
作 用: 设 置 或 返 回 联 接 MODEM 的 串 口 的 编 号。 <br>
值: 用1,2, ... 表 示 串 口 COM1,COM2 .... <br>
<br>
(2) Settings 属 性 <br>
语 法: MSCOMM1.Settings [=Value] <br>
作 用: 设 置 或 返 回 通 信 参 数。 <br>
值: String 型。 例 入 用 "19200,N,8,1" 表 示 传 输 速 率
为19200 bps, 没 有 奇 偶 校 验 位,8 位 数 据 位,1位停止位。 <br>
<br>
(3) Handshaking 属 性 <br>
语 法: MSCOMM1.Handshaking [=Value] <br>
作 用 与 值: 设 置 或 返 回 硬 件 握 手 协 议。 指 的 是PC机MODEM 之 间 为 了 控
制 流 速 而 约 定 的 内 部 协 议。 <br>
<br>
0 没 有 握 手 协 议。 不 考 虑 流 量 控 制。 <br>
<br>
1 XON/XOFF。 即 在 数 据 流 中 嵌 如 控 制 苻 来 进 行 流控。 <br>
2 RTS/CTS 。 既 由 信 号 线RTS/CTS 自 动 进 行 流 量 控 制。 <br>
3 两 者 皆 可。 <br>
注: 实 践 中 我 们 发 现 选 用 2( 即RTS/CTS) 是 很 方 便的。 <br>
<br>
( 二) 打 开/ 关 闭 端 口 <br>
<br>
(4) PortOpen 属 性 <br>
语 法: MSCOMM1.PortOpen [=Value] <br>
作 用: 打 开 或 关 闭 端 口。 <br>
值: Boolean 型。 设 为 True/False 可 以 打 开/ 关 闭 端 口。 <br>
<br>
( 三) 发 送 数 据 <br>
(5) OutBufferSize 属 性 <br>
语 法: MSCOMM1.OutBufferSize [=Value] <br>
作 用: 设 置 或 返 回 传 输 缓 冲 区 大 小。 <br>
值: Integer 型。 传 输 缓 冲 区 的 字 节 数。 例 如 可 选1024 。 <br>
<br>
(6) OutPut 属 性 <br>
语 法: MSCOMM1.OutPut [=Variant] <br>
作 用: 向 传 输 缓 冲 区 写 数 据 流。 <br>
值: Variant 型 变 量。 <br>
注: 传 输 文 本 数 据 时, 应 将 String 型 数 据 放 入Variant 变 量, 传 输
二 进 制 数 据( 即 按 字 节) 时, 应 将 Byte 型 数 组 数 据 放 入 Variant 变 量
<br>
<br>
( 四) 接 收 数 据 <br>
(7) InBufferSize 属 性 <br>
语 法: MSCOMM1.InBufferSize [=Value] <br>
<br>
<br>
作 用: 设 置 或 返 回 接 收 缓 冲 区 大 小。 <br>
值: Integer 型。 接 收 缓 冲 区 的 字 节 数。 例 如 可 选1024 。 <br>
<br>
(8) InputMode 属 性 <br>
语 法: MSCOMM1.InputMode [=Value] <br>
作 用: 设 置 或 返 回 接 收 数 据 的 数 据 类 型。 <br>
值: 0 用Input 属 性 接 收 文 本 型 数 据。 <br>
1 用Input 属 性 接 收 二 进 制 数 据。 <br>
<br>
(9) InBufferCount 属 性 <br>
语 法: MSCOMM1.InBufferCount [=Value] <br>
作 用: 返 回 接 收 缓 冲 区 中 已 传 到 但 还 未 取 走 的字 符 个 数。 值: Integer
型。 <br>
<br>
(10) Input 属 性 <br>
语 法: MSCOMM1.Input [=Variant] <br>
作 用: 将 接 收 缓 冲 区 中 收 到 的 数 据 读 入 变 量。 <br>
值: Variant 型 变 量。 <br>
注: 当InputMode 属 性 值 为 0( 文 本 模 式) 时, 变 量 中含 String 型 数
据。 <br>
当InputMode 属 性 值 为 1( 二 进 制 模 式) 时, 变 量 中含 Byte 型 数 组 数
据。 <br>
<br>
( 五) 状 态 控 制 <br>
(11) DTREnabled 属 性 <br>
(12) RTSEnabled 属 性 <br>
(13) DSRHolding 属 性 <br>
(14) CTSHolding 属 性 <br>
(15) CDHolding 属 性 <br>
<br>
以 上 五 个 属 性 即 如 二 所 述, 均 取 值 TRUE/FALSE, 用于 读 取 或 控 制 pc
机 与 modem 之 间 的 交 互 状 态。 需 运 用好。 例 如, 应 在 读 取 到 DSRHolding
属 性 值 为TRUE 时 再 向MODEM 发 出 命 令。 应 当 在 载 波 检 测 到 以 后(CDHolding
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -