《班级信息管理系统毕业论文.doc》由会员分享,可在线阅读,更多相关《班级信息管理系统毕业论文.doc(32页珍藏版)》请在三一办公上搜索。
1、班级信息管理系统 目录摘要2引言3课题背景4第一章 系统的分析2.1 系统开发的目标和思想42.2 系统的可行性分析52.3 系统开发工具简介6主要的控件及其基本属性,事件简介7数据库连接方式选择12第二章 系统的设计3.1 系统的功能结构设计143.2 系统与代码设计15谢词和结束语33参考文献34【摘要】班级管理系统用计算机管理班级信息的一种计算机应用技术的创新,在计算机还未普及之前班级管理都是由教师以及班干部来承担的方式来操作的.现在一般的学校都采用了信息化管理的方式即采用计算机作为工具的实用的计算机班级信息管理程序来帮助班主任进行更有效的班级管理。班级信息管理系统是典型的信息管理系统(
2、MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。引言课题背景班级管理系统用计算机管理班级信息的一种计算机应用技术的创新,在计算机还未普及之前班级管理都是由教师以及班干部来承担的方式来
3、操作的.现在一般的学校都采用了信息化管理的方式即采用计算机作为工具的。实用的计算机班级信息管理程序来帮助班主任进行更有效的班级管理。班级信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。第一章 系统的分析21 系统开发的目标和思想本系统主要服务于班主任以及班级管理人员方便管理班级事物的软件系统,在完成上述任务前提下力求界面人性化,数据处理的可靠以及程序的健壮性的性能.2. 2 系统的可行性分析技术上:本系统采用visual ba
4、sic 6.0与微软的access作为数据库,技术上开发难度一般.经济上:本系统服务于班主任以及班级管理人员,提高了工作人员办事效率,节省了开支.所以具有经济上的可行性.社会上:本系统同时也方便了广大学生以及学校管理者者,服务.所以具有社会可行性.2. 3 系统开发工具简介Visual Basic 6.0是Micrsoft公司出品的开发工具,Visual Basic是一种可视化的,面向对象的Windows开发语言,它具有易用,通用和开发效率高的特点。随着微软对它不断地改进以及计算机本身性能的提高,使得Visual Basic越来越适合一般的应用程序开发。正如Bill Gate所说,世界上绝大多
5、数的Windows应用程序是用Visual Basic编写的。在众多的开发工具中,我们为什么要选择Visual Basic6.0呢?因为VB具有众多其它开发工具所没有的优点!具体介绍如下:u 开发的高效u 语言的高效u 编译的高效u 执行的高效u 维护的高效基于以上理由,我们毫不忧郁的选择了VB6.0做为我们的开发工具!主要的控件及其基本属性,事件简介u 命令按钮类的控件:1) Caption属性:用来显示在控件上的标题。2) Enable属性:控制控件的激活状态灰色或可用。3) Appearance属性:值为1时,则以3D效果显示该控件,0则不然。4) Backcolor属性:用来改变在按钮
6、上显示图像的背景色。5) Cancel属性:该属性决定按钮是否为一个”取消”按钮。6) Default属性:决定哪一个命令按钮控件是窗体的缺省命令按钮.7) Font属性:控制各种文字字体类型.8) Left,top,height,width属性:设定控件的位置与大小.9) Style,picture属性:决定按钮的显示方式是否为图像形式出现.10) Visible属性:确定控件运行时是否为可见.11) Index属性:当控件为控件数组时,此属性值为该控件在数组的下标值.12) DownPicture属性:设置/返回一个对图片的引用,该图片在按钮被单击处于压下状态时显示。13) Disable
7、dPicture属性:设置/返回一个对图片的引用,该图片在控件无效时显示在控件中。14) MaskColor属性:设置/返回一个在按钮的图片中为“掩码“的的颜色15) Picture属性:设置返回commandButton控件中要显示的图片。u 命令按钮类的事件:1) 单击事件Click事件(1) 触发与适用此事件是在一个命令按钮对象上按下然后释放一个鼠标按钮时发生。命令按钮的Click事件仅对当单击鼠标时发生。(2) 事件处理过程按钮单击事件的处理过程为: Private Sub object-Click(Index As Integer)其中Object为引发该事件的对象名称。如果是命令按
8、钮的控件是数组,则需要使用Index参数标识该控件。2) 获得焦点GotFocus事件(1) 触发与适用 当命令按钮获得焦点产生该事件,获得焦点可以通过诸如Tab切换或单击对象之类的用户动作,或在代码中用SetFocus方法改变焦点来实现。(2) 事件处理过程命令按钮GotFoucs事件处理过程为:Private Sub Object-GotFocus(Index As Integer)3) LostFocus事件:当一个对象失去焦点时发生4) KeyDown事件:当命令按钮具有焦点时按下一个键时发生5) KeyUp事件:当命令按钮具有焦点时释放一个键时发生。6) KeyPress事件:当用户
9、按下或松开一个ANSI键时发生。7) MouseDown事件:当在命令按钮上按下鼠标按钮时发生。8) MouseMove事件:当命令按钮上移动鼠标时发生。9) MouseUp事件:当在命令按钮上释放鼠标按钮时发生。u 标签框类的控件类的控件:1) Caption属性:在应用程序界面上加入说明。2) Autosize属性:决定控件是否自动改变大小以显示其全部内容。3) Backstyle属性:用以指示标签是否透明.4) Bordstyle属性:用以设定控件是否有边框。u 文本框类的控件:1) Text属性:通过像text属性赋值的方法来改变该属性的值。2) Maxlength属性:该属性设定在文
10、本框控件中能够输入的最大字符数。3) Multline属性:该属性设定text字符串中是否接受换行符。4) Scrollbars属性:该属性决定是否为文本框加滚动条。5) Passwordchar属性:该属性设定输入文本的特殊显示字符,在设计密码程序时非常有用。6) Change事件属性:文本框的内容发生改变时,相应的控件之间发生相应的改变,具有即时性。7) Keypress:事件由用户在文本框控件中按任意键触发。8) Alignment属性:设定控件中的文本对其方式9) Appearance属性:设定一个对象在运行时是否可以3D效果显示。10) BackColor属性:设置返回背景色11)
11、BorderStyle属性:设置对象的边框样式12) DataField属性:设定数据使用者将被绑定到的字段名13) DataFormat属性:设定DataFormat对象,用于数据绑定14) DataMember属性:从数据供应程序提供的几个数据成员中返回/设定一个特定的数据成员15) DataSource属性:设定控件绑定的一个数据源16) DragIcon属性:设定图标,它将在拖放操作中作为指针显示17) DragMode模式:设定一个值,确定在拖放操作中所用方式18) Enabled属性:设置/返回运行时TextBox是否相应用户事件19) Font属性:设置/返回字体属性20) Fo
12、reColor属性:设置/返回文本的前景色21) Height属性:设置/返回TextBox的高度22) IMEMode属性:设置/返回数值用来确定输入方法编辑器的状态23) Index属性:设置/返回唯一的标识控件数组中该控件的编号24) Left属性:设置/返回TextBox控件的水平位置25) Locked属性:设置/返回TextBox中文本是否可编辑26) LinkItem属性:设置/返回DDE与另一个应用程序会话时,传给接受端的数据27) MaxLength属性:设置/返回一个值,指定在TextBox控件中能够输入的字符最大值28) MouseIcon属性:设置/返回自定义鼠标的图标
13、29) Top属性:设置/返回TextBox控件的垂直位置30) Tag属性:存储过程所需的附加数据u 文本框类的事件:Change事件:当改变文本框内容时发生1) Click事件:鼠标单击控件时发生2) DblClick事件:用鼠标左键双击控件时发生3) DragDrop事件:在一个完整的拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生4) DragOver事件:在拖放操作正在进行时发生5) GotFocus事件:当一个命令按钮获得焦点时发生6) LinkClose事件:当一个DDE对话结束时发生7) LinkError事件:当一个DDE对话框过程中出现错误时,该事件发生
14、8) KeyDown事件:当命令按钮具有焦点时按下一个键时发生9) Validate事件:在焦点转换到另一个控件之前发生,此时该控件的Causes Validation 属性值设置为Trueu 单选按钮类的控件:1) Caption属性:显示在控件上的文本,是单选按钮的标题。2) Alignment属性:决定单选按钮的标题在控件上的位置。3) Enable属性:该控件为灰色时为false,表示运行时不可用。4) Index属性:属性值表示为单选按钮组成的控件中某个按钮的索引值。5) Tabindex属性:建立控件时,vb自动为其分配一个tabindex值,利用tab键可以在控件之间切换焦点。6
15、) Value属性:反映控件状态的属性,返回true表示已选择了该按钮。7) Appearance 属性:设置/返回一个对象在运行时是否以3D效果显示。8) BackColor 属性:设置/返回背景色。9) Container 属性:设置/返回Form上的控件属性。10) DataField 属性:设置/返回数据使用者将被绑定到的字段名。11) DataFormat 属性:设置/返回DataFormat对象,一个绑定对象将附加到它。12) DisabledPicture 属性:设置/返回一个对图像的引用,该图片在控件无效时显示在控件中。13) DownPicture 属性:设置/返回一个对图片
16、的引用,该图片在控件单击下处于压下状态时显示。14) DragMode 属性:设置/返回一个值,确定在拖放操作中所用的方式。15) Font 属性:设置/返回字体属性。16) FontBold 属性:设置/返回字体粗体样式。17) FontItalic 属性:设置/返回字体斜体样式。 18) FontStrikethru 属性:设置/返回字体删除线样式。19) FontUnderLine 属性:设置/返回字体下划线样式。20) FontName 属性:设置/返回控件中显示文本所用的字体大小。21) FontSize 属性:设置/返回控件中显示文本所用的字体大小22) Height 属性:设置/
17、返回控件的高度。23) MaskColor 属性:设置/返回一个在控件的图片中作为掩码的颜色。24) MousePointer 属性:设置/返回一个值,该值指示在运行时当鼠标移动到对象上时显示的指针类型。u 单选按钮类的常用事件:1) Click 事件:鼠标单击控件时发生。2) DbClick事件: 当在一个对象上按下和释放鼠标按钮并再次按下和释放按钮时,该事件发生。3) DragDrop事件:在一个完整的拖放动作或使用Drag方法,并将其Action参数设置位2时,该事件发生。4) DragOver事件: 在拖放操作正在进行时发生。5) GotFocus事件: 当获的对象焦点时发生。6) L
18、ostFocus事件:当对象失去焦点时发生。7) KeyDown事件:当控件具有焦点时按下一个键时发生。8) KeyUp事件: 当控件具有焦点时释放一个键时发生。9) KeyPress事件:当用户按下或释放ANSI一个键时发生。10) MouseDown事件:当在控件上按下鼠标键时发生。11) MouseMove事件:在控件上移动鼠标时发生。12) MouseUp事件:在控件上释放鼠标时发生。u 复选按钮类的控件:1) Caption属性:缺省为check1。2) Index属性:该属性值为复选框控件数组的下标.3) Value属性:value为0表空白,为1表勾号,为2表示灰色勾号.4) C
19、ontainer属性:Form控件上的容器。5) DataChangeed属性:设置/返回一个值,指出被绑定的控件中的数据已经被某进程修改。6) DataField属性:设置或返回数据使用者将被绑定到的字段名。7) DataFormat 属性:设置或返回DataFormat对象,用于数据绑定。8) Datasource属性:设置或返回控件绑定的一个数据源。9) DisabledPicture属性:设置或返回一个对图片的引用,该图片在控件无效时显示在控件中。10) DownPicture 属性:设置或返回一个对图片的引用,该图片在控件被单击处于压下状态时显示。11) DragIcon属性:设置或
20、返回图标,它将在拖放操作中做为指针显示。12) DragMode属性:设置返回一个值,确定在拖放操作中所用方式。13) Font属性:设置或返回字体的属性。14) Name属性:设置或返回控件的标识名。15) Value属性:设置或返回控件的状态。u 复选按钮类的控件的基本事件:1) Click事件:鼠标单击控件时发生。2) DragDrop事件:在一个完整的拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生。3) DragOver事件:在拖放操作正在进行时发生。4) GotFocus事件:在对象获的焦点时发生。,5) OLECompleteDrag事件:当源部件被放到目标时
21、发生,并通知源部件拖放操作被执行或取消。6) OLEDragDrag事件:当源部件决定放操作能发生,却源部件被放到目标部件时,此事件发生。u 框架类的控件:1) List属性:列表框控件的表项是使用数组的方式保存,数组的每一个元素存储列表控件的一个表项1) Listcount属性:控件列表部分项目的个数。2) Mutselect属性:可以设置列表框为单选或允许多选属性.3) Selectd属性:标示一个数组,数组各元素为:4) Selected(0),selected(1)u 滚动条类的控件:1) Value属性:滚动条上滑块所在位置由value值所决定。2) Max和min属性:对value
22、值的最大,最小进行限制。3) Largechange属性:用户点击滚动条与键头之间的区域时,value的改变量。4) OnClick事件:用来添加按钮的单击事件所执行的程序代码。u 定时器类类的控件:1) Interval属性:表示定时的时间间隔,以毫秒为单位。2) Enable属性:为true时(缺省值),激活定时器开始计时;为false时处于休眠状态.数据库连接方式选择Visual basic6.0连接数据库的主要方式以下几种方式:一是:用data控件进行数据库链接 ,二是利用adodc(ADO Data Control)进行数据库链接 。三是: 利用DataEnvironment进行数据
23、库链接.四是利用ADO(ActiveX Data Objects)进行编程:现在我们来大致对这几种技术应用介绍:一、 用data控件进行数据库链接.第一步:给窗体添加一个Data控件。第二步:用Access建立一个名为Pad的数据库,在库中建立一个表Myset,给表添加四个字段:backcolor(数据),forecolor(文本),fontname(文本),fontsize(文本)。注意:请将库文件存入程序所在目录。 如果你的机器没安装有Access,可通过VB建库。二、 利用adodc(ADO Data Control)进行数据库链接:使用adodata控件访问数据库可以完全不用编写代码,
24、只需要通过简单的设置和操作其属性就可以实现与数据库的连接,通过绑定数据感知控件,就能提供一个访问数据库的界面,用来实现对数据库的浏览,贴加,删除,修改等操作.三、 利用DAO对数据库进行操纵:在visual basic 中提供了两种与jet数据引擎接口的方法:data控件与数据访问对象(DAO)DAO是database object的英文缩写,要访问数据库一方面数据库要提供访问接口,另一方面要在编程环境中有对数据库的支持.DAO模型是设计关系数据库系统结构的对象类的集合.他们提供了管理关系型数据库系统所需要的全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库
25、等.关系数据库介绍:关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。在数据库发展的历史上,最重要的成就就是关系模型。 关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。结构化查询语言SQL(Structured Query Language)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。目前已成为关系数
26、据库的标准语言MicrosoftAccess介绍:使用MicrosoftAccess,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。 如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义
27、的计算。 如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,MicrosoftAccess将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。第三章 系统的设计3.1系统的功能结构设计程序登陆主界面学生资料成绩管理量化考核组织机构班级事件班费管理管理员帮助31 系统的功能结构设计1.班费收入/支出表32 系统的数据库设计1.2.学生信息表:3.用
28、户密码表:4.课程信息表:3. 2 系统与代码设计1.收入界面代码分析:Private Sub cmd_boot_Click() On Error GoTo ero Data1.Recordset.MoveLast cmd_n.Enabled = False cmd_f.Enabled = Trueero:End SubPrivate Sub Cmd_f_Click()If Data1.Recordset.BOF True Then cmd_n.Enabled = True On Error GoTo ero Data1.Recordset.MovePreviousero: Else cmd_
29、f.Enabled = False cmd_n.Enabled = True Data1.Recordset.MoveFirst End IfEnd SubPrivate Sub Cmd_n_Click()If Data1.Recordset.EOF True Then cmd_f.Enabled = True On Error GoTo ero Data1.Recordset.MoveNextElse cmd_n.Enabled = False cmd_f.Enabled = True On Error GoTo ero Data1.Recordset.MoveLast End Ifero:
30、End SubPrivate Sub Cmd_top_Click() On Error GoTo ero Data1.Recordset.MoveFirst cmd_f.Enabled = False cmd_n.Enabled = Trueero:End SubPrivate Sub Command1_Click()Command4.Enabled = TrueOn Error GoTo ero1Data1.Recordset.AddNewero1:MsgBox 不能添加数据, , 提示End SubPrivate Sub Command2_Click()Command4.Enabled =
31、 TrueOn Error GoTo ero2Data1.Recordset.Deleteero2:End SubPrivate Sub Command3_Click()Command4.Enabled = TrueOn Error GoTo ero3Data1.Recordset.Editero3:MsgBox 不能编辑数据, , 提示End SubPrivate Sub Command4_Click()On Error GoTo eroData1.Refreshero:End SubPrivate Sub bfgly_Click()If isadtr = True Then If mu_g
32、ly = False Then MSFlexGrid1.Visible = False Command1.Visible = True Command2.Visible = True Command3.Visible = True Command4.Visible = True cmd_n.Visible = True cmd_f.Visible = True cmd_first.Visible = True cmd_last.Visible = True mu_gly = (Not mu_gly) bfgly.Caption = 收入Else MSFlexGrid1.Visible = Tr
33、ue Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False cmd_n.Visible = False cmd_f.Visible = False cmd_first.Visible = False cmd_last.Visible = False mu_gly = (Not mu_gly) bfgly.Caption = 班费管理员 End IfElseMsgBox 你不是管理员,你没有这个权限, , 提示End IfEnd SubPrivate
34、Sub Form_Load()Data1.RecordSource = select * from bfgl where money0 End Sub2.余额查询界面代码分析:Private Sub Form_Load()Data1.RecordSource = select sum(money) as 余额 from bfgl End Sub3.班级成绩管理班级成绩管理代码:Private Sub Command2_Click()End SubPrivate Sub Command1_Click()End SubPrivate Sub Cmd_ls_Click()MSFlexGrid1.Da
35、taSource = Data1MSFlexGrid1.RefreshEnd SubPrivate Sub cyy_avg_Click()On Error Resume NextData1.Recordset.AddNewData1.RecordSource = select int(20*avg(ps)/20 as 平时 ,int(20*avg(qz)/20 as 期中 ,int(20*avg(qm)/20 as 期未 from cyyData1.Recordset.UpdateData1.RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub cyy_Cl
36、ick()On Error GoTo eroData1.RecordSource = cyyData1.Refreshero:jgl_cyy.Visible = Falsejgl_english.Visible = Falsejgl_jk.Visible = Falsejgl_mz.Visible = Falsejgl_photoshop.Visible = Falsecyy_avg.Visible = Falseenglish_avg.Visible = Falsejk_avg.Visible = Falsemz_avg.Visible = Falsephotoshop_avg.Visibl
37、e = Falsejgl_cyy.Visible = Truecyy_avg.Visible = TrueLabel1.Caption = cyy.CaptionEnd SubPrivate Sub english_Click()Call Cmd_ls_ClickOn Error GoTo eroData1.RecordSource = englishData1.Refreshero:jgl_cyy.Visible = Falsejgl_english.Visible = Falsejgl_jk.Visible = Falsejgl_mz.Visible = Falsejgl_photosho
38、p.Visible = Falsecyy_avg.Visible = Falseenglish_avg.Visible = Falsejk_avg.Visible = Falsemz_avg.Visible = Falsephotoshop_avg.Visible = Falseenglish_avg.Visible = Truejgl_english.Visible = TrueLabel1.Caption = english.CaptionEnd SubPrivate Sub jgl_cyy_Click()On Error GoTo eroData1.RecordSource = sele
39、ct count(qm) as 期末人数 from cyy where qm=60 Data1.RefreshMSFlexGrid1.Refreshero:End SubPrivate Sub jgl_english_Click()On Error GoTo eroData1.RecordSource = select count(qm) as 期末人数 from english where qm=60 Data1.RefreshMSFlexGrid1.Refreshero:End SubPrivate Sub jgl_jk_Click()Data1.RecordSource = select
40、 count(qm) as 期末人数 from jk where qm=60 Data1.RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub jgl_mz_Click()Data1.RecordSource = select count(qm) as 期末人数 from mz where qm=60 Data1.RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub jgl_photoshop_Click()Data1.RecordSource = select count(qm) as 期末人数 from photosh
41、op where qm=60 Data1.RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub jk_avg_Click()On Error Resume NextData1.Recordset.AddNewData1.RecordSource = select int(20*avg(ps)/20 as 平时 ,int(20*avg(qz)/20 as 期中 ,int(20*avg(qm)/20 as 期未 from jk Data1.Recordset.UpdateData1.RefreshMSFlexGrid1.RefreshEnd SubPrivate
42、 Sub jk_Click()On Error GoTo eroData1.RecordSource = jkData1.Refreshero:jgl_cyy.Visible = Falsejgl_english.Visible = Falsejgl_jk.Visible = Falsejgl_mz.Visible = Falsejgl_photoshop.Visible = Falsecyy_avg.Visible = Falseenglish_avg.Visible = Falsejk_avg.Visible = Falsemz_avg.Visible = Falsephotoshop_a
43、vg.Visible = Falsejgl_jk.Visible = Truejk_avg.Visible = TrueLabel1.Caption = jk.CaptionEnd SubPrivate Sub mz_avg_Click()On Error Resume NextData1.Recordset.AddNewData1.RecordSource = select int(20*avg(ps)/20 as 平时 ,int(20*avg(qz)/20 as 期中 ,int(20*avg(qm)/20 as 期未 from mz Data1.Recordset.UpdateData1.
44、RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub mz_Click()On Error GoTo eroData1.RecordSource = mzData1.Refreshero:jgl_cyy.Visible = Falsejgl_english.Visible = Falsejgl_jk.Visible = Falsejgl_mz.Visible = Falsejgl_photoshop.Visible = Falsecyy_avg.Visible = Falseenglish_avg.Visible = Falsejk_avg.Visible = Falsemz_