vb发音程序,老师让我运行一段vb程序,是让电脑发出声音的

这里是定义DeclareSubDELAYLib"Port.dll"(ByValb%)DeclareSubOUTPORTLib"Port.dll"(ByValAdrAsIn... 这里是定义
Declare Sub DELAY Lib "Port.dll" (ByVal b%)
Declare Sub OUTPORT Lib "Port.dll" (ByVal Adr As Integer, ByVal Dat As Integer)
Declare Function INPORT Lib "Port.dll" (ByVal Adr As Integer) As Integer

主程序
Private Sub CommandButton1_Click()
For n = 1 To 100
OUTPORT 97, (INPORT(97) Or 2)
For t = 1 To 10000: Next t
OUTPORT 97, (INPORT(97) And 253)
For t = 1 To 10000: Next t
Next n
End Sub
有谁能逐行解释一下每一句编码的意思啊,,为什么这样写就能让电脑发声啊,比如outport(97)是什么,括号里inport又是什么意思,,很急啊,希望有知道的人解释一下 ,拖了很久了没解决,万分感谢!
我知道outport跟inport是输出跟输入,,,问题是为什么要是端口97啊,,为什么上面是INPORT(97) Or 2,下面是(INPORT(97) And 253),,这两个是什么意思,,为什么要先循环For n = 1 To 100,下面是For t = 1 To 10000: Next t,为什么这样写就能发出声音啊,,能不能回答仔细些,,所以才想有谁能逐行解释一下每一句。。。。不然还是不懂啊
展开
 我来答
wangtk1982
2011-11-23 · TA获得超过3742个赞
知道大有可为答主
回答量:3206
采纳率:100%
帮助的人:1453万
展开全部
97是硬件中断号 16进制就是61H

PC下 设备控制寄存器61H的第0位是时钟2开关
第1位就是扬声器开关

2变成2进制是 00000010
253的2进制是 11111101

or 2 就是把第1位设置成1 不改变其他位状态
and 253 就是把第1位设置成0 不改变其他为状态

For t = 1 To 10000: Next t 是消耗CPU时间的短延时

也即是说这个程序不断的打开关闭扬声器,简单说就是个扬声器输出一个方波。
所以可以播放声音,但声音肯定是个单音。。。。。
网海1书生
科技发烧友

2011-11-22 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
INPORT(97) 是从端口97读出数据
OUTPORT 97, x 是往端口97写入数据x
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jixing124
2011-11-22
知道答主
回答量:24
采纳率:0%
帮助的人:17.4万
展开全部
是调用windows api函数 前面是声明部分 分别用了过程DELAY 和函数OUTPORt、 INPORT
然后主程序调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
se14974
2011-11-22
知道答主
回答量:16
采纳率:0%
帮助的人:9.9万
展开全部
眼花
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx001z7d53
2011-11-22 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5663万
展开全部
进来看看别人是怎么混分的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式