前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇德育的基本问题范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
一、成本会计存在的问题
(一)成本会计电算化应用局限性会计电算化是利用财务管理软件来完成会计核算、报表编制等。它大大提高了会计核算效率,减轻劳务工作量。随着电子技术的飞速发展,以计算机技术为中心的会计电算化软件已经广泛运用于很多的企业或单位,但是,在会计电算化的应用过程中仍存在以下的问题:1.很多财务管理软件仅仅停留在简单替代手工核算阶段;2.在大多数的企业信息管理系统中,采购、销售、人力资源、财会等子系统相互孤立,并未形成有机的关联,信息处于割裂状态;3.会计信息系统提供的一般只是财务会计信息,不能充分反映成本会计和管理会计需求的信息。(二)成本会计核算方法不合理成本的计算方法的目标是力求达到既要正确计算产品成本,又要简化成本的核算工作。因此,成本的计算方法好坏直接决定了企业成本核算的工作量,也直接影响到成本的准确性。但是,要计算企业的主要产品成本,要根据生产特点和生产组织选择采用一种最适当的成本计算方法,但这一种成本计算方法并不一定能满足该企业成本计算和成本管理的全部需要。这就需要全面考虑具体企业的生产特点和生产步骤,根据企业的规模和水平,科学合理地安排成本计算程序和方法,把各种成本计算方法结合运用,达到最佳的成本计算和最优的成本控制。
二、发展企业成本会计的对策研究
面对成本会计存在的诸多现实问题,成本会计要发展首先必须针对存在的问题,找到相应的对策。(一)引入成本会计的研究新成果,提高企业成本会计水平成本会计最初萌芽于十六世纪的意大利,不断发展至今已有几个世纪,已经形成了一套较为完善和成熟的理论体系,特别是随着战略管理、基准管理、限制理论、行为科学、运筹学、系统工程和电子计算机等各种科学技术成就在成本会计中的广泛应用,西方的成本会计已经从最初的成本型成本会计阶段发展至今天的综合性成本会计。而我国大部分企业中的成本会计大多仍处于财务成本会计阶段,离综合性成本会计仍有一定的差距。为了提高企业现有的成本会计水平我们应结合各自企业的具体情况,认真研究西方成本会计理论与方法,探索并形成一套具有中国特色的现代成本会计体系,使企业成本会计早日实现综合化。对于成本会计工作者,则应更新观念,除了应具备会计职业道德之外,还应努力掌握和了解会计和财务管理以及经营管理方面的知识,学会运用价值工程、成本最优化理论和方法,进行预测、决策和控制,充分发挥成本会计的职能作用。(二)推进企业成本会计电算化进程成本会计工作是企业的一项重要基础工作,随着我国经济的迅速发展,特别是加入世贸组织(WTO)之后,市场竞争日趋激烈。在如此激烈的竞争面前,企业只有控制成本、提高管理水平,才能有立足之地和发展的空间。因此,利用现代化手段做好成本核算,提高会计信息的使用价值,是加速企业管理现代化、提高经济效益的重要一环。会计信息具有涉及面广、渗透性强等特点,企业经营决策的大量信息来自于会计,因此,要适应会计处理信息大容量、多样化、复杂化等要求,及时、准确、广泛地搜集、汇总、处理和综合利用会计信息,必须积极推行会计电算化。然而,纵观国内企业和单位会计电算化工作,或多或少都存在着应用局限,电算化软件普遍缺少统一规划,总体开发研究不够。为了推动会计电算化深入发展,必须加快会计电算化从核算型向管理型转变,统一规划并加强电算化软件的应用研究工作,使财务软件、会计信息系统不再是简单孤立的数据库和计算器,会计电算化将能有机地融入企业整个信息管理系统中,通过电算化的应用,为成本会计和管理会计提供可靠的技术支持。同时,建立相应的电算化内部管理制度,加快培训会计电算化人才,使电算化成为企业内部真正行之有效的管理手段之一。(三)研究合理并适合本企业的成本会计方法按照成本会计理论,企业通常用来计算产品或服务成本的方法有品法、分批法和分步法。但实际上,很多企业所采用的成本计算制度既非分批法,也非分步法,而是分批法与分步法的结合。在实际工作中,有的还采用了一些其他的成本计算方法,如分类法、作业基础成本法、标准成本法和变动成本计算法。由此可见,成本的计算方法缺乏唯一性。在长期的实践过程中,企业根据自身的特点,也积累了许多好的成本会计经验,如编制成本计划阶段的项目测算法,成本指标归口分级管理,这些都是强调人的主观能动作用,至今仍不失为现代成本会计的有效方法。但是这些行之有效的方法却在实际中难以推广和传承,究其原因就在于我们没有对这些已经被实践证明的有效的方法进行及时、认真的总结,没有将实践经验上升到理论的水平,从而它就仅仅是一个成功地案例而已。因此,成本会计要发展,必须加强我们自身总结经验、升华理论的能力,从实践经验找到科学的理论规律并加以完善,成为具有普遍应用价值的方法服务于实践中。综上所述,成本会计只有在上述几方面完成突破,才能顺应市场经济的发展,才能使企业的成本控制落到实处,成为企业发展壮大,获得无限生命力的坚实保证。
作者:龚伍荣 单位:南昌市第一中等专业学校
[关键词]小学语文 阅读教学 语言 积累与运用
[中图分类号] G623.2 [文献标识码] A [文章编号] 1007-9068(2015)22-047
阅读教学一直强调积累,因此很多教师就将积累作为教学的重点。学生原始积累的量很多,但在运用中却常常无从下手,成为“茶壶里煮饺子”――倒不出来。可见,阅读教学应该致力于语言积累和运用的有效串联,真正促进学生言语智慧的提升。
一、寻求精读资源,在感知积累中运用
入选教材的文本都是文质兼美的典范之作。这些文本中蕴藏着丰富的语言训练价值点,值得学生在品析中玩味借鉴。因此在阅读教学中,教师要精确选准文本的语言精读点,引领学生通过不同形式的朗读感悟,在品析中理解,在理解中积累,并在潜移默化中运用。
例如,在教学《小露珠》2-4自然段时,文段中三句话的内在结构类似,是学生积累运用的好资源。笔者在教学过程中,就采用了诵读、填充、运用的方式进行教学。先是引领学生以辨析对比的视角感悟语段结构相同,但词语迥异的表达效果,形成整体性的语言感触。然后,将词语从文本中抽取出来,并打乱原文的顺序,引导学生将积累的词语回归到课文中:
早哇,像 那么 的小露珠;早哇,像 那么 的小露珠;早哇,像 那么 的小露珠。
有了原有情境的补充填入,教师可以创造性地设置其他语言情境,引领学生通过对情境的细致辨析,巧妙地运用词语进行实践运用,让学生在诵读中触摸词语质感,在辨析中揣摩文本语境,在运用中提升言语智慧。
二、开掘练说资源,在模仿运用中积累
言语的习得从仿照开始。教师要善于根据文本中的典型句式,引导学生进行仿照表达,强化学生语言训练的效度,从而达成在运用中强化积累的效果。
例如《桂花雨》一课的第二自然段,为了凸显桂花的香味,作者写道:“桂花开得最茂盛时,不说香飘十里,至少前后左右十几家邻居,没有不浸在桂花香里的。”显然,学生对于这一句式较为陌生。因此在教学中,教师在学生精读文本语句的基础上,引导学生从完整的语句中抽取出支撑起语言结构的内在框架:“不说……至少……没有不……”教师通过激情诵读,让学生从感性层面感知这一句式的表达效益。在此基础上,引导学生以生活为资源,仿照说话:“小王成绩最好时,不说门门功课100分,至少书上的知识,没有他不能掌握的。”
这样的仿照说话,学生在不经意间完成了对语言的表达历练,同时更加将这一典型句式镌刻在意识深处,形成了积累与运用的双重效益。
三、依托课后练习,在辨析积累中运用
教材在每篇课文之后都精心设置了思考练习题,而很多的题型都指向于对文本语言的积累与运用。这样的练习设置应融入阅读教学体系中,从而真正促进学生言语能力的有效提升。
例如,在教学《雾凇》一文时,教师紧扣文后“选用词语,描绘一处雾景或者雪景”的练习,在教学中进行了这样的引导:首先出示文后练习中的词语,并分别引导学生找到出处,引领学生诵读原文,根据文本中的情境,感知词语的表达属性。其次,引导学生分别选用一个词语,以单独语句的形式描绘印象中的雾景或雪景。最后,引导学生整体把握,并按照一定的顺序,进行词语综合性实践运用,一段段精美的写景片段就这样应运而生。
在这样的过程中,教师依托练习点中提出的词语,让学生追根溯源,以文本为语境感知词语的运用情境,并在单句运用的基础上引导学生整体把握,形成综合性的运用体系,有效地将积累与运用串联成有机的整体,可谓一箭双雕。
四、关注内容特质,在拓展积累中运用
阅读教学以教材为载体,但这并不意味着学生的积累只能局限在教材和教学的内容之中。教师要引领学生厘清需要积累的内容的特点,充分调动学生的原始库存,并通过创造性的机会,使原本僵硬的积累得以复活,直至灵活运用。
例如,《李时珍夜宿古寺》一文中有两个词语“饥餐渴饮、晓行夜宿”。这两个词语生动形象地展现了李时珍艰辛的药材寻访之旅,应成为本篇课文积累的重要词语。但在教学中,教师并没有止步于这两个词语的辨析,而是引领学生探寻这两个词语的组成机构:由两个并列关系的动词组成,且后面都有修饰性的状语。在学生把握了这一特性时,教师可以帮助学生进一步拓展思维,从而将与此相似的词语一网打尽:呼朋引伴、情投意合、朝思暮想……而后,教师引导学生分别进行造句练习,达到了感知、积累、运用的一条龙训练。
关键词:语言习得;普遍语法;认知心理学
一. 引言
代表认知研究的两大主要学派,Chomsky和Piaget都认为语言习得是一种创造性的、受规律支配的内在过程,并非简单的刺激-反应。他们也都承认儿童在语言习得方面有天生的能力,但在什么是天生的、什么是习得的等问题上,两派存在分歧。Chomsky强调语言习得的基因决定性;Piaget则论述儿童的语言习得是认知能力与客体、事件相互作用而分阶段建立的。为了更好地了解语言习得的本质,本文欲对Chomsky语言习得观及其它语言习得观作一简要分析,并进一步阐述认知心理学界对语言习得基本问题的丰富。
二. Chomsky的“普遍语法”假说
(一)普遍语法的核心思想
根据Chomsky(2002)、Pesetsky(1999)、Cook & Newson(1996)等著述,普遍语法的核心思想大致如下:1)人类的认知系统存在一个天赋的、独立的、一致的语言习得机制;2)普遍语法代表语言习得机制的初始状态,是人类能够学会一种具体语言的内在原因;3)普遍语法为人类语言所共有,先天地规定着人类语言的组织原则;4)普遍语法关注的是语言能力而非语言应用。正是与生俱来的普遍语法在环境的触发作用下,儿童得以克服语言输入的局限并在短期内顺利掌握本族语。
(二)普遍语法的论证
Chomsky普遍语法假说的论证如下:1)语言规则抽象又复杂,儿童却能在其它技能尚未充分发展的时期顺利习得本族语;2)儿童接触到的语言输入残缺不足,却能在短短几年内掌握一套丰富而又复杂的语言规则体系;3)人类语言存在很多共项,它们反映了人类内在语言知识的普遍原则。故人类天生具有一套普遍语法规则或结构观念。此外,Chomsky运用了如下推理:假定语言的发展状态是由基因决定的初始状态S0经过S1 S2……最终达到一个稳定状态Ss,若证实Ss中某些语言知识不是来自外界的语言输入,那么它一定来自基因遗传。普遍语法的提出是为了探讨人类如何习得语言,其立场属于生物取向中的先天论,其论证集中在句法原则的习得上。
(三)普遍语法的逻辑质疑
以上论证确有道理,但其逻辑思路仍待考究:1)虽然外界语言输入不足以解释儿童运用语言的能力,但也不能必然得出普遍语法的存在;2)儿童能在短短几年里掌握一种语法,但“短”是一个相对概念,“掌握”也是一个程度问题,这并不足以证明普遍语法的先天存在性,除非人类发现所有正常新生儿的脑组织中确有部位控制着语言结构的基因信息;3)语法学家对儿童语法规则的分析结果并不表示儿童是在有意识地使用这些规则;4)若真有语言习得机制,人类是否也拥有天生的跳舞、绘画等无穷无尽的“认知机制”呢?5)人类语言的确存在共项,但语言共项并非反映先天规定好的普遍原则,而是基于人类共有的认知能力和共同生活的规则空间。
三.认知心理学界对儿童语言习得的研究
近十年来,认知心理学界对儿童认知发展的研究取得了一定成果,深化了我们对大脑与语言关系的认识。普遍语法假说是语言学界的理论基石,但在认知心理学界,仍有其它假说探讨了语言习得的基本问题。
(一)Piaget的“认知”假说
Piaget强调:语言能力是认知能力逐渐发展的结果;符号表征能力是一般认知前提;语言能力并非一种初始的认知能力,而是由更基本的认知能力组成。
认知心理学界的大量研究表明,儿童的语言习得是一个由简到繁、循序渐进的过程。就单词语习得阶段而言,大约在10-13个月时,儿童开始习得单词;大约在18个月时,儿童的单词量骤然增长。如Piaget所言,儿童对单词的掌握是依靠已经发展成熟的符号表征能力、接受成人语言的影响以及观察周围事物的结果。这一阶段的单词一般是与儿童生活密切相关的物体和事件且没有语法结构和语法标记。
然而,Piaget对语言能力的解释也不够彻底,他没有直接研究句法的习得,也忽略了语言能力的发展也会促进认知能力的发展。
(二)Pinker的“语义引发句法学习”假说
Pinker指出:儿童先学会辨别各个单词的意义,然后伴以情景信息对句子达成某种语义上的解释,进而注意到语义概念和句法概念之间的联系,并逐渐从已形成的概念和语义指示中抽取句法知识。依他看来,儿童首先学会语义,然后根据语义的关系习得语法。
单词语习得阶段之后是双词语习得阶段,儿童普遍使用“电报语”体现施事—动作(妈咪吻)、动作—对象(打球)、施事—对象(妈咪娃娃)、动作—位置(坐椅子)、实体—位置(杯子桌子)、所有者—所有物(爸爸汽车)、属性—实体(大汽车)、指示词—实体(那汽车)等八种语义关系。双词语的出现暗含儿童习得语法结构的开始,而且,双词语阶段和单词骤长期都发生在18个月时,两者的时间连贯性正好验证了Pinker的语义引发句法学习假说。
认知心理学界认为,儿童早期的语言组织是依据所要表达的语义而非抽象的语法原则,其语言结构的复杂化是认知能力逐渐深化、要表达的语义内容逐渐多元化的结果。
四. 语言能力合成说
借鉴认知心理学界的研究成果以及受到Piaget认知学说的启发,石毓智(2005)等学者提出“语言能力合成说”:人类认知能力是一个层级结构而非平行、模块状的;语言能力不是最基层的认知能力,它是由更基本的认知能力协同合作而形成;这些基本认知能力还可以合成其他诸多认知能力如音乐能力、绘画能力、数学能力等。石毓智还阐述了与语言习得关系最密切的六种基本认知能力:符号表征能力,对量的认知能力,概括、分类能力,记忆、预见能力,联想、推理能力,声音、形状的辨别能力。当然,相关的基本认知能力还不止这些,此学说的提出是要坚持一个哲学立场:人的语言能力是第二位的,它是多种基本认知能力协同工作的结果;语言知识也不是先天的,它是人们依赖这些基本认知能力后天习得的。
“语言能力合成说”仍处于草创初期,各种基本认知能力与语言的关系有待深入研究,但这一假说启发我们以一个新的视角来认识语言习得的基本问题。
五. 结语
就语言习得基本问题而言,不同学者有各自的哲学理念和研究取向,各个学说有其可信性,也有待完善之处。鉴于语言能力的获得问题是一个具体的人类认知问题,我们要探讨它就需要给出直接的科学论证,仅有逻辑推理和哲学假设还是不够的。
一方面,Chomsky的普遍语法假说缺乏科学论证并存在一定的逻辑漏洞;另一方面,认知心理学界的其他假说还不是一种自成体系的语言习得理论,要了解语言习得还得要专门研究这个系统。认知对语言的习得作用是肯定的,但仅有认知还不够。语言有其自己的根源和发展规律,认知能力并不能解释所有的语言习得现象。在认知能力的引导下,儿童究竟如何将意思编码成语言?解答这个问题除了依靠基本的认知过程,还需了解其特定的语言过程,而对这些特定的语言过程,我们的研究之路还任重道远。
参考文献:
[1] 桂诗春. 新编心理语言学[M]. 上海:上海外语教育出版社,2007.
[2] 石毓智. 乔姆斯基“普遍语法”假说的反证——来自认知心理学的启示[J]. 外国语学院学报,2005,(1).
关键词: 英语学习 基本问题 改进措施
一、语言学习的目的
语言是一种交际的工具。虽然它不是人类交际的唯一形式,但毫无疑问,它是最重要的一种形式。我们精心设计的整个社会结构都是通过语言来调节的。假如我们没有口头语言和后来的书面语言,就不可能创设这样一个如此复杂的社会交往系统。可见,人们学习语言的目的是为了交际,而不是为了显示他们可以记住各种各样的语法或语音规则。
二、英语学习所面临的问题
外语教学最基本的要求之一就是要会运用。无论学了多长时间的英语,无论学了多少英语,不论是小学、中学、大学,教学大纲上对“说”英语都有明确的要求。新课标对小学英语一、二级中“说”的技能有着详细的描述。由上述可以知道,“说”分为两种,第一种是不用思维去组织自己的想法,直接在图片或教师的提示下说;第二种是根据一定要求,经过思维对自己所要表达的意思进行整理,从而正确流利表达自己的想法,通俗地说也就是灵活运用。对于前者的要求,大部分教师都能在教学中达到要求,但相对而言,后者的要求就比较难达到。虽然教师心中清楚地知道只有做到灵活运用英语,才是真正意义上的“学好英语”,而且也朝着这个方向努力,但效果并不好。现在大多数学生都不敢张口说英语,有的学生初中英语要学完了还不敢用英语做简单的自我介绍。尤其是我们农村的中学英语教学更是难。有一年我到一个三年级的班上借班上课,上课之前我在班上用英语和学生交流,班上有一半的学生对我的“Nice to meet you.”“What’s your name?”都不敢回答。虽然他们知道怎样回答,但就是不敢张口和我对话。因此,如何提高学生灵活应用英语,进而提高英语交际能力的问题也就成了教学中一个急待解决的问题。
三、问题存在的原因
学习效果不好并不等于教师的工作做得不够多。其实,在生活中我们可以看到很多教师为了提高学生应用英语的能力做了大量的工作,千方百计地为学生创设各种英语氛围,比如各种活动丰富的英语角、英语超市、英语剧社等,学生似乎也很感兴趣,但最终还是离不开教师或多或少的提醒和帮助,只有在教师的引导下才能有所创新。因此,这些活动很难说对学生综合应用的水平有多大意义上的提高,无非也还只是美丽包装下的表演而已。那么造成这种现象的原因是什么?为什么在中国学英语会有这么多“哑巴英语”的现象?
首先从教师角度来看,有这样一些原因:1.受英语应试教育的影响,往往以知识为本,重知识传授,轻语言交际能力的培养;2.教学模式还是以教师为中心、课本为中心、教室为中心,教师讲,学生听,单纯的机械训练,忽视了学生的自主学习、合作学习和任务驱动性学习;3.教师所创设的教学语境不够真实,缺乏生活化的真情实感的语言实践;4.英语学科评价虽然也有口试,但还是偏重语言知识的终结性评价,忽视学生语言综合运用实践的形成性评价。以上这些原因最终使学生处在被动地位,久而久之缺少了学习的主动性,学生的思想就像套上了枷锁,无法真正表达自己的情感。这与提高英语交际能力所需的“主动”、“自我体验”是相矛盾的。在现实学习中,常常是教师要求做什么,学生才做什么,根本谈不上课外主动思考和运用。学生最多也只是按教师要求背一背单词和课文,要不就是表演课文,即使是教师要求下的自由表演也还是离不开文本的限制。由此可以看出,学生缺少用英语的主动性,少了思维的参与,自然而然就谈不上灵活运用了。在“学好”的基础上说“运用”都如此难,更何况实际教学中,往往有一些学生还没“学好”就谈“运用”,更是难上加难。因此,学生要真正达到灵活运用,在教师监督下的打好基础是必需的,其次才是发散思维。根据上述情况,从学生角度来说,造成不能灵活应用英语的原因有以下几点。
1.语言积累不够。
2.脑海中只有支离破碎的单词、短语和单句,没有语篇感。
3.只能在教师设定的模拟情景中表演,不能灵活表达。
这三个原因之间是一种层层递进的关系,前一原因是后一原因的基础。因此,所采取的措施也是层层递进的,只有在解决好前一原因后才能更有效地解决后一原因。
四、采取措施及具体实施
1.解决语言积累不够的问题
(1)通过朗读培养良好语感。
英语教学是语言教学,它和语文教学一样,重在反复读,时刻练,从而培养学生一定的语感和良好的语音语调基础。朗读是巩固旧知、激发学生求知欲和培养学生美的语音、语调、语感的好方法。我要求学生每天早上提前半小时进教室朗读书上出现的所有句型、对话和短文,培养其良好的学习习惯和语感。
(2)大量背诵,积累语言素材。
为了学生将来在生活中遇到类似的情景时能够将英语脱口而出,我要求学生把功能句型整句背诵,借以培养学生良好的语感,提高口语表达能力,这是流利表达的基础。
2.解决学生脑海中没有语篇感的问题
学生有了大量的背诵后,为什么还是不能脱口而出?因为大量的背诵还只是输入。没有在实践中进行过有效的对话,还不能说是完全掌握。学英语的人都有过这样的经历,即使是在大量背诵的基础上,在陌生环境中想表达自己的想法时,脑海中最先出现的仍可能是几个关键词,而不是整句话,所以在实际生活的自由表达中,会有不知从何说起的感觉。于是,表演课文就成了许多教师采用的方法。但从背诵到表演课文不是我们所看到的那么简单。表演课文之前,要让学生至少能有完整的一句话的输出。如果能达到在任何情况都“逢问能答”的程度,就为从“句”的输出到“篇”的输出奠定了基础,因为能做到在任何情况的“逢问能答”说明学生是真正理解意思的。这就避免了某些学生背得很熟,却是有口无心的现象。然后在此基础上进行按课文表演,这是必不可少的过程。英语是一门实践性很强的课程,从背诵到表演,有利于学生在模拟的情景中加深感悟。但仅仅是表演课文还远远不够,教师还要根据学生所学内容,按其功能性创设类似的情景再次让学生表演。有了前面这些大量的工作作铺垫,学生的表演可能会加入自己的思想,但扩展还不是很大,而且整个对话的结构还是会受到课文的限制。尽管如此,这也为学生灵活运用英语搭建了一个台阶。
3.解决不能灵活表达的问题
经过前面几个步骤的训练,学生能在教师创设的情景中对话,虽然受到文本的限制,但学生的思维已经开始启动,只是效果不是很明显。如果此时让学生在实际生活中说英语,他们往往会觉得无话可说,还是会出现冷场现象。造成这种现象的原因是前几个步骤中都是教师提出问题,学生来回答,或是教师创设情景,学生在接到任务后进行对话。这些活动都是以教师为主,学生处于被动地位。所以学生的思维也是被动的,自然而然也就谈不上灵活运用了。
在此基础上,我们非常必要而且迫切需要做的一件事就是让学生张口。大部分学生都害怕张嘴说,更害怕说错,对自己没有信心。教师必须帮助他们克服这个问题,让学生树立信心,体会到说英语的乐趣,进一步热爱英语。
五、结语
总之,学习语言的目的是为了获得使用它进行交际的能力。由于英语不是我们的母语,在学习和运用的过程中学生会遇到更多的问题与挑战。这对英语教师来说提出了更高的要求。学习英语是为了懂得英语,而不是仅为懂得英语知识而学习;学习英语是为了用英语与人交际,而不是仅为向人炫耀自己已学了多少英语知识。作为学生学习英语的指导者,中学教师们应该大胆地摈弃传统的语法翻译法,在中学英语教学中优先注重交际能力的培养。
参考文献:
[1]英语课程标准解读.
关键词:编辑框;文本查找;文本替换;Visual FoxPro程序设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30767-02
Design of String Search and Replacement within An Edit Box
QIN Hong-xia
(Law School, Zhengzhou University, Zhengzhou 450001, China)
Abstract: String search and replacement design methods based on Visual Foxpro are mainly discussed. On the basis of designing a search and replacement form interface and setting relative attributes, the search and replacement functions are expounded. Then basic processes of relevant object events are analyzed, and corresponding Visual Foxpro program codes are supplied with.
Key words: Edit box; String searching; String replacement; Visual Foxpro program design
1 引言
编辑框是Visual FoxPro(以下简称VFP)中常用的一种重要控件,主要用于输入和编辑与之关联的长字段或备注型字段文本。如图书表中的内容提要就可以设计为备注型字段,并与输入界面中的编辑框控件建立关联,程序运行时通过在编辑框中输入(或编辑)相应的内容便可完成该备注型字段的输入或修改。由于编辑框中的文本内容相对较多,要手工查找与替换其中的某些字词就不太方便,这样,设计相应的查找与替换程序就显得非常必要了。本文将以VFP为系统开发环境,探讨对编辑框定内容进行查找与替换的设计与实现方法。
2 设计查找与替换表单
根据实际需要设计用于查找与替换的表单,作为用户操作界面,如图1所示。其中,Text1、Text2是文本框的Name属性,Edit1为编辑框的Name属性,表单上的汉字为对应控件的Caption属性。标签控件“查找:”、“替换为:”的Name属性分别为Label1、Label2,选项按钮组及其包含的“查找”与“替换”单选按钮的Name属性分别为Optiongroup1、Option1、Option2,“确定”、“关闭”是对应命令按钮的Caption属性。
图1 查找与替换表单
3 功能目标
程序必须首先正确实现以下主要功能:①在Text1中输入要查找的内容,若选中单选按钮“查找”,则单击“确定”按钮时可在Edit1中选中第一个要查找Text1中的内容,同时该单选按钮的标题变为“查找下一个”,再单击“确定”按钮时可选中下一个要查找的内容;当满足一定条件时,该单选按钮会再次变为“查找”。②若选中单选按钮“替换”,则单击“确定”按钮时,就会将Edit1中所选择的与Text1中匹配的内容替换为Text2中的内容。
程序还应当尽可能完善和合理,并实现以下必要功能:①表单启动后,“替换为:”标签及Text2文本框为灰色不可用状态,焦点位于Text1文本框,单选按钮“查找”被选中。②有适当的提示,如“查找操作,无匹配的内容!!”、“已是最后一个”、“替换操作,无选中待替换的内容,或选中的内容与查找的内容不匹配!”等。③任何时候选中单选按钮“查找”(或“查找下一个”),则“替换为:”标签及Text2文本框都会处于灰色不可用状态;任何时候选中单选按钮“替换”,则“替换为:”标签及Text2文本框都会处于可用状态。④操作完毕,能关闭表单。
4 功能实现
4.1 将编辑框的HideSelection属性设置为逻辑假值
为使编辑框Edit1失去焦点时,其中选定的内容仍显示为选定状态,需要在属性窗口将Edit1的HideSelection属性设置为“.F.-假”。
4.2 设置表单的初始化过程
表单启动后,希望“替换为:”标签与Text2文本框处于灰色不可用状态,焦点位于Text1文本框,且单选按钮“查找”被选中。为达此目标,可在表单Form1的Init过程中输入如下对应的VFP代码:
thisform.text1.setfocus
thisform.label2.enabled=.f.
thisform.text2.enabled=.f.
其中,text1、label2、text2分别为Text1文本框、“替换为:”标签、Text2文本框的Name属性,如第2节所述。
4.3 为表单新建一个表示查找次数的countnum属性
在VFP设计状态,利用“表单”菜单下的“新建属性”命令新建一个名称为countnum的属性,并在属性窗口将countnum的属性的初始值设置为0。当countnum值为某个正整数时,可用at()函数求出Text1中内容的首字符在Edit1中第countnum次出现的位置(见4.4.2节)。当at()的函数值为0时表示Edit1中没有出现与Text1中匹配的内容,或表示Edit1中出现Text1中内容的总次数低于countnum。
4.4 设计“确定”按钮的Click过程及代码
4.4.1 “确定”按钮的Click过程
单击“确定”按钮时,如果选项按钮组中选中的是第一个单选按钮“查找”(或“查找下一个”),则程序执行查找操作;反之,如果选中的是第二个单选按钮“替换”,则程序执行替换操作,更详细的程序流程如图2所示。图2中,表单的countnum属性是专为查找与替换表单建立的,初始值已设置为0;由于表单的HideSelection属性已设置为.F.,所以指定待选择内容的起始位置和长度后,待选择的内容将被选定;每执行一次查找,countnum值就加1,查找到最后一个待查的内容后,countnum值应变为0,以便执行下一次查找。对于替换操作,选定的内容被替换后仍需要被选定,所以用k保存了所选文本被替换前的起始位置,每执行一次替换,countnum值就减1,减1后如果等于-1,说明减1前的countnum值已为0,即Edit1中已没有与Text1中匹配的待查找内容,这时countnum值应变为0;当Edit1中某次被替换内容所在位置之后已没有待查找的内容时,countnum值也应变为0。
图2 “查找”与“替换”程序流程
4.4.2 “确定”按钮的Click过程的程序代码
根据图2所示的“查找”与“替换”程序流程,设计“确定”按钮的Click过程所对应的VFP程序代码如下:
if thisform.optiongroup1.value=1
thisform.countnum=thisform.countnum+1
n=at(trim(thisform.text1.value),thisform.edit1.value,thisform.countnum)
if n!=0
thisform.edit1.selstart=n-1
thisform.edit1.sellength=len(trim(thisform.text1.value))
thisform.optiongroup1.option1.caption ="查找下一个"
else
if thisform.optiongroup1.option1.caption="查找下一个"
messagebox("已是最后一个!",48,"提示")
thisform.optiongroup1.option1.caption ="查找"
else
messagebox("查找操作,无匹配的内容!!",48,"提示")
endif
thisform.countnum=0
endif
else
if thisform.edit1.seltext=trim(thisform.text1.value)
k=thisform.edit1.selstart
thisform.edit1.seltext=trim(thisform.text2.value)
thisform.edit1.selstart=k
thisform.edit1.sellength=len(trim(thisform.text2.value))
thisform.countnum=thisform.countnum-1
if thisform.countnum=-1
thisform.countnum=0
endif
if at(trim(thisform.text1.value),thisform.edit1.value,thisform.countnum+1)=0
thisform.optiongroup1.option1.caption ="查找"
thisform.countnum=0
endif
else
messagebox("替换操作,无选中待替换的内容,或选中的内容与查找的内容不匹配!",48,"提示")
endif
endif
4.5 功能的完善
4.5.1 单击单选按钮“查找”(或“查找下一个”)时便于执行查找操作
单击单选按钮“查找”(或“查找下一个”)时,如果Text2文本框是可用的,则需要将“替换为:”标签及Text2文本框变为灰色不可用状态。为便于在Text1中输入待查找的内容,还应使Text1获得焦点。单选按钮“查找”的Click过程代码为:
if thisform.text2.enabled=.t.
thisform.label2.enabled=.f.
thisform.text2.enabled=.f.
endif
thisform.text1.setfocus
4.5.2 单击单选按钮“替换”时便于执行替换操作
单击单选按钮“替换”时,如果Text2文本框是灰色不可用的,则需要将“替换为:”标签及Text2文本框变为可用状态。为便于在Text2中输入替换后的内容,还应使Text2获得焦点。单选按钮“替换”的Click过程代码为:
if thisform.text2.enabled=.f.
thisform.label2.enabled=.t.
thisform.text2.enabled=.t.
endif
thisform.text2.setfocus
4.5.3 Text1中内容变化时便于新内容的查找操作
Text1的内容发生变化时,说明可能是需要从头开始查找新的内容,这时需将选项按钮组中的第一个选项按钮的标题变为“查找”,并将表单的countnum属性值置0。Text1文本框的InteractiveChange过程代码为:
thisform.optiongroup1.option1.caption="查找"
thisform.countnum=0
4.5.4 单击“关闭”按钮时应释放表单
单击“关闭”按钮时,希望释放表单,“关闭”按钮的Click过程代码为:
thisform.release
5 结束语
编辑框是表单设计时经常使用的一种非常重要的控件,主要应用于数据表中长字段或备注型字段的输入和编辑设计。在对这类字段进行信息输入和编辑时,经常会用到查找与替换操作,因此,编辑框中的文本查找与替换设计就成为系统设计与实施中的重要任务之一。在进行设计时,除保证正确实现最基本的查找与
替换功能外,还应兼顾用户界面友好、操作使用方便,并考虑到可能会出现的各种情况,以便做出妥善的处理,使程序的功能尽可能完善。本文旨在探讨与说明编辑框中文本查找与替换的设计思路及方法,所提供的VFP程序代码已通过上机验证。
参考文献:
[1]教育部考试中心. 全国计算机等级考试二级教程――Visual FoxPro程序设计[M]. 北京:高等教育教出版社,2004. 218-220.
[2]丁志云. Visual FoxPro数据库与程序设计教程[M]. 北京:中国电力出版社, 2005. 207-209.