版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 CAI教学软件中数据的分割(1) 本文使用面向对象的高级语言Visual Basic6.0设计了一套既能编辑,又能应用于教学演示的高级CAI软件。使用本软件,用指定的格式输入CAI数据,并在其中设置断点;同时,用本软件进行播放,可实现模拟教学目的。本文着重论述了如何输入数据、分割数据和显示数据的算法。Abstract:Using the advanced language Object Oriented -Visual Basic 6.0, the au
2、thor developed a set of advanced CAI software, which can be used in data editing and teaching. This software can be used to input CAI data in assigned format and set breakpoints. At the mean time, it can be used to display data in order to realize the objective of simulated teaching. This article em
3、phasizes on the algorithm of data input, data split and data display.随着计算机的普及和网络技术的发展,计算机辅助教学(CAI)越来越受到人们的重视。但纵观目前流行的CAI软件,大多只能进行简单的放映,而不具备编辑能力,为数很少的几个能够编辑的软件,操作又很复杂,不能针对教学特点。基于此,作者设计了一个既能编辑,又能放映的CAI软件,该软件高度集成,易学易用。 1 数据的输入 数据的输入
4、采用了类似超文本语言的方法,规定了若干关键字。如:“”表示一个特定的指令的开始;又如:“titl2、光的性质”,titl:表示后边的内容是一条标题,位于“”之间的数据为标题的内容,“”为范围限定符。所有的符号都可以在编辑状态下的屏幕上找到。如图一是编辑状态的一角,左边 图 1 编辑状态为文字区,右边为指令区。 Fig.1 edit status 2 数据的分割
5、数据的分割分为两个步骤进行: 第一步:把文章以字形为根据分解成段落。字形的标识与命令标识相关。程序如下: '把整个一页分成若个段落Public Sub FunDivide(ByRef SourceStr As String, ByRef Destination As String, ByRef Position As Integer, ByRef propName As String)Dim ControllCode As StringDim codCommand As String
6、0; 1 Dim ss As String Dim SourceLen As Long SourceLen = Len(SourceStr) Destination = ""
7、60;ControllCode = Mid(SourceStr, Position, 1) If (ControllCode = "") Then Position = Position 1 codCommand = Mid(SourceStr, Position, 4) propName = codCommand Position = Posit
8、ion 4 codCommand = Mid(SourceStr, Position, 1) If codCommand = "" Then Position = Position 1 ss = Mid(SourceStr, Position, 1) Do While ss <> ""
9、0; ss = Mid(SourceStr, Position, 1 If ss <> "" Then Destination = Destination ss End If Position = Position 1 Loop
10、 End If End IfEnd Sub第二步:把段落分别地分成一行一行,为向标签框内填充作准备。分行的依据是除去控件和图形的区域。图形位于右上角,用一条水平线和竖直线来分界。'分段为块Public Sub LineDivide(ByRef afterDivide As String, ByVal Source As String, ByVal ScaleLO As Integer) Dim LL As Integer
11、60; Dim Ls As String Dim start As Integer start = 1 LL = Len(Source) Do Ls = Mid(Source, start, ScaleLO) start = start ScaleLO If afte
12、rDivide = "" ThenafterDivide = Ls 2 Else afterDivide = afterDivide Chr(13) Chr(10) Ls End If Loop While (start <= LL)End Sub
13、这两个全局函数位于标准模块basCommFun.bas中,同时,在该模块中定义了许多全局变量和常量,用来监控程序的运行状态。如:Option ExplicitPublic jobStatus As Integer 'jobStatus=0 第一界面状态 'jobStatus=1 编辑界面模式 'jobStatus=2 教学界面模式Public Const Margin = 50 Pu
14、blic Const ZLF = 180 '小五号字的大小TwipPublic Const ZF = 210 '五号字的大小Twip。正常显示内容。Public Const ZLFo = 240 '小四号字的大小TwipPublic Const ZFo = 285 '四号字的大小TwipPublic Const ZLT = 300
15、39;小三号字的大小Twip。标题。Public Const ZT = 315 '三号字的大小Twip3 数据的演示在数据显示时,首先在窗体上放置若干个标签框和四个图片框,并使他们处于不可见状态。在运行编辑时,显示用的控件都不可见;在运行演示时,编辑用的控件都不可见。通过控制变量jobStatus来实现这种功能。显示程序如下:Private Sub cmdPreview_Click() Dim dspContent(2, 10) As String
16、Dim Counter As Integer Dim JJ As Integer Dim picLeftside As Integer Dim picBottom As Integer Dim chrNum As Integer picLeftside = 0 picBott
17、om = 0 Dim LsStr As String picLeftside = frmMainForm.Width 图 2 运行状态picBottom = frmMainForm.Top Fig 2 run statusCounter = 0
18、160; 摘本文使用面向对象的高级语言Visual Basic6.设计了一套既能编辑,又能应用于教学演示的高级CAI软件。使 本篇论文是由3COME文档频道的网友为您在网络上收集整理饼投稿至本站的,论文版权属原作者,请不用于商业用途或者抄袭,仅供参考学习之用,否者后果自负,如果此文侵犯您的合法权益,请联系我们。For JJ = 0 To 3
19、0; If picFigure(JJ).Picture Then 3 With frmMainForm .picFigure(JJ).Left = .Width - Margin 100 - picFigure(JJ).Width .
20、picFigure(JJ).Visible = True If JJ = 0 Then picFigure(JJ).Top = .Top 1 picBottom = picBottom .picFigure(JJ).Top .picFigure(JJ).Height Else .picFigure(JJ).Top = .picFigure(JJ - 1).Top
21、 .picFigure(JJ - 1).Height picBottom = picBottom .picFigure(JJ).Height End If End With End If picLeftside = frmMainForm.picFigure(0).Left Next JJ
22、0; 以上程序段用于计算图片框组的左边和累加起来的底边,分存储于变量picLeftSide和pciBottom中。用这两个变量在右上角上划出了一个区域,以保证文本不会显示在图形后面。 For JJ = 0 To 9 frmMainForm.lblDisplayContent(JJ).Left = 1 Next frmMainForm.txtContent.
23、Visible = False frmMainForm.cmdPreview.Visible = False frmMainForm.cmdPreviewClose.Visible = True 上面的语句用于切换到预览状态或是关闭编辑状态。 Dim LL As String Dim start As Integer
24、160; start = 1 4 实例运行frmMainForm.txtContent = "titl 第一章 简谐振动text 物体运动时,如果离开平衡位置的位移(或角位移)按余弦函数(或正弦函数)的规律随时间变化,则这种运动称为简谐振动,简称谐振动。简谐振动是一种最简单和最基本的振动,一切复杂的振动都可以看作是由若干个简谐振动合成的结果。text 如图所示的弹簧振
25、子,当水平放置时,弹簧为原长,物体所受的合力为零,处于平衡状态,此时物体所在的位置就是平衡位置,如果把物体略加位移后释放,这时由于弹簧被拉长或压缩,便有指向平衡位置的弹性力作用在物体上,迫使物体返回平衡位置。这样,在弹性力的作用下,物体就在其平衡位置附近作往复运动。text 据胡克定律,物体所受的弹性力与弹簧的伸长即物体相对平衡位置的位移成正比,由此可推出弹簧振子的运动是简谐振动。” 1、把文件分割成段落,并显示文本 &
26、#160; 4 LL = frmMainForm.txtContent.Text Do While (Len(frmMainForm.txtContent.Text) > start) Call FunDivide(LL, dspContent(1, Counter), start, dspContent(0, Counter) Counter = Counter 1
27、160;Loop2、把段落分割成行 For JJ = 0 To Counter With frmMainForm .lblDisplayContent(JJ).Left = 1 3、计算行宽和判断字号 If dspContent(0, JJ) = "titl" Then .lblDisplayConte
28、nt(JJ).FontSize = 15 chrNum = (picLeftside - 2 * Margin - 100) / ZLT ElseIf dspContent(0, JJ) = "text" Then .lblDisplayContent(JJ).FontSize = 10.5 chrNum = (picLeftside - 2 * Margin - 100) / ZF Else End If LsStr = ""
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生儿护理常规试题附答案
- 用工合规测试题目及答案
- 医疗器械风险管理培训试题及答案
- 职校志愿者面试必知题目及答案
- 种子检验学复习题及答案
- 2025年广东省肇庆市高三地理上册期中考试试卷及答案
- 证券从业资格考试题库(含答案)
- 2025年江西专升本大学语文真题及答案
- 2025年江西历史(专升本)真题及答案
- 2026年内蒙古公务员行测真题试卷及答案
- 塔吊作业防碰撞安全技术与管理培训
- 美术作品分析范例:《清明上河图》的叙事与空间
- 2026新疆水利水电安全员(水安ABC)考试题库及答案
- 北京市实验动物上岗证培训考试题库(完美精-编)
- 预应力张拉悬空作业安全技术措施培训
- 新版部编人教版六年级上册道德与法治(课件)第11课 做守法公民
- 2026年江阳区社区工作者招聘笔试真题(附答案)
- 2026年人教版新九年级英语上册 Unit 1 The Changing World (单元测试卷)
- 2026年《人工影响天气管理条例》试题库及答案
- 2026KDIGO临床实践指南:慢性肾脏病贫血的管理
- 储能电站质量管理控制方案
评论
0/150
提交评论