特殊程序范文
特殊程序范文(精选5篇)
特殊程序 第1篇
关键词:特殊方程,MATLAB语言,求解
1 非线性方程的解法
用函数fsolve求解,形式为:XE=fsolve(fun,XF,option)。其中fun为方程的表达式或函数文件名,XF为所求方程的根的初始(First)值,XE为所求方程的根的最后(End)值。XF和XE的意义以下各情况都同此。option(1)为0或者为1,option(1)默认为0,如果option(1)为1,则显示优化过程的中间步骤。
例1:求解方程xex-0.7x2=371的数值解
解法一:创建M文件li1.m,其程序如下:
再在命令行符号>>后键入文件名li1,可得XE=4.4583
解法二:在命令行符号>>后键入各语句,其程序如下:
可得XE=4.4583
故原方程的近似数值解为x=4.4583
2 非线性方程组的解法
非线性方程组也可以用fsolve求解,其解法见例2。
例2:求解非线性方程组
解:先创建M文件myfun1.m,其内容如下:
再在命令行窗口中运行:
故原方程的近似解为x1=4,x2=3.
3 求解满足给定条件的矩阵
求解满足给定条件的矩阵也可以用fsolve求解,其解法见例3和例4。
例3:求解矩阵方程,即求一个三阶矩阵x,使适合下列式子
其中eye(3)为三阶单位矩阵。
解:先创建M文件myfun2.m,其内容如下:
再在命令行窗口中运行:
故所求的三阶矩阵
例4:求解矩阵方程,即求一个三阶矩阵x,使适合下列式子
解:先创建M文件myfun3.m,其内容如下:
再在命令行窗口中运行:
故所求的三阶矩阵
其中options=optimset('Display','off');表示不显示求解过程,如果要显示,可以将off改为iter.
例3与例4告诉我们式子x3-3x2+2x+4*eye(3)与式子x3-3x2+2x+4运算结果不一样。
式子x3-3x2+2x+4等于式子x3-3x2+2x+4*ones(3,3),其中ones(3,3)为全部元素是1的三阶矩阵。
4 结束语
从纯数学的角度去解上述这些特殊方程,对于数学知识不太多的人,是不容易解的。有了MATLAB语言以后,一般人只要按上述步骤,也容易解上述这些特殊方程。当得到一个解后,再验证,就知道其是否是原方程的一个正确解。
参考文献
[1]梁国业,廖健平.数学建模[M].冶金工业出版社,2004,9.
[2]汪卉琴,刘目楼.数值分析[M].冶金工业出版社,2004,3.
特殊疾病门诊办理程序 第2篇
到医保经办机构领取《特殊疾病门诊审批表》→填写本人申请栏后,根据自己病情选择一家定点医疗机构填写病情诊断、治疗项目、检查项目、药品名称(含用法)、预计每月费用及3个月的费用总额,由该医院审批、签署意见并盖章→初次申请门诊特殊疾病,须提供六个月内二级甲等及以上定点医疗机构的检查报告、诊断证明和《特殊疾病门诊审批表》,到医保经办机构审核→审核签字满三个月后带上相关资料到医保经办机构结算。
门诊特殊疾病每3个月办理一次审核,符合第一类病种的门诊特殊疾病每6个月办理一次审核。
报销须提供以下资料:
1.《特殊疾病门诊审批表》
2.《门诊特殊疾病治疗和用药方案更改申请表》(须加盖定点医疗机构公章);
3.财政、税务部门制作或监制的门诊收费专用票据
4.患者或家属签字认可的门诊特殊疾病医疗费用清单、药品处方、检查报告;
5.审核期内,参保人员如有住院,须提供住院费用明细清单;
6.患者和代办人身份证原件及复印件;
7.社会保险卡或参保凭证;
特殊程序 第3篇
会计师事务所在承接施工企业的内部控制审计业务时, 必须满足内部控制审计的前提条件, 会计师事务所在考虑内部控制审计的前提条件是否得到满足时, 应严格按照企业内部控制审计指引实施意见中所提及的条件加以考虑, 在此基础上评价自身的独立性是否满足要求、是否具备施工行业内部控制审计的专业胜任能力。如果决定接受施工企业的内部控制审计业务, 会计师事务所应当与被审计单位签订内部控制审计业务约定书, 明确双方的权利及义务。
二、施工企业的内部控制审计必须遵循的审计思路及方法
1. 注册会计师在对施工企业执行内部控制审计时应当贯彻风险导向的审计思路, 应采取与财务报表审计相同的风险导向审计模式
在执行内部控制审计时, 注册会计师应首先执行风险评估程序, 以便能够充分的识别和评估重大缺陷或错报存在的风险。在此基础上, 有针对性地采取应对措施, 实施相应的审计程序。对于施工业企业内控审计而言, 运用风险导向的审计思路显得尤为重要, 因为施工企业核算存在着不同于其他行业的多方面特点。
2. 注册会计师应当采用自上而下的方法选择拟测试的控制
首先, 注册会计师应从财务报表层次进行了解, 初步了解内部控制的整体风险, 以便注册会计师能够在一个较高的技术层面形成一个轮廓性的整体概念。
其次, 注册会计师应在整体了解的基础上, 把工作主要重心放在施工企业的企业层面控制上, 如识别、了解和测试与施工企业控制环境相关的控制、针对施工企业管理层和治理层凌驾于控制之上的风险而设计的控制、施工企业的自我风险评估过程的控制、施工企业对内部信息传递和期末财务报告流程的控制以及对控制有效性的内部监督和内部控制评价等关键企业层面控制上。
再次, 注册会计师应在识别、了解和测试施工企业的企业层面控制的基础上, 进一步将审计工作转移至重要账户、列报及其相关认定上, 此时的重要账户、列报及其相关认定应是基于施工企业报表层面上的。在施工企业内部控制审计中, 注册会计师应该考虑整合审计的相关内容, 采用与年报审计中相同的考虑因素来识别内部控制审计应识别的重要账户、列报及其相关认定, 同时可以采用相同的思路对其风险程度及因素进行评价。此时的注册会计师应该考虑施工企业账户的规模和构成、施工企业账户或列报中反映的交易的业务量、复杂性及同质性、施工企业与账户或列报相关的会计处理及报告的复杂程度、施工企业账户或列报中反映的活动引起重大或有负债的可能性以及账户记录中是否涉及关联方交易等可能引起错报的风险因素。在识别重要账户、列报及其相关认定时, 注册会计师还应当确定重大错报的可能来源, 并评价这些重大错报的可能来源的控制是否会导致产生重大错报的控制有效性。
最后, 注册会计师在上述工作基础上, 选择拟测试的控制。在选择拟测试的控制时, 注册会计师应始终围绕已经识别、了解的施工企业报表层面上的重要账户、列报及其相关认定, 并选择能足以应对评估的每个相关认定的重大错报风险的控制进行测试。在施工企业现有的控制循环中, 因各个施工企业管理不同可能会划分出不同的控制循环, 如工薪与人事循环、资金营运管理等环节。在对应的循环中选择能足以应对评估的每个相关认定的重大错报风险的控制进行测试, 同时应测试控制设计的有效性及控制运行的有效性。
三、施工企业内控审计与年报审计的整合思路
按照“企业内部控制审计指引”的要求, 注册会计师应当对财务报告内部控制的有效性发表审计意见, 并对内部控制审计过程中注意到的非财务报告内部控制的重大缺陷, 在内部控制审计报告中增加"非财务报告内部控制重大缺陷描述段"予以披露。由此可以看出, 内控审计的目标主要还是对与财务报表相关的内控发表审计意见, 这就必然要求注册会计师考虑应按什么样的架构设计和建立内控审计方法和底稿体系的问题。鉴于施工企业按照18项内控应用指引并非均属于与财务报表相关的内部控制, 因此不适合于按照18项应用指引的口径来建立测试循环等内控审计底稿的框架体系。注册会计师还是应该按照与施工企业财务报表直接相关的控制循环加上财务报表决算流程, 来设计内控测试底稿的框架, 也有利于更好地实施整合审计。
如果将中国注册会计师协会组织编写的《企业内部控制审计工作底稿编制指南》中列示的底稿格式与年报审计中关于执行了解、风险评估程序等底稿的格式进行详细对比, 就会发现虽然两者格式不尽相同, 但却有异曲同工之妙, 可以满足注册会计师达到相互借鉴或整合, 也符合鼓励将内控审计与年报审计整合进行的趋势, 所以注册会计师在执行施工企业内控审计过程中应尽量加以整合运用。另外, 从审计效率来看, 整合审计也可以减少同一家会计师事务所的审计成本及重复工作量。两套底稿虽然可以整合运用, 但注册会计师在执业过程中应清楚的知道两套底稿的侧重点还是各有不同的, 因此应切实的从理论基础出发, 深刻的理解内部控制审计与年报审计的内在联系与区别, 在此基础上才能实现既保证审计质量又提高审计效率。
四、施工企业的内部控制审计如何考虑重要性水平
注册会计师在执行施工企业的内部控制审计时, 必须考虑确定重要性水平。注册会计师确定了施工企业内部控制审计的重要性水平之后, 还应关注特定类别交易、账户余额或披露的重要性水平, 如果施工企业出现财务报表使用者对特定项目如关联方交易计量或披露的预期、与被审计单位所处行业相关的关键性披露、财务报表使用者是否特别关注财务报表中单独披露的业务的特定方面等情况时, 即使其发生的错报金额虽然低于财务报表整体的重要性, 但合理预期可能影响财务报表使用者依据财务报表作出经济决策时, 注册会计师还应当确定适用于这些交易、账户余额或披露的重要性水平, 该类重要性水平应低于财务报表整体的重要性水平。
五、在对集团型施工企业进行内部控制审计时, 如何考虑集团内部的重要组成部分
注册会计师在对集团型施工企业进行内部控制审计时, 应当基于集团财务报表来识别重要账户、列报及其相关认定。在此基础上考虑集团下属的哪些重要组成部分会对集团财务报表识别的重要账户、列报及其相关认定产生重大影响, 即集团的这些下属重要的组成部分如果出现重大错报风险时就会导致集团财务报表发生重大的错报风险。注册会计师在审计集团型施工企业时就会遇到类似的职业判断, 由于集团型施工企业在核算上一般都具有明显的行业特点, 其下属独立核算的子公司、分公司、项目部数量会非常之多, 有时还会在境外承接施工项目, 对于这样的集团型施工企业, 注册会计师如何确定其重要的组成部分成为了非常重要及慎重的一项工作, 其判断结果直接影响审计工作的质量及工作效率。因此, 注册会计师在判断集团型施工企业的重要组成部分时, 应按照《中国注册会计师审计准则第1401号──对集团财务报表审计的特殊考虑》的规定, 确定重要组成部分。此外, 注册会计师在执行集团型施工企业内部控制审计时, 还需要设定集团重要组成部分的临界值, 集团内各级组成部分的注册会计师不能将超过该临界值的错报视为对集团财务报表产生微小影响的错报, 组成部分的注册会计师应及时将在组成部分财务信息中识别出的超过临界值的错报通报给负责集团审计的注册会计师, 以便整体负责该项目的注册会计师能够及时从整体来把握风险程度, 确保审计工作质量。
六、在对集团型施工企业进行内部控制审计时, 注册会计师应如何考虑测试样本量的时间范围, 如何考虑测试样本的数量
1. 在考虑安排测试样本量的时间范围时, 注册会计师应该从以下方面加以考虑, 安排测试样本量的时间范围时, 应当在下述两个因素之间作出平衡, 以确定测试的时间。
(1) 样本量的分布范围应该涵盖整个审计期间。
(2) 由于内部控制审计是对被审计单位基准日是否按照《企业内部控制基本规范》和相关规定在所有重大方面保持了有效的财务报告内部控制发表意见, 因此在选取样本的时间分布上, 应尽量接近基准日, 此时提供的控制有效性的审计证据将会越有证明力。
2. 在考虑安排测试样本量的数量时, 注册会计师应该从以下方面加以考虑。
(1) 在集团型施工企业下属组成部分业务经营及控制流程不具有同质性或类似程度不高时, 注册会计师通常应遵循内部控制审计业务中的最低样本量标准, 如下表:
(2) 在集团型施工企业下属组成部分业务经营及控制流程的同质性或类似程度非常高 (或明显基本相同) 时, 注册会计师应在遵循通常内控审计业务中的最低样本量的基础上, 结合施工企业行业核算特点, 对集团型施工企业下属组成部分的同质性 (或类似性) 进行详细梳理、并同时进行归类, 然后针对不同的类型的组成部分确定不同的样本量规模, 对于集团下属中同质性 (或相似程度) 非常高的独立核算组成部分, 从审计成本及效率的角度出发适当降低样本数量规模, 具体降低的幅度取决于注册会计师的职业判断结果。在执行该职业判断时, 注册会计师应严格遵循降低样本数量规模后所获取的审计证据足以满足或支持所发表的审计意见类型, 否则注册会计师不能以提高工作效率为由来降低审计证据的充分性、适当性。
参考文献
[1]企业内部控制基本规范.财会[2008]7号.
残疾人特殊困难补助申请程序 第4篇
发布于:2005年07月01日 来源: 浏览:10775 次
一、残疾人特殊困难补助申请适应对象:
1、重残(残疾等级达1级或视力二级者);
2、残疾低保户;
3、临时困难补助。
二、提供资料: ①个人书面申请;
②身份证或户口簿复印件各一份; ③残疾证第一、二页复印件各一份;
④申请低保定保的要提供低保证复印件一份;
⑤临时困难补助提供如:药费单据(原件)、病情鉴定、住院证明和需要缴交学杂费的原始发票等。向所在社区居委领取《昌吉市残疾人特殊困难救济补助审批表》并填报。
三、社区居委会签署意见并盖章,报街道办残联审核。
四、街道办残联对填报资料进行审核,签署意见盖章,报区残联。
五、区残联审核情况,核定补助金额,报区民政局审批。
六、区民政局审核材料后批准。
七、区残联根据审核结果下拨款项,由各街道办残联发放困难救济补助金。
注:以上申请每半年受理一次,补助金额每半年发放一次。
补 助 标 准
一、重残定补必须是具有本区常住户籍并持有残疾人证的重度 残疾人,重度残疾指一级(含视力二级)残疾,补助标准为每人每月200元。
二、医疗康复费(低保定补)是指享有城乡居民最低生活保障 并持有残疾人证的本区常住户籍残疾人,补助标准为每人100元。
三、临时困难补助是指具有本区常住户籍并持有残疾人证的残疾人,发生下列临时生活困难情况的,内可申请一次性困难补助:
1、子女就读中、小学或特殊教育学校,无法缴交学杂费等,补助标准为1000至3000元;
2、安装假肢、矫形器,实施肢残手术等,无法支付费用的,补助标准为1000至3000元;
3、住房临时困难的,补助标准为1000至3000元;
4、突发重病住院或罕见病住院治疗、重度精神病残疾人长期住院治疗、家庭经济困难的,补助标准为2000至3000元;
5、发生火灾、水灾、交通事故、房屋倒塌等重大意外事故造成经济困难的,补助标准为3000元。
特殊程序 第5篇
由于WINDOWS提供了多道程序处理的多任务能力, 并允许很多程序共享硬件资源, 使用者可以在任何时候暂停正在运行的程序而去处理其他程序。这样看来, 如果想设计既具有窗口特色的界面, 又要避免被其他应用随意中止的应用程序, 即实现所谓“独占”硬件资源, 就显得比较困难了。如何在WINDOWS环境下, 允许有特殊需求的用户对某些资源进行独立控制, 在实际应用中有很多需求层面。
1 友好的界面, “刁钻”的需求
2012年秋, 微软会发布了Windows8, 这款操作系统主要面向平板电脑设计, 另外兼顾传统电脑, 支持各种输入设备, 提供各种新技术和新的Internet体验。与微软公司的旧版系统相比具有革命性变化, 它将颠覆人们原有工作方式, 尽管它有可能不被用户接受。既要传统, 又要革新。微软不打算放弃任何一片领土。
遥想当年, WINDOWS甫一问世, 立即聚集了大量的人气不久便彻底取代了DOS, 多任务能力和图形用户界面的操作环境, 让使用者与程序的交流变得更为亲密。这不再是一种从键盘到程序, 再到视讯显示器的单向信息流动, 使用者已经能够与显示器上的对象直接交互作用了。使用者不再需要花费长时间学习如何使用计算机或掌握新程序了。Windows让这一切成真, 因为所有应用程序都有相同的基本外观和感觉。程序占据一个窗口-屏幕上的一块矩形区域。每个窗口由一个标题列标识。大多数程序功能由程序的菜单开始。用户可使用滚动条观察那些无法在一个屏幕中装下的信息。某些菜单项目触发对话框, 用户可在其中输入额外的信息。几乎在每个大的Windows程序中都有一个用于开启文件的特殊对话框。该对话框在所有这些Windows程序中看起来都一样 (或接近相同) , 而且几乎总是从同一菜单选项中启动。虽然Windows程序的大多数功能可通过键盘控制, 但使用鼠标要容易得多。换言之用户的操作可以简单到一只鼠标.之后出现的诸如触摸屏等新技术, 更是令其锦上添花-操作简单到一根手指。
对于程序设计者来说, 一致的用户接口来自于Windows建构菜单和对话框的内置程序。所有菜单都有同样的键盘和鼠标接口, 因为这项工作是由Windows处理, 而不是由应用程序处理, 所以不必再为设计界面而大伤脑筋, 主要精力用于程序的功能设计, 而且开发的程序可以运行于不同的硬件上。
12.5亿, 这是目前全球活跃Windows用户量, 自WINDOWS问世到现在, 仍旧是大众操作系统的主流, 尽管存在诸多的漏洞, 其主导地位仍旧难以撼动, 因此, 各种应用软件的开发基本上已经绕不过WINDOWS这道门坎, 用还是不用, 几乎已经不是个问题。从微软一直希望PC能有更流畅的用户体验, 各项应用程序能够互相协作, 能够帮助用户简化日常任务, 这是一个美好愿景。
然而, 时至今日, 就是有那么一些行业的那么一些专业, 由于其专业的特殊性, 其所需的应用软件对于WINDOWS多任务能力和图形用户界面的操作环境这两方面优势而言, 却具有天生的、不可调和的矛盾性。用于调度指挥部门的调度通信总机, 其终端控制软件就具备这一典型特质。
调度通信总机是一种广泛用于电力、交通、航空、冶金等行业的通信设备, 随着及痛惜技术的发展, 调度机的发展经历了调度功能从单一到多种、控制方式从人工到程控、设备体制从模拟到数字、组网方式从单级到多级的发展过程。目前, 调度机的主流产品是数字程控调度机。特别是, 为满足各种特殊应用场合的需要, 调度终端也日趋多样化, 其中, 使用微型计算机做控制终端, 用鼠标或触摸屏进行调度控制的程控调度终端, 较之板键或是按键式的操作控制台, 给操作者带来前所未有的方便和快捷, 堪称通信技术与计算机技术相融合的经典。综观目前使用的各种调度机控制终端, 但就人机界面而言, 还未发现有独辟蹊径超越者。然而, 对于开发者而言, 在WINDOWS环境下开发这种图形化的操作控制界面是需要面对一些不能回避的矛盾的。
由于WINDOWS提供了多道程序处理的多任务能力, 并允许很多程序共享硬件资源, 使用者可以在任何时候暂停正在运行的程序而去处理其他程序, 这样看来, 如果想设计既具有窗口特色的界面, 又必须独占硬件资源即不能被随意中止这样的应用程序, 就显得比较困难了。
用于电力调度指挥部门的调度通信总机, 是必须长时间不间断运行的设备, 这就要求作为调度机终端用户界面的程序, 除了要方便操作, 还必须保持长期稳定地运行, 但是正如前述, 这种应用软件又是要独享某些硬件资源的, 不能随时被WINDOS中止下来去处理其他任务, 主要原因有二:一是不可能要求调度值班人员都熟练掌握WINDOWS的使用, 可以很快地把程序调回前台, 恢复正常工作。二是由于电网的安全运行是电力系统的首要任务, 一旦由于界面上的操作失误导致程序不能重新正常运行, 调度机与终端的通信就会异常, 整个系统则无法正常工作, 正常的调度通信就会中断, 后果可想而知。因此在考虑程序的易操作性的同时, 更要保证其可靠性和安全性, 具体地说作为调度机操作界面的应用程序, 在某种意义上说, 是应该独占资源的。
目前使用的图形化界面调度总机, 是用于电力及其他行业中调度指挥部门的通信设备, 因工作关系, 笔者曾接触过CDT系列调度总机, 就是使用微型计算机做控制终端, 用鼠标或触摸屏进行调度控制的程控调度终端, 以CDT系列调度总机为例, 其终端的用户界面, 即是基于上述思想开发的一个WINDOWS应用程序 (以下以MMI程序代称) 。笔者因为曾经多年从事图形化界面调度总机的开发和维护等方面的实践工作, 对该程序在处理对资源独享问题所采用的方法有一些心得, 同时也发现了一些问题, 并总结了一点解决的方法和经验。
该程序在日常运行时, 提供给操作者的输入设备仅是一只鼠标, 调度用户在界面上以一个个可点按的键位表示, 操作人员通过拖动鼠标, 点按鼠标键即可完成日常通话操作。该程序所谓的独享资源, 其实即是对鼠标输入的控制问题, 换言之, 就是要使MMI程序在运行时, WINDOWS只处理来自MMI程序使用者的鼠标输入。
为什么这么说呢?因为WINDOWS通过接收鼠标和键盘等输入设备的消息来实现对其应用程序窗口的调用。在WINDOWS多任务环境下, 这些输入设备为所有应用程序共享, 当只有鼠标作为输入设备时, 也就只有鼠标为应用程序共享, 因此如果某个应用程序做不到独占鼠标控制权, 来自用户的鼠标操作就不能保证是不是对该程序的输入, 如果不是就会中止该程序在前台运行, 只有独占鼠标控制权, 并且能控制鼠标导致应用程序中止的消息不被WINDOWS响应, 才能保证独占资源。
既然避不开用WINDOWS, 就不能不解这些矛盾, 对开发者来说, 这无疑就是一种“死磕”。
2“死磕到底”还是“曲线救国”
在WINDOWS环境里, 所有键盘。鼠标和计时器等设备的输入消息均由WINDOWS放到应用程序消息队列中, 应用程序就是通过读取其队列中的各种消息, 进行相应判断, 来完成相关窗口的调用的。MMI程序设计者起先在考虑对鼠标器光标的控制时, 采取了如下几步:第一, 在DOS的AUTOEXEC.BAT文件中加入WIN MMI (MMI为该程序的可执行文件名) , 使其应用程序在计算机加电后自动进入工作状态;第二, 在MMI程序中框定光标的可移动范围, 使其只能在主窗口 (Main WClase) 中的用户区域和功能键区域移动, 而不能被移到主窗口的标题条和边框部位, 保证应用程序窗口不被拖动或改变尺寸乃至关闭。这样看起来是把鼠标的输入控制在MMI程序之下了。
效果怎样呢?经过一段时间的试运行, 发现该程序还是能被使用者用鼠标退出运行。原因何在?通过对MMI原文件的反复分析, 发现导致这一现象发生的原因有二:其一, 该程序有一拨号盘子窗口, 再创建时采用了WS_CAPTION风格, 即它具有标题条风格, 此窗口被打开之后, 就取得了鼠标的共享权, 如果此时用鼠标对其进行拖动或改变其尺寸, 就会导致原有主窗口对光标的框定失效, 此后光标就可以被至于主窗口的标题条或边框位置, 而主窗口在创建时又采用了WS_OVERLAPPEDWINDOW风格, 因此光标如果能移动到其标题条就可以把它拖动, 或将其最小化, 如果移动到边框, 还会改变其尺寸。针对这一原因, 解决的办法比较容易:分别在源程序对这两个窗口的定义中, 将主窗口和号盘窗口的类风格改变一下, 即把拨号盘窗口的WS_CAPTION取消使鼠标不能在打开拨号盘窗口时拖动其标题条;另外, 将主窗口的WS_OVERLAPPEDWINDOW风格改为MAXIMIZE风格, 使其成为一个最大化窗口, 以期尽可能不被改变尺寸。由于拨号盘窗口不能被拖动和改变尺寸, 在打开它以后, 鼠标只能在窗口内活动, 退出子窗口后, 鼠标又重新被主窗口控制, 此时鼠标又被重新框定, 因主窗口为最大化窗口, 只能被移动而不能被关闭和改变尺寸。这样看来鼠标就被MMI程序单独控制了。但实际并非如此, 经过如此修改的程序在试运行一段时间后, 又可被用鼠标退出正常运行。这又是为什么呢?这正是要分析的另一个原因。MMI程序另一个使鼠标失控的缺陷是:在进入WINDOWS之后, MMI程序被引导进入运行状态之前, 鼠标控制权并不由MMI程序掌握, 如果此时有鼠标输入, 仍可导致程序窗口被移位, 因为主窗口只是一个最大化的窗口, 只是不能改变尺寸, 并非不可移动, WINDOWS中并不能通过改变类风格来控制主窗口的移动与否, 只在子窗口的控制中其作用。既然主窗口仍可移动, 那么就仍有可能被中止前台运行, 比如在移走主窗口后, 就可以通过程序管理器调用其他应用程序, 甚至关闭MMI程序。这样一来, 以前的修改等于前功尽弃。那么, 怎样才能将鼠标彻底控制呢?看来需要对程序的结构进行改动了, 开始想到的方法是在程序的外层循环中设置定时器, 让程序每隔数秒将主窗口摆正一次, 但如此一来会影响程序的可靠性并会降低程序运行速度, 还可能使画面抖动, 况且此法稍嫌笨拙。
经过反复琢磨和对WINDOWS编程技术的学习, 发现可以利用WINDOWS计时器函数和取鼠标控制权函数Set Timer () 和Set Capture () 来解决问题。具体做法是:在程序外层循环开始的适当位置, 加入调用Set Timer () 函数的语句, 将其第三个参数定为一个希望延迟的时间量, 如10000这样可以制作一个十秒的计数器, 在不足十秒的时间内, Set Timer () 函数取得对鼠标的控制劝, 使鼠标暂时被WINDOWS控制, 而WINDOWS的应用程序窗口 (包括MMI) 均不能对鼠标输入有响应, 只要这一时间定得合适, 就能保证在WINDOWS引导MMI程序进入工作状态之前, 任何来自鼠标的操作都得不到响应, 自然也包括那些可能使MMI退出前台运行的操作, 当计数器数到预定时间 (如这里的10秒) , 再利用Relase () 函数将鼠标控制权教给应用程序窗口最后用Kill Timer () 函数将计数器取消。而由于以前的修改工作已能在MMI程序运行后框定鼠标, 所以此后就不会再有导致程序被中止的鼠标输入。经过测试, 证明预定十秒的时间是很充足的。这样, 两方面的缺陷均得以完善。
3“捉住老鼠, 就是好猫”
经过这些改动, MMI程序完全实现了对鼠标输入的单独控制, 程序的可靠性和安全性得到了保证。通过在多个电力调度部门的使用, 证明程序运行稳定可靠, 未再发生由于鼠标操作导致程序被中止或退出的故障。
以上是在Windows应用程序的开发和维护过程中, 通过对具体的应用程序的改动得到的一点心得, 权当一点浅见, 写到这里, 忽然有种回忆往昔的感觉, 的确, 在操作系统日新月异的今天, 拿出这些“开发故事”来讲, 似乎有点“过气”, 但是, 我想:既然这些需求还在, 这方面的应用还需要, 也就避不开相关经验的交流和讨论, 毕竟, 我们所讨论的是开发层面的东西, 相对于应用界面的不断更新和日益多元化, 开发层面系相对底层的, 稳定的;更主要的是那些编程思想理念, 那些方法策略, 是经验的火花, 是不会过期的, 我们也不希望它被埋没, 拿来讨论, 就算老酒装新瓶吧, 希望还有价值。
参考文献
[1]吴锡修, 林正敏.Windows编程与设计技术[M]、学苑出版社, 1993-12
[2][美]Russell E.Borland Windows for Workgroups Companion用户伴侣、海洋出版社, 1993-04
特殊程序范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。