
本示例演示了如何用类模块定义类(然后可以用它创建对象)。还将展示如何为新的类创建属性和方法并演示对象是如何创建和撤消的。
打开一个新的“标准 EXE”工程,在“工程”菜单中选中“添加类模块”插入一个类模块。在窗体上画四个按钮。下表列出了本示例中要设置的对象属性值。
对象 属性 设置值
Class 类模块 Name Thing
Command1 Caption 显示该 Thing
Command2 Caption 颠倒该 Thing 的名称
Command3 Caption 创建新的 Thing
Command4 Caption 临时的 Thing
注意 类模块保存在扩展名为 cls 的文件中。
添加下列代码到类模块的声明段:
Option Explicit
Public Name As String
Private mdtmCreated As Date
变量 Name 将成为 Thing 对象的属性,因为它声明为 Public。
注意 不要把这个 Name 属性和上表设置的类模块的 Name 属性混淆(类模块的 Name 属性为 Thing 类提供了名称)。为什么要给 Thing 类命名呢?最好应该反过来问,为什么不?应该给 Thing 类一个名称因为事物总是有名称的!应该知道 Visual Basic 使用属性和方法的名称并没有什么特殊点。可以为自己不同的类使用相同的属性和方法名。
变量 mdtmCreated 是私有数据成员,用于存储只读的 Created 属性的值。Created 属性返回 Thing 对象产生的日期和时间。为了实现 Created 属性,将以下 Property Get 代码添加到类模块的声明部分:
Property Get Created() As Date
Created = mdtmCreated
End Property
注意 如果通过“工具”菜单下的“添加过程”对话框添加属性过程,应确认删除了 Property Let 声明,它是通过本对话框自动添加的。Property Let 只用于读写属性,参见“运用属性过程”部分。
Thing 对象有一个方法 ReverseName,用于颠倒 Name 属性的字母顺序。它不返回值,因此是一个 Sub 过程。向类模块添加以下 Sub 过程。
Public Sub ReverseName()
Dim intCt As Integer
Dim strNew As String
For intCt = 1 To Len(Name)
strNew = Mid$(Name, intCt, 1) & strNew
Next
Name = strNew
End Sub
类模块有两个事件:Initialize 和 Terminate。从类模块的“对象”下拉列表中,选择“类”。下拉出的“过程”列表将显示事件。将以下代码放到事件过程中:
Private Sub Class_Initialize()
'设置对象创建的日期/时间,
' 由只读的 Created 属性返回。
mdtmCreated = Now
'显示对象属性。
MsgBox "Name: " & Name & vbCrLf & "Created: " _
& Created, , "Thing Initialize"
End Sub
Private Sub Class_Terminate()
'显示对象属性。
MsgBox "Name: " & Name & vbCrLf & "Created: " _
& Created, , "Thing Terminate"
End Sub
一般 Initialize 事件包含了对象创建时所需的所有代码,如为 Created 属性提供时间标记。Terminate 事件包含撤消对象后进行清理的所有代码。
本示例中,两个事件主要用来提供 Thing 对象创建或撤消的可视化指示。
Thing 对象的使用
添加以下代码到窗体模块的声明段:
Option Explicit
Private mth As Thing
变量 mth 保存了对一个 Thing 对象的引用,该对象是在窗体的 Load 事件中产生的。将以下代码分别添加到 Form_Load 事件过程及四个按钮的 Click 事件过程中。
Private Sub Form_Load()
Set mth = New Thing
mthName = InputBox("Enter a name for the Thing")
End Sub
'按钮“显示该 Thing”
Private Sub Command1_Click()
MsgBox "Name: " & mthName & vbCrLf _
& "Created: " & mthCreated, , "Form Thing"
End Sub
'按钮“颠倒该 Thing 的名称”
Private Sub Command2_Click()
mthReverseName
'单击“显示该 Thing”
Command1Value = True
End Sub
'按钮“创建新的 Thing”
Private Sub Command3_Click()
Set mth = New Thing
mthName = InputBox( _
"Enter a name for the new Thing")
End Sub
'按钮“临时的 Thing”。
Private Sub Command4_Click()
Dim thTemp As New Thing
thTempName = InputBox( _
"Enter a name for the Temporary Thing")
End Sub
运行工程
按 F5 键运行该工程。观察 Form_Load 事件过程可知 New *** 作符用于创建 Thing 对象。对该对象的引用赋给了变量 mth。
InputBox 函数要求输入 Thing 的名称。输入名称并按 ENTER 键后,返回值被赋予 Thing 对象的 Name 属性。
显示窗体 Thing
可以通过按下第一个按钮“显示该 Thing”来验证所赋的 Name 属性值,此时将显示一个包含了 Thing 对象所有属性的消息框。
颠倒 Thing 的名称
按第二个按钮“颠倒该 Thing 的名称”。该按钮调用 ReverseName 方法把 Thing 对象的名称倒过来,然后按第一个按钮显示更新过的属性值。
创建新的 Thing
单击“创建新的 Thing”按钮撤消已存在的 Thing 对象后再创建一个新的对象。(或,反过来进行,创建一个新的 Thing 对象然后撤消旧的。)
New *** 作符创建一个新的 Thing,因此可以看见新 Thing 的 Initialize 事件显示的消息框。单击“确定”,对新 Thing 的引用被赋给了窗体级的变量 mth。
这样做清除了对旧的 Thing 的引用。由于不再有引用,所以它被撤消,因此可以看到 Terminate 事件的消息框。单击“确定”后,InputBox 语句要求输入新 Thing 的名称。
注意 如果希望在创建新的 Thing 之前撤消旧的,可以添加代码 Set mth = Nothing 到事件过程的开始部分。
临时的 Thing
第四个按钮演示了对象存活期的另一个方面。按下后,将提示输入临时 Thing 的名称。
可是等一等,这还不是一个临时的 Thing 对象。还没有见到其 Initialize 消息框,怎么赋给它名称呢?
由于变量 thTemp 已被 As New 声明过了,因此当一个属性或方法被使用时就会创建 Thing 对象。这将发生在输入框返回的值被赋给 Name 属性时。在输入框键入名称后单击“确定”。
此时可以看到 Initialize 的消息框,其中的 Name 属性还是空白。当单击“确定”关闭消息框后,InputBox 语句的值终于赋给了 Name 属性。看看这一行代码作了多少事。
当然,当完成了这一切后,Click 事件过程也结束了,变量 thTemp 也超出可见范围,对临时 Thing 的对象引用也被释放,因此可以看到 Thing 的 Terminate 消息框,注意其中包含所提供的名称。
每次单击该按钮将创建另一个临时 Thing,并进行命名,将它撤消。
关闭程序
单击窗体的“关闭”按钮可终止应用程序。不要使用工具栏上的 End 按钮。应用程序终止时,Form1 被撤消。变量 mth 也超出可见范围,Visual Basic 清除对 Thing 的引用。由于已不存在对 Thing 的引用,因此被撤消并显示 Terminate 事件的消息框。
再次运行应用程序,这次用工具栏上的 End 按钮终止程序。注意这时没有显示 Thing 对象的 Terminate 消息框。
应特别记住使用 End 按钮终止应用程序或在代码中用 End 语句立即退出应用程序,并不能运行任何对象的 Terminate 事件。最好能通过卸载所有的窗体来关闭应用程序。
通过 F8 键以每次运行一行代码的形式运行示例,是一个很有用的方法。这有利于理解创建和撤消对象的事件的顺序。
重点 在实际的应用程序中,Initialize 和 Terminate 事件不应包含消息框或其它任何使 Windows 显示消息的代码。一般来说,调试对象的存活期时最好用 DebugPrint 语句。
微信小程序onreachbottom怎么判断到最底部:
设置JavaEdit的内容:
JavaDialog("Add NE")JavaEdit("NE Name")Set "NE1"
读取JavaEdit的内容:
msgbox JavaDialog("Add NE")JavaEdit("NE Name")GetROProperty("value")
微信小程序介绍:
微信小程序(wei xin xiao cheng xu),简称小程序,缩写XCX,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。
全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。小程序、订阅号、服务号、企业号是并行的体系。
1软件的知识产权保护
计算机软件的知识产权保护》从理论和实务两方面介绍和讨论了计算机软件的知识产权保护问题。第一章首先介绍了国际社会对计算机软件保护制度的探索以及笔者对于建设我国计算机软件知识产权制度框架的建议,认为当前对于计算机软件应该以著作权法为基础,同时依靠专利、商业秘密等方面的法律对其实施综合保护。第二章至第四章分别讨论了对计算机软件实施著作权保护、专利保护以及商业秘密保护的法律基础,具体讨论了著作权法在保护计算机软件时将遇到的专门问题、计算机程序的可专利性和作为计算机软件商业秘密保护根据的企业保密管理制度的建设实务。第五章至第七章针对软件行业在计算机软件的研发、流通和使用实务中常常遇到的知识产权保护问题进行了分析和探讨,介绍了国际知识产权界为合理处理这些问题所进行的探索和经验,包括在计算机软件的产品流通和权利转移中草拟许可证或合同的具体建议。
《计算机软件的知识产权保护》可供计算机软件行业、知识产权领域以及国际技术贸易等方面的从业人员以及高等院校有关专业师生参考使用。
2知识产权的保护包括哪些措施
主要有三大方面:
一 专利管理战略:
1吸收专利管理人才,建立专利管理部门;2制订专利管理制度,规范专利管理行为;3完善专利档案,跟踪专利动态;4组织专利申报,引进保护措施;5提出专利保护诉讼,进行专利诉讼抗辩。
二 专利申请战略:保护自己的发明创造,占领市场。
三 专利保护战略: 1专利未报,保密先行;2产品未销,专利先有;3市场未明,防御先做;4合同未签;文献先查;5诉讼未提,漏洞先补;6官司未应,无效先得;7销路未衰,技改先出;8广告未出,外观先递;10麻烦未出,律师先请。
3知识产权的保护范围都有哪些
根据世界知识产权组织(word intellectual Property Organization ,WIPO)《建立世界知识产权组织公约》的规定,知识产权包括下列客体的权利:
(1) 文艺、艺术的科学作品。
(2) 表演艺术家的表演、录音和广播。
(3) 人类一切领域的发明。
(4) 科学发现。
(5) 工业品外观设计。
(6) 商标、服务商标、厂商名称和标记。
(7) 制止不当竞争。
(8) 在工业、科学、文学和艺术领域内由于智力活动而产生成果的一切其他权利。
根据作为《世界贸易组织》WTO一揽子协议的重要组成部分的《与贸易有关的知识产权协议》(简称TRIPS协议)的有关规定,知识产权包含下列权利;
(1) 版权与邻接权。
(2) 商标权。
(3) 地理标志权。
(4) 工业品外观设计权。
(5) 专利权。
(6) 集成电路布图设计权。
(7) 为披露过的信息专有权。
由于TRIPS协议与国际贸易制裁挂钩,具有相当的强制力,其对知识产权客体权利的规定,已经成为世界各国知识产权理发所认同和遵守的保护范围。
4知识产权的保护范围有哪些
知识产权是指人们就其智力劳动成果所依法享有的专有权利,通常是国家赋予创造者对其智力成果在一定时期内享有的专有权或独占权,我国知识产权法主要包括《商标法》、《专利法》、《著作权法》、《反不正当竞争法》等基础法律制度,以及《植物新品种保护条例》、《集成 电路布图设计保护条例》、《地理标志产品保护规定》等相关法律规范。
其中专利法保护的对象是发明创造,包括发明专利、实用新型专利和外观设计专利。商标法保护的对象是商标,商标是识别某商品、服务或与其相关具体个人或企业的显著标志。
著作权保护的是具备独创性的文学、艺术和自然科学、社会科学、工程技术等作品。反不正当竞争法是保护经营者和消费者的合法权益,制止不正当竞争行为。
法律依据:《中华人民共和国反不正当竞争法》第一条:为了促进社会主义市场经济健康发展,鼓励和保护公平竞争,制止不正当竞争行为,保护经营者和消费者的合法权益,制定本法。
5知识产权的保护
知识产权
知识产权是一种无形产权,它是指智力创造性劳动取得的成果,并且是由智力劳动者对其成果依法享有的一种权利。
这种权利被称为人身权利和财产权利,也称之为精神权利和经济权利。所谓人身权利,是指权利同取得智力成果的人的人身不可分离,是人身关系在法律上的反映。例如,作者在其作品上署名的权利,或对其作品的发表权、修改权等等,即为精神权利;所谓财产权是指智力成果被法律承认以后,权利人可利用这些智力成果取得报酬或者得到奖励的权利,这种权利也称之为经济权利。
知识产权的对象是人的心智,人的智力的创造,属于“智力成果权”,它是指在科学、技术、文化、艺术领域从事一切智力活动而创造的精神财富依法所享有的权利。
盗版碟就是侵犯行为
我国颁布实施的知识产权保护法有哪些?(你已经知道)
保护知识产权通过什么样的途径?
首先,通过知识产权的行政保护途径。(l)专利权的行政保护:主管机关为国家知识产权局和地方知识产权行政管理部门,负责对专利纠纷进行行政调处。专利纠纷主要包括:专利侵权纠纷、专利权属纠纷等。知识产权管理机关受理专利纠纷案件的条件如下:调处请求人必须是与纠纷和争议有直接利害关系的单位或个人;有明确的被请求人;有具体要求和事实依据;属于知识产权管理机关管辖范围和受案范围;当事人尚未向人民法院起诉。(2)商标权的行政保护:主管机关为侵权行为地的县级以上工商行政管理部门,负责对侵犯商标权的行为进行行政处罚。(3)著作权的行政保护:主管机关为国家版权局和地方著作权行政管理部门,负责对侵犯著作权的行为进行行政处罚。
其次,通过知识产权的司法保护途径。(1)管辖权的确定:因案件性质不同,分别由具有管辖权的法院及侵权行为地人民法院或被告住所地人民法院管辖。(2)提起知识产权侵权诉讼应满足的条件:原告是与本案有直接利害关系的公民、法人和其他组织;有明确的被告;有具体的诉讼请求和事实、理由;属于人民法院受理民事诉讼的范围和受诉人民法院管辖。
以上就是关于我用C#写好了一个小程序,怎样将它打包成应用程序,就是可以在别的电脑直接点击了就运行 具体点,谢谢了全部的内容,包括:我用C#写好了一个小程序,怎样将它打包成应用程序,就是可以在别的电脑直接点击了就运行 具体点,谢谢了、反复报错Cannot read property 'getBoundingClientRect' of null、怎么把多个VB模块放到一起等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)