中华企业文化网为全国企业文化工作者提供发言立论的广阔空间、为企业家探讨、交流企业文化建设经验,借鉴企业文化案例、企业文化资料下载的友好平台
 会员名:   密码:   用户注册 站内搜索 个人设置 站内短信
敬告:本网只供广大用户进行企业文化建设领域的交流探讨,敬请各位用户不要发表无关文章,尤其严禁发表任何违反中国法律、政治的言论。
发一篇偶的论文..老师说太简单..
2007年06月11日 08:38 zengyan0114 浏览:1822次
回复主题 中华企业文化网企业文化论坛文化娱乐文学娱乐论坛 逆序 顺序
会员 正文
zengyan0114
新手上路
新手上路


阅读会员资料 发送站内短信
加入时间: 2007/06/11
帖子总数: 1
个人积分: 0
发一篇偶的论文..老师说太简单.. 楼主 引用回复

Visual Basic 6.0 下快速制作安装程序技巧及用VB6开发一些CAI课件
摘要 1 利用VB下快速制作安装程序的方法. 2 利用VB编写多媒体课件,主要解决动画、声音、图片、文本的显示、播放与控制等问题,本文介绍一些有关的编程技巧和关键技术。
目录: 一。快速制作安装程序技巧
       二。开发一些的CAI课件
关键词  PDM VB 多媒体 课件
 
一。快速制作安装程序技巧


   Visual Basic 6.0(VB6)为用户最终发布应用程序提供了一个打包工具(Package),它能帮助用户为VB6应用程序创建安装程序,并将它们安装到最终用户的机器上。我们往往有这样的经历,就是对一个在其环境下开发的应用程序,最终需要在VB下完成界面制作、发行等任务,这时用Package发行应用程序就成了一个问题。因为Package只能对在VB项目中的文件进行打包。在制作过程中有一个步骤需要用户添加一些工程外的文件,该步骤中的打开文件对话框是没有提供文件多选功能,因此在添加文件时只能一个一个地添加,因此一旦要发行的文件很多时,添加各个文件不但是一个费时而且是一个繁琐、机械性重复的工作.
 针对以上问题,笔者仔细研究了Package的工作原理。原来在Package运行后,形成一个与应用程序同名而后缀为Pdm的文本文件,该文件记录了Package在工作过程中收录的所有信息。因此要想快速发行程序,需要从该PDM文件入手。
  Pdm文件由多个Session组成,其中有一个Session为[Files Added],在Package向导生成安装文件过程中所要求添加的文件全部放在这里。那么,是不是直接把所有要发行的文件名称手工加到这里能达到同样的目的呢,笔者试着加了几个,果然如此。但是如果要手工改这个pdm文件仍然不是上策,所以还要想一想其它方法。
  在Ms-Dos方式下,转到要发行的文件所在的目录,执行“dir *.* >stup.txt”命令,这样,就可以轻松地将该目录下的所有文件名存贮为一个纯文本格式文件stup.txt,只要将该文件稍微编辑一下,然后将所要的所有文件名拷贝到Pdm文件里[Files Added]段即可。
  笔者用上述方法,在很短的时间里即完成了约有400个文件的添加任务,顺利制作了安装程序。而在传统的方法下,光添加文件这一项工作就需要约一个多小时。
 二。开发简单的CAI课件 
  Visual Basic采用面对对象的程序设计思想,且继承了Basic简单易学的特点,功能强大被很多课件的开发者所青睐,它和许多课件开发平台相比,具有更好的灵活性,可以充分的实现开发者的意图,是开发多媒体程序的利器,下面是我用 Visual Basic 编写课件的一点经验。
   1.播放FLC动画
FLC动画是表示物理量之间的联接关系及运动关系有利工具,我采用vbplay.vbx控件播放动画。使用该控件,必须有aaplay.dll文件同时存在。
①播放动画前判断是否有动画文件,有则播放:
 if dir("文件名.flc")<>""then
    animation1.animation="文件名.flc"
    animation1.visible=true
End If
②为了看清物理量某一状态,动画需要在某一帧暂停:
 Private Sub pausebtn_Click()
 If animation1.Pause Then
    animation1.Pause = False
 Else
   animation1.Pause = True
 End If
End Sub
③ 动画向前退一帧:
  Private Sub back_Click()   
 animation1.PositionFrame = animation1.PositionFrame - 1
End Sub
2.声音的播放
   为了使用者更好的理解并撑握软件所讲知识,增强学习效果,声音 解说在多媒体课件中起着十分重要的作用。声音可用windows的录音机 录制。是否声音播放可由使用者控制,也可实现声音的暂停。下面是 利用MCI控件实现声音的播放。
 Public Const mci_mode_close As Integer = 524
 Public Const mci_mode_play As Integer = 526
 Public Const mci_mode_pause As Integer = 529
 Private Sub sound_Click()
 '如果声音正在播放则暂停或继续播放
 If (Not MMControl1.Mode = mci_mode_pause) And     (MMControl1.Mode = mci_mode_play) Then
   MMControl1.Command = "pause"
  Else
    '播放解说词
    MMControl1.DeviceType = "WaveAudio"
    MMControl1.filename =&nbsp; "文件名.wav"
    MMControl1.Shareable = False
    MMControl1.UpdateInterval = 50
    MMControl1.Notify = True
    MMControl1.Command = "open"
    MMControl1.Command = "prev"
    MMControl1.Command = "play"
  End If
  End Sub
  '===========================================
  '如果解说已播放结束,则关闭媒体播放器
  Private Sub MMControl1_Done(NotifyCode As Integer)
  If MMControl1.Position = MMControl1.Length Then
     MMControl1.Command = "close"
  End If
  End Sub
3.图形按钮编程实现
虽然VB提供了标准的Windows按钮,但在多媒体课件中使用带指示声音的图形按钮发挥多媒体计算机的优点,使程序界面更美观,操作更方便,大大的提高多媒体课件的教学效果。
①先用photonshop作三个图片,代表按钮的三种状态,并命名为move.bmp,normal..bmp,down.bmp,用    windows下的录音机录制二个声音文件,命名为:mover.wav,down.wav 。
②利用API函数播放声音,函数定义如下:
#If Win32 Then
  Declare Function playsound Lib "WinMN" (ByVal SoundName As String, ByVal handle As Integer, ByVal Flags As Long) As Integer
 #Else
   Declare Function playsound Lib "MMSystem" (ByVal SoundName As String, ByVal handle As Integer, ByVal Flags As Long) As Integer
#End If
Public Const snd_nodefault = &H2
Public Const snd_sync = &O0
Public Const snd_filename = &H20000
③在窗体上画picture控件,picture1.autosize=true,picture1.borderstyle设置为0-none,picture1.picture设置为normal.bmp。
④编程如下:
'============================================================
'当光标在窗体中时,按钮处于正常状态
Private Sub Form1_MouseMove()
 picture1.picture=loadpicture("normal.bmp")
 mark=false
End Sub
'============================================================
'当光标在按钮上移动时,按钮处于激活状态,且播放声音 mover.wav
Private Sub Picture1_MouseMove()
if mark then
 picture1.picture=loadpicture("move.bmp")
 playsound "mover.wav",0,snd_sync or snd_nodefault or snd_filename
 mark =true
end if
end sub
'============================================================
'当鼠标右键按下时,按钮处于按下状态
Private Sub Picture1_MouseDown()
 picture1.picture=loadpicture("down.bmp")
end sub
'=========================================================
当鼠标右键弹起时,按钮处于激活状态
Private Sub Picture1_MouseUp()
 picture1.picture=loadpicture("move.bmp")
end sub
'==========================================================
'单击按钮时,播放down.wav
Private Sub Picture1_Click()
 playsound "down.wav",0,snd_sync or snd_nodefault or snd_filename
end sub
4.用图形滚动条实现菜单选择
当某类机构有多个项时,使用下拉菜单选择,下拉菜单过长,操作复杂,且下拉菜单为windows95方式,影响程序美观。为此,我采用图形滚动条实现菜单选择,作法如下。
①用photonshop作一小BMP图,用来表示滚动条中的滑块,取名为hk.bmp。
②在窗体中放一lable控件,设置属性borderdtyle为1-Fixed single,backstyle为0-transparent,caption为空,适当调节lable的高度及宽度,name为Lable1。
③在窗体中紧挨Lable1放置一sspanell控件,调节其高度及宽度与Lable1的高度宽度相等,bevellnner为1-inset,bevellouter为0-none,bevellwidth=1,borderwidth=0,name为sspanell1。
④在sspanell1中放置一picture控件,将borderstyle设置为0-none,调节其宽度及高度为适当值,并在其中放置要选取择的项(用lable控件或imager控件表示),命名为picture1。
⑤在lable1中放image控件,设置picture为hk.bmp,borderstyle为1-fixed single,调节其高度及宽度。
⑥程序如下:
'======================================================================
'当鼠标右键在滚动条的滑块上按下时,将标志置为真
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
vscroll_m = True
End Sub
'=======================================================================
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'滑块可移动范围
temp1 = lable1.height+lable.top-image1.height   '上限
temp2 = lable1.top期                                      '下限
If vscroll_m Then
  top_m = Image1.Top + Y
   If top_m > temp1 Then
     top_m =temp1
    ElseIf top_m < temp2 Then
      top_m = temp2
     End If
'移动滑块
Image1.Top = top_m
'计算滑块移动后,对应的菜单区应移动的距离
Picture1.Top = -(top_m -temp2 ) *picture1.height/lable1.height
End If
End Sub
'=======================================================================
'当鼠标右键在滚动条的滑块上弹起时,将标志置为假
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
vscroll_m = False
End Sub



 从开始制作毕业设计到结束总共用2个多月时间 在这两个月的时间里 我阅读了大量文献和有关VB的专业知识 感觉收益匪浅 尤其是在对做CAI课件的研究 在上上学期 我也帮老师做过类似的课件不过都是平面的简单的图片以及文字的联接而已 这次真真正正动说自己制作会动的 能发声的课件

2007-6-11 08:38
suifengwu
新手上路
新手上路


阅读会员资料 发送站内短信
加入时间: 2007/08/16
帖子总数: 6
个人积分: 0
第 2 楼 引用回复

字数太少了把
2007-8-16 12:28
独孤婷婷
新手上路
新手上路


阅读会员资料 发送站内短信
加入时间: 2007/11/13
帖子总数: 21
个人积分: 2
o 第 3 楼 引用回复

2007-11-13 13:59
xl673
新手上路
新手上路


阅读会员资料 发送站内短信
加入时间: 2008/05/04
帖子总数: 17
个人积分: 2
是不是不够深入? 第 4 楼 引用回复

?
2008-5-04 21:24
回复主题 中华企业文化网企业文化论坛文学娱乐论坛
论坛转跳:  
1页,共1
幽默笑话
English garden
转载请拷贝 (来源:中华企业文化网) 在文章中 请勿侵权以免纠纷 法律顾问:刘兴成
Copyright 2004-2008 ◎ sinoec.net All Rights Reserved
中华企业文化网 版权所有 京ICP备05029940号 站长:梁喜生 咨询师