文件资料编写管理制度

2024-09-08

文件资料编写管理制度(共7篇)

文件资料编写管理制度 篇1

浅谈质量管理体系程序文件的编写

本文论述了质量管理程序文件的概念和作用,明确质量管理体系程序文件的编写原则和要求,澄清了对质量管理体系程序文件的误解,对编写质量管理体系程序文件提出建议。

关键词

质量管理体系程序

概念

作用

原则

要求

建议

随着国内企业的进一步对外开放,与国企业的进一步合作,使得竞争以更加激励的态势展开,企业的发展和经营面临着极其复杂的局面,目前国内企业普遍存在质量管理水平较低,管理规程缺乏,过程控制薄弱、流程接口不畅,生产效率低,产品质量差、管理责任不清,员工质量意识不强,激励机制不健全,运营成本增大,安全事故频发,顾客满意率不高等问题,给企业的发展带来了严峻的挑战。面对发展压力、竞争压力,如果在思想观念上仍然抱残守缺,死守旧套套、老框框,在激烈的市场竞争中旧可能坐失良机贻误发展。一个企业的兴衰成败“三分在技术,七分在管理。”未来的市场竞争是管理的竞争,而管理竞争的核心表现为产品质量、服务质量的竞争,因此,建立和推行质量管理体系,是企业外塑形象,内强素质,规范管理,完善机制,提升核心竞争力的迫切需要和必然选择。1 质量管理体系的概念和作用 1.1 质量管理体系的概念

质量管理体系是企业内部建立的、为实现质量目标所必需的、系统的质量管理模式,是组织的一项战略决策。它将资源与过程结合,以过程管理方法进行的系统管理,根据企业特点选用若干体系要素加以组合,一般包括管理活动、资源提供、产品实现以及测量、分析与改进活动相关的过程组成,可以理解为涵盖了从确定顾客需求、设计研制、生产、检验、销售、交付之前全过程的策划、实施、监控、纠正与改进活动的要求,一般以文件化的方式下发,成为组织内部质量管理工作的要求。质量管理体系程序文件是描述企业质量管理体系的一套文件,是企业建立和保持开展质量管理和质量保证工作的重要基础,是质量管理体系审核和质量管理体系认证的重要依据。1.2 质量管理体系程序文件的作用

质量管理体系程序文件是确保企业质量体系运行的法规,企业通过认真执行质量管理体系文件达到预期的目标,主要是阐述为实施质量体系要素所涉及到的各职能部门的活动或过程所规定的途径和方法。质量管理体系程序文件确定了企业各部门的职责和权限,是企业内审的依据,是企业进行质量改进的保障。建立并完善质量管理体系程序文件是为了进一步理顺关系,明确职责与权限,协调各部门之间的关系,使各项质量活动能够顺利、有效地实施,使质量体系经济、高效地运行,以满足顾客和消费者的需要,并提升企业的获利能力。

企业的质量管理就是通过对企业内各种过程进行管理来实现的,因而就需要明确对过程管理的要求、管理的人员、管理人员的职责、实施管理的方法以及实施管理所需要的资源,把这些用文件形式表述出来,就形成了该企业的质量管理体系程序文件。质量管理体系程序文件指明了为进行某项活动所规定的途径。一个组织要确保所提供的产品满足顾客规定和潜在的质量要求,建立健全质量管理体系,就必须全面系统的编制质量体系程序文件,并有效的付诸实施。

质量体系程序文件是组织开展质量管理和质量保证工作的基础性文件,应包含质量体系中所有适用的要素。每一质量体系程序文件都应包括质量体系的一个逻辑上独立的部分,例如一个完整的质量体系要素或其中一部分,或一个以上质量体系要素中相互关联的一组活动。

质量管理科体系程序文件作为质量手册的下层文件,起承上启下的作用,是联系质量手册与现场操作规程的桥梁,应建立起质量手册要求与现场操作规程之间的联系。2 质量管理体系程序文件的编写原则和要求

为了实现高增值的目标,需要开发和创造性劳动,需要在文件编制时遵从一些重要的原理和原则。

2.1 质量体系文件的基本要求

A)符合性——应符合并覆盖所遵守标准或所选标准条款的要求;

质量体系文件应符合本企业的质量目标和质量方针;符合所选标准的要求;符合本单位的实际情况。

B)可操作性——应符合本企业的实际情况。

具体的控制要求应以满足企业需要为度,而不是越多越严就越好。质量体系文件必须符合企业的客观实际,具有可操作性。这是文件得以有效实施的重要前提。因此,应该做到编写人员深入实际进行调查研究,使用人员及时反馈使用中存在的问题,力求尽快改进和完善,确保文件可以操作且行之有效。

C)协调性----文件和文件之间应相互协调,避免产生不一致的地方。针对编写具体某一文件来说,应紧扣该文件的目的和范围,尽量不要叙述不在该文件范围内的活动,以免产生不一致。

D)系统性——应该站在系统高度,着重搞清每个程序在体系中的作用,程序的输入、输出与其他程序之间的界面和接口,并施以有效的反馈控制。此外文件之间的支撑关系必须清晰:质量体系程序要支撑质量手册,急即对质量手册提出的各种管理要求都要有规定、有控制的安排。作业文件也应如此支撑质量体系程序文件。

2.2 质量体系文件的文字要求

A)职责分明,语气肯定(避免用“大致上”、“基本上”、“可能”、“也许”之类词语); B)结构清晰,文字简明; C)格式统一,文风一致;

2.3 质量体系文件的内容一般包括如下方面: A)目的:说明为什么开展该项活动;

B)范围:说明说动涉及的产品、项目、过程、活动等的范围; C)职责:说明活动的管理和执行、验证人员的职责; D)定义:对于程序中需说明的常用词语进行具体描述;

E)

程序内容:详细阐述活动开展的内容及要求(必要时包括流程图); F)

质量记录:列出活动用到或产生的记录; G)支持性文件:列出支持本文件的下层文件;

H)附录:本程序文件涉及的附件,编号方式为附录

一、附录

二、; 3 对质量管理体系文件编写的误解

3.1 质量管理体系程序文件越详细越好/越多越好

质量管理体系程序文件应针对质量管理手册所规定的过程进行必要的说明和支持,是归类性的总结。主要应说明为实现目的所经过的流程和权责,明确流程流向和载体,对不能按照流程进行的过程进行必要的规定。程序文件不是针对具体的操作过程,所以不要详述每个具体的操作过程。具体的操作过程可通过下发操作说明书的方式进行规定和明确。在编制质量管理体系程序文件的过程中,部分企业也容易出现编制很多文件来体现标准条款的情况。标准中的质量条款是“纲”,在设计质量文件时,所有的标准条款都应予以考虑,但不是所有的条款都要对应一份文件,所有的条款对应关系应根据本企业的实际情况进行考虑和调整。对于所有条款都应在程序文件中做出“交代”,那些很难描述清楚,或流程较长的过程,可以考虑将流程拆分形成单独过程并形成的程序文件。3.2 质量管理体系程序文件越简单越好

程序文件应对质量手册中指明的过程进行必要的规定,对于目标实现所经历的过程流向、节点等都应有明确规定,不能直接摘录质量手册或标准中的条款,应针对本企业的实际情况做出细化的说明,说明应至少包括过程的触发时间、必要的输入条件、输出物、步骤、方法、载体等。程序文件的建立应依据过程,一般一个过程一个程序文件,可以多,但不能少。

3.3 其他企业的质量管理体系程序文件编的比较好,拿来就用;

所有企业的程序文件都是针对本企业的实际情况进行编制的,程序文件约束了本企业在程序实现过程中的要求,仅对本企业使用,其他企业不能直接拿来使用,会“水土不符”,造成管理的混乱。如果觉得其他企业程序文件写得好,应仔细分析和学习文件的编制方法,并研究程序文件中规定的工作思虑,根据本企业的实际情况完善和修改本企业的对应文件,达到不断改进的目的。

3.4 审核过程中提出的问题和建议,直接编在程序文件中;

在审核过程中,基本上不可避免的会发现本企业在质量体系文件中存在的一些问题,这些问题产生的主要原因是文件本身编写过程中存在的漏洞,或编写人员对于过程中可能发生的情况估计不足造成的。审核的问题都是有针对性的,有可能仅是一个项目的特殊规定,不一定全部项目都适用,因此应针对发现问题的整改应实际问题实际分析,不能“简单粗暴”的修改或新增文件,要根据企业的实际情况分析究竟是什么层面的问题,找出引发问题的根本原因,并针对根本原因进行针对性修改,达到提升质量管理水平的目的。3.5 过程运行不畅,直接删除程序文件;

企业在编制质量体系文件的过程中,会针对公司的实际情况设计和编制必要的程序文件。这些程序文件或是针对公司的特定过程,或是为了满足某种需求。因此,不能随意的删除某分程序文件,要针对公司的实际情况和发展预期,有目的和范围的增删文件。当过程运行不畅时,应首先停止该过程的活动,并与相关人员进行沟通和了解,收集和总结与程序文件相关的各部门对程序文件的反馈,针对发现的问题对过程进行修改和明确,使程序文件重新适应本企业的实际需求。程序文件应实行动态的管理,定期或不定期的针对过程中发生的实际问题进行完善和修改。如果直接删除则该过程就没有了程序支持和管理,这对于公司的质量管理体系来说是不可接受的。3.6 文件有就行,可以不执行;

质量体系文件是公司的法规,需要认真和严格的执行和遵守。程序文件在编制完成后,应对文件所覆盖的部门和人员进行培训和宣贯,并定期或不定期的进行检查,以验证文件的可执行性,并找出文件中不适用或不明确的部分,针对文件的问题进行修改完善,使之不断满足质量体系运行的需求。做到“有法可依、有法必依、执法必严、违法必究”。3.7 有文件就可以,记录表格可以随便增加和删除

在程序文件设计和编制过程中,需根据符合性和追溯性的需要,编制必要的记录表格。记录表格的作用就是跟踪和证明过程的符合性和可追溯性。记录表格是质量记录的载体,是公司的“程序文件”。因此必须根据生产过程中的实际情况,清晰、准确的记录相关信息。记录表格在设计过程中应充分考虑过程的需求,有针对性的设计需记录的信息,确保质量手册、引用标准和客户需求的信息得到记录。当需求记录的信息发生改变时,可以更新、新建或删除表格,但在更新、新建或删除表格时,应充分考虑表格需求,做出适当的处理。4 编写文件的建议

企业在设计质量管理体系程序文件时,要切忌东施效颦、邯郸学步,用现有的东西去套用标准,甚至为走捷径而将别的企业文件直接套用。要根据企业自身实际情况和运行控制要求,识别各类运行过程,确定文件的多少和详略程度、结构和形式,全面覆盖,突出重点。要考虑文件的兼容性和可扩充性,编制遵循“三性两符合原则”,即有效性、适宜性、充分性,符合质量手册、符合引用标准。质量管理体系文件应明确表述每一岗位、每一环节、每一层级、每一系统的职责和权限、质量控制点和控制方法,确保企业管理和生产“有章可寻、有据可依”。

在编制质量管理体系文件时,可以遵循5W1H的原则,即What(做什么)、Why(为什么做(目的))、Who(谁来做)、When(何时做)、Where(在哪里做)、How(如何做)。

为保持文件的系统性,应遵照统一的要求来编写,而不能各行其是,百花齐放。在内容安排及说明文字中,要符合逻辑规律,不能前后矛盾或说法不一。如果把质量活动受到有效控制的情况看做是主流的话,那么不正常的少数、特殊情况则是支流。支流往往易被误认为正常的,支流下的产品易失控而造成质量问题。例如紧急放行、转序、不合格、标识丢失或部清,在质量体系文件中,对“支流”问题应有充分的控制措施来预防其失控。文字表达应准确、顺畅、简练,注意文字表达“规范性”。准确就是表达清楚,避免歧义;顺畅就是要语句通顺,易朗朗上口;简练就是要简介和明了。

文件要实现动态控制管理,从顾客的质量要求,到体系文件和质量活动都应该着眼于动态控制。实施动态控制,要求不断跟踪情况的变化和运行实施的效果,并及时、准确反馈信息,调整控制的方法和力度,从而保证质量体系具有针对性,能不断适应质量体系环境条件的变化,持续有效的运行。5 总结

质量管理体系程序文件是企业质量管理的基础,是质量管理手册的延续,是联系质量手册与操作文件的中间体,在公司的运行过程中有承上启下的作用。企业在面对复杂多变的市场时,质量体系运行的好坏将直接影响公司的运营。每个谋求发展的企业,都应建立自己的质量管理体系并维持其运行,这是现代企业发展壮大、赢得市场的基石。

文件资料编写管理制度 篇2

检验检测技术机构的管理模式是由体系文件来具体体现的, 体系文件包括《质量手册》、《程序文件》、《作业指导书》它是指导检验检测工作的文件, 是控制检验检测工作质量最大限度地发挥检验检测能力的有力工具, 更是规范化管理必不可少的。由于各地经济发展及产业结构不同因此技术机构承担的检验检测项目不同, 技术装备配置也不相同, 发展的方向更不相同, 其管理模式也应各有特点, 才能适应地方经济的发展, 技术机构管理者对技术机构的管理思想和管理模式在体系文件中能得以充分体现, 并以文字的方式得到具体描述。换句话说在满足考核规范, 认可准则的前提下, 管理者应根据各自管理特点和管理思路来设计体系文件。

ISO9001:2008标准把质量管理体系定义为“在质量方面指挥和控制组织的管理体系”, 通常包括制定质量方针、目标以及质量策划、质量控制、质量保证和质量改进等活动。实现质量管理的方针目标, 有效地开展各项质量管理活动, 必须建立相应的管理体系, 整个体系就叫质量管理体系。

建立技术机构质量管理体系的目的和意义: (1) 规范机构检测工作行为, 提高检测质量, 满足顾客需求, 更好地为企事业单位提供计量检测服务。 (2) 降低或减小检测风险, 增强自身保护能力。 (3) 提升单位形象, 扩展检测业务, 增加收入。

2 质量管理体系运行的必要条件

2.1 建立的质量管理体系必须是根据单位实际情况建立的, 这是运行的前提条件。

2.2 运行经费必须保障, 在运行中可以提供资源 (购置供应品、添置设备、培训人员等) 保障;改善环境条件和增添必要的设施。

2.3 全员职工必须全面了解质量管理体系, 熟悉自己的职能职责, 尤其是管理者必须准确了解和掌握体系文件的精髓。

2.4 最高管理者必须支持, 参与推动质量管理体系的运行。

3 质量管理体系文件编写的具体要求

3.1 质量管理体系文件的编写应由机构的最高领导者亲自领

导, 成立编写小组, 选择适当的人员编写, 人数可以根据机构规模的大小确定, 一般文件编写人员应从熟悉日常质量活动流程及相关人员的职责权限, 熟悉机构运行所依据的技术规范, 维护和管理机构质量活动, 并具有一定文学功底的人员中选择, 编写人员可以由质量负责人, 技术负责人和质量管理室主任构成。

3.2 机构应制定体系文件编制的总体计划, 从成立编写小组、培

训、进行体系策划、确保体系机构方案, 制定体系文件目录和编制实施计划到体系文件的编制、修改、审核、批准、发布、结构方案, 完善改进, 应按上述程序制定进度安排和要求。

编写组应根据机构自身的情况, 确定编写的质量体系文件的层次和结构。质量体系文件可以分为三层或四层, 第一层为质量手册, 第二册为程序文件, 第三层为作业指导书, 第四层为质量记录。有些机构也将第三层, 第四层合并为一层。文件的结构应尽可能依据规范、标准的内容顺序来确定编写文件的内容顺序, 章节号最好依据规范, 标准的章书号来编写, 这样避免了文件结构的随意性, 良好的文件结构不仅有利于阅读, 也有利于依据规范, 标准的内容对照检查。

3.3 在编写质量体系文件时, 编写小组要研究提出组织体系文

件的结构形式, 根据质量管理体系体系文件简练、实用、准确的要求, 确定除质量方针、质量目标、质量手册外, 应制定哪些程序文件和质量作业文件及质量记录, 主要要确定程序文件的形式及数量, 如加强程序文件, 简化手册、或减少甚至不制定程序文件, 细化手册;确定要多少管理性文件、技术性文件、质量记录。

在文件的编写过程中, 由于各层次文件的要求不同, (如质量手册是整个质量体系文件的核心, 程序文件是质量手册的补充和支持性文件;作业指导书主要用于详细说明程序文件中一些复杂的操作过程, 质量记录是记录所有质量活动的证据) 因此在编写过程中, 要有全局观念、分清哪些内容应编写在质量手册中, 哪些应编写在程序文件和作业指导书中。为了有利于体系文件的编制, 首先把为起草体系文件具有综合性指导性的文件先制定并确立下来, 纳入质量手册, 在编写质量体系文件时, 通常由第一层质量手册开始编写, 再陆续完成第二、三、四层等, 在编写质量手册时, 可以由一人主笔负责编写文件的框架, 其他人员编写详细内容, 也可以按层次结构分别编写, 最后再汇总合成, 无论采取那种方式编写, 说明人员职责权限的内容必须明确, 特别是涉及人员具体职责的内容。因为这直接影响质量体系文件中各部分内容的协调, 如果职责不明确, 就必然导致某些工作多人同时负责, 而某些工作又无人负责的情况发生。

质量体系文件由一人主笔, 其他人辅助编写的质量体系文件, 应在主笔人员完成填充内容后, 其他人员根据分工再填充自己负责的内容, 主要对主笔人员工作有效补充和核对, 由多人分工编写的质量体系文件, 在完成任务后, 由确定的汇总人员完成文件的汇总, 其主要工作是文件内容的排序、整理、并核对相关内容的兼容性 (如人员职责是否存在遗漏、重复或交叉等) 。质量体系文件的内容有多种形式 (如声照、承诺、要求等) 采用的表现方式包括文字、图形、表格等。因此在填写过程中, 要根据文件内容选择合适的方式, (如组织机构框图、质量体系要素分配表等) 有时还需要一些特殊要求, 如发布令需要机构负责人签字后才能生效, 进行文件修改时要填写修改目录等。无论是哪一层次的文件, 在填充文件内容的过程中, 始终要注重过程方法的原则, 即处理问题要严格按照过程方法, 有计划、有实施、有记录、有监督、有验证、有改进。

质量体系文件形成初稿后, 应由编写组成员审阅, 可以进行修订, 在文件审阅过程中, 应对质量管理体系文件进行试运行, 以检验质量体系文件的运行效果。以便及时发现问题, 经过修订和试运行后, 文件应进行审核, 质量手册、程序文件和管理性的作业文件, 因为它涉及到各职能部门的应用, 必要时应进行文件的会签, 质量手册应报请最高管理者批准。最高管理者应在质量手册批准页上签字。程序文件和作业指导书可由管理者代表或最高管理者批准, 文件批准后, 即应发布实施, 实施前应由质管部门统一进行编写, 要做到文件编写的唯一性, 由文件分管部门分发, 以加强对文件的控制。

体系文件的编制同样应实施PDCA动态循环, 随着体系运行, 内审及管理评审中所发现存在的问题, 则应及时修改体系文件, 体系文件应在不断修改, 补充中得到完善, 在体系运行中发挥应有的作用。

4 结束语

编制体系文件是一个十分艰苦细致的工作, 是贯彻整个认证工作的难点。机构应把这一过程作为培养锻炼熟悉规范、标准的骨干队伍的机会, 从中学习提高, 以不断提高技术机构检验检测能力。

摘要:在经历了质检机构资质认证、法定计量机构考核后, 对技术机构质量管理体系文件的编写有了一些体会, 本文将对质量体系文件的编写与大家进行交流探讨。

关键词:技术机构,质量管理体系文件,编写

参考文献

[1]ISO9001:2008质量管理体系[1]ISO9001:2008质量管理体系

[2]ISO/IEC17025:《检测和校准实验室能力的通用要求》[2]ISO/IEC17025:《检测和校准实验室能力的通用要求》

关于提高招标文件编写质量的思考 篇3

关键词:招标文件;编写;质量;问题;对策

招标文件,是指招标人(业主、项目法人)或由其授权委托的招标代理机构根据拟招标工程的特点而编制的,向所有投标人发出的表明招标意向和要求的书面法律文件。其编写质量的高低直接影响着招标方目标的实现和招标活动的顺利开展。因此,招标方必须高度重视,努力提高招标文件的编写质量。

一、招标文件的重要性

1.招标文件是招标人招标采购的意志体现

招标文件是招标人依据自身招标采购需求,按照《中华人民共和国政府采购法》等招投标法律法规而制定的,系招标人招标采购意愿的文书体现。

2.招标文件是投标人参与投标的根本依据

招标文件是严格按照规定格式编写的法律文书,个中体现了招标方的招标采购需求和要求,投标人依据这些要求才能确定是否参与投标,才能确定该提供何种货物、何种服务,才能确定以什么样的条件参与投标。因此,招标文件是投标人参与投标的根本依据。

3.招标文件是评委会评标定标的行动纲领

评委会的评委系根据招标文件的条文,具体审查投标书的各项内容是否符合招标人的需求,从而才能评定出最适合的中标方。因而,招标文件是评委会评标定标的行动纲领。

4.招标文件是监委会评判招标的具体依据

监委会除了监督投标现场秩序、招投标活动合法性的职责外,还得评判招标活动是否公平公正、保障招投标双方的权益。他们主要是依据《中华人民共和国招标投标法》等法律法规判定招投标行为是否合法,并依据招标文件评判招标人和中标人是否履行了自身义务,最终判定违约方。

二、编写招标文件应遵循的原则

1.合法性原则

招投标行为是受到《中华人民共和国招标投标法》等法律法规约束的,作为招投标行为中重要文书之一的招标文件也必须符合与招投标相关的法律法规。

2.公平性原则

《中华人民共和国招标投标法》第二十条规定:“招标文件不得要求或者标明特定的生产供应者以及含有倾向或者排斥潜在投标人的其他内容。”因此,招标方在编写制作招标文件时,不得排斥特定的潜在投标人的内容,不得设置不公平的评标因素或具有倾向性的加分或扣分条件。

3.公正性原则

这一原则在招标文件中主要体现在投标人资格条件设定上。《中华人民共和国招标投标法实施条例》第三十二条明确规定:“招标人不能以不合理的条件限制、排斥潜在投标人或者投标人。”这明确要求招标人在编写招标文件时,必须设定共性的资格条件,不得存在倾向性或地域性的条件,必须保证所有潜在投标人能公正的参与投标活动。

4.公开性原则

招标包括公开招标和邀请招标两种方式。《中华人民共和国招标投标法》明确规定,除经法律指定的国家部委或地方政府批准的项目外,其他的均必须采取公開招标方式,且必须在指定的媒体、媒介上予以公开发布。

5.科学性原则

招标投标涉及的内容非常广泛,包含大宗货物买卖、工程建设项目的发包与承包、服务项目的采购与提供等,其中存在着较大的差异性。因此招标人在制作招标文件时,必须针对不同招标项目的个性要求和实际情况科学的设定评标标准、合同主要条款、技术规格要求、工期及质量要求等招标文件的主要因素。只有这样才能在招投标过程中选出最适合自身的中标人。

6.严谨性原则

招标文件是招投标活动的重要法律文书,对招投标各方均具有法律约束力,其严谨性直接影响着招标工作的进程。因此,编写招标文件时必须要保证整个文件的严谨性,不出现逻辑性和文字表达性问题,这样才不会误导投标人的投标行为,保障招标工作的成效、质量和招标方预期效果的实现。

三、招标文件普遍存在的问题

1.内容要素不完整

有的招标人没有按严格《中华人民共和国招标投标法》规定的内容要素编制招标文件,规定必备内容要素不完整,不同程度存在着漏项的情况。

2.条款设定不合法

有的招标文件内容要素明显存在着限制、排斥外地企业投标的违背法律法规行为,阻碍了市场有序平等竞争。

3.条款设定不科学

有的招标文件在业绩、交货期等方面要求过为苛刻,导致投标人不足或无投标人的情况,在增加了招投标工作周期的同时,无形中增加了招投标成本。

4.文字表达不准确

部分招标文件存在着用词不当、表达不明确而引起歧义等情况,更有甚者存在漏字、错字等低级错误。如有的招标文件对技术要求的描述为高于国内同等技术水平,没有列明具体的参数或要求,对评委会的评定造成了较大影响。

四、提高招标文件编写质量的对策与建议

1.进一步加大前期调研工作力度

没有调查,就没有发言权。在编写招标文件前,招标方首先应组建专门的调研队伍,明确单位自身的需求,再根据需求通过网络、约谈、实地调研等方式,对招标项目的市场、技术情况及潜在投标人的服务情况进行全面的调研,掌握了解招标项目的具体情况,做好招标文件的编写材料的收集工作,为编写奠定坚实的基础。

2.进一步提高编写人员综合素质

招标采购涉及的范围广、品目多,因此对编写人员的综合素质要求较高,在熟知招标项目内容、要求和相关法律法规的基础上,必须得具备较强的统筹和文字综合能力。因此,在日常工作中必须有针对性强化招标文件编写人员的培训,通过专家授课、知识共享等多种方式,使编写人员在实践中加强理解与体会,进一步提高编写人员的政策法规把握、文字综合和统筹安排能力。

3.进一步强化招标文件审核把关

招标文件是招标人招标采购的意志体现、投标人投标报价的行为准则、评委会评标定标的行动纲领、监委会评判招标的具体依据,因此必须进行强化审核把关,特别是对招标项目的技术要求、对投标人资格审查的标准、投标报价要求和评标标准等条款的审核,确保招标文件的合法、科学和严谨,只有这样才能保障招投标工作的正常开展。

4.进一步强化内容条款的合理性

科学合理的规则是招投标活动的机制保障,是体现招标文件编制水平的重要环节。因此,招标方在编写招标文件的时候,不能一味地追求最低价格,还得综合考虑招标采购后运营维护等因素,合理处理好价格、质量、服务的关系,科学设定内容条款,保障自身最大利益的实现。

招标文件对于整个招标投标过程是否合法、科学,能否实现招标采购的目标,都具有重要的意义。因此,必须努力提高招标文件的编制质量,为项目招投标工作的顺利开展提供保障。

参考文献:

编写资料长编培训[本站推荐] 篇4

一、资料长编作用

1、资料长编重要性

资料长编是系列资料收集与志书编纂之间的纽带。资料长编一事一人一物一记(一条),除重要文献转录外,均须对原始的文件、档案、报刊、日记、工作总结、社会调查等相关内容资料按照志书篇目代码进行整理加工,把一次性原始文献转变为志书可直接利用的二次性文献。长编审定后资料放入上海市地情资料数据库提供社会服务。

2、编写资料长编用处

(1)资料长编是按条目或按节汇集的,以事件为纵线,依时为序,缺短遗漏,一目了然,便于及时补充。

(2)比较全面系统地考证、核实资料,使之更丰富、更科学、更可靠。

(3)对于初入志途者来说,是进入撰稿前的练笔过程。(4)先备后用,繁而不乱,为编写初稿打下坚实的基础,同时也有利于志稿的修改。

二、资料长编特点

1、资料长编不等于资料汇编。它们的主要区别是:资料汇编是同类原始资料的汇集,它主要是“汇”;资料长编是按编写提纲对汇编的资料进行条理化处理。通过整理后的资料长编,已经显现出了事情的始末,它重在“编”,这是原始资料和加工资料的分界线。资料长编不是原始资料的堆砌,它是按志书的篇、章、节、目,将通过考证后所选用的资料,按时序串连起来,它是资料向志书初稿过渡的桥梁。

2、资料长编不是志稿,只是汇集了经过筛选、核证后的资料。资料长编一般具备以下六个方面的内容:①主体资料;②背景资料;③佐证资料;④所有资料的出处和参考资料的索引;⑤多说并存及争议鉴别的证明材料;⑥有少许编者简短的语言。

三、资料长编类型

资料长编包括汇辑型、纂辑型、撰述型三种类型,为了保持资料的原始面貌,资料长编主要采用汇辑型,兼用纂辑型,少量用撰述型。

1、汇辑型资料长编电子卡片辑录资料方式

汇辑型资料长编电子资料卡片辑录属于本门类(篇目)的事物内容资料,单一资料来源,卡片按时间顺序汇辑。整理方式主要是节录、剪裁原始资料,不重新撰文。重要文献资料,可全文收入。段落内容有删节的,应在删节处加删节号 [„„]。

2、纂辑型资料长编电子资料卡片资料整理的方式

纂辑型资料长编电子资料卡片,主要收录经筛选、取舍、归并、综合而成的资料,资料整理者可加编者语言联缀。此资料卡片形式主要用于对多个松散资料的综合加工,或面上情况的综合,可采用纂辑方式编辑长编。纂辑型资料大多有多个资料来源,故必须说明所综合的资料的分别来源。

3、撰述型资料长编电子资料卡片资料整理的方式

主要对多个来源、篇幅长内容琐碎的资料进行综合撰写,注明段类的资料出处,资料整理者用志书语言归纳撰写,但不失资料的原意。

四、资料长编要求

1、交代资料来源、一事一卡

每个电子资料卡片的资料须交代资料来源、资料出处,根据原始资料的自身状况,尽量保持时间、地点、人物或实体、过程、结果的完整,原资料不完整,可以用“()”加以补充,并注明补充资料的来源。资料一事一卡。

一个资料来源的资料涉及几个章节条目资料内容的,须分拆制作为对应的若干个电子资料卡片,每个卡片均注明同样的资料出处。

若干个资料来源的同一事件资料,属同一章节条目,需要综合为一个电子卡片的(尤其是纂辑型电子资料卡),须注明对应的若干个资料来源。

每条资料按照篇目编制代码归类。同篇目门类电子资料卡片依照资料内容时间顺序排列,反映事件的资料长编,应具备时间、地点、涉及单位(人员)、过程始末等要素。单条资料长编除包括整理后的正文外(小四号宋体排正文),另外在正文上方用小五号楷体字列出必具的长编说明要素。图片、表格也属资料收集范围,按志书篇目归类,说明要素完整,图片要注明拍摄者或制作者。

2、纠正与说明

电子资料卡片对资料内容中错字、错误的纠正,对漏字、遗漏内容的补充,对资料的考证,对资料本身内容价值的评估、资料密级,可用说明性文字处理,或随文,或置于资料正文的末尾(换行)。说明文字用小括号处理;如要说明资料正文属全文引用性的资料,注明(本资料系全文引用)。

五、案例

1、世博票务

世博票务(实写单元)资料长编

资料代码:3.8.4

资料内容时间:2011.9.30

关键词: 上海审计局

世博会跟踪审计报告

门票收入 资料内容标题:上海世博会门票收入

资料来源: 《中国2010年上海世博会跟踪审计结果公告》,http://sjj.sh.gov.cn/node2/node4/node68/node88/node154/userobject1ai15784.html(上海审计首页 >> 政府信息公开 >>审计结果公告)资料整理者:刘雪芹

资料整理时间:2012.4.17 资料报送单位: 资料正文: [„„]

一、基本情况

★(一)世博会运营预算及财务收支决算情况

1.运营预算情况

根据《中国2010年上海世博会注册报告》(以下简称“注册报告”),预计世博会运营资金预算收入及支出均为106亿元。经世博会执委会批准,调整后的世博会运营收入预算为123.18亿元,支出预算为120.43亿元,预算结余2.75亿元。

2.世博会运营财务收支决算情况

截至2011年3月底,经对上海世博会事务协调局(以下简称“世博局”)提供的财务决算报告审计,世博会运营收入累计为130.14亿元,由于门票收入、特许经营权收入、场馆出租收入等好于预期,较预算增加6.96亿元。运营支出累计为119.64亿元,由于加强了对预算资金的支出控制,实际支出较预算略减少0.79亿元。收支结余为10.50亿元。经世博会执委会批准,世博会运营资金结余将主要用于中国国家馆续展、世博会博物馆、当代艺术馆等公益性文化展览和设施建设。

运营收入具体包括:门票收入73.55亿元,赞助收入39.73亿元,特许经营收入6.74亿元,场馆出租收入4.79亿元,商业销售提成收入2.22亿元,捐赠收入0.96亿元,企业参展费等其他收入2.15亿元。

运营支出具体包括:场馆和设施运营维护支出41.24亿元,活动支出15.20亿元,新闻宣传、主题推介、网上世博会等沟通推介支出6.54亿元,行政办公、物业管理等行政管理支出15.38亿元,办博人员经费支出6.20亿元,礼宾接待支出1.59亿元,信息化及安全保障支出19.51亿元,保险及财务费用支出2.32亿元,国际展览局(BIE)门票提成1.48亿元,布展支出8.79亿元,市场开发、特许经营、园区商业服务等其他支出1.39亿元。

[„„]

一、门票设计与制作

资料代码:3.8.4.1.1

资料内容时间:2007.12.1——2010.12.30 关键词:制票

物流

大事记

资料内容标题:上海世博会门票制作与物流工作大事记

资料来源:上海世博局票务中心,《上海世博会门票制作与物流工作大事记》,内部资料

资料整理者:刘雪芹

资料整理时间:2012.5.4

资料报送单位:上海世博协调事务局票务中心 资料正文:

★上海世博会门票制作与物流工作大事记1、2007年12月1日,上海世博局委托中国防伪技术协会开展的“中国2010年上海世博会门票防伪技术选型研究”项目启动。通过召开“门票核心技术专家座谈会”等形式,提出各类技术实施的可行性方案,基本明确RFID门票技术方案方向。

[„„]

资料代码:3.8.4.1.2

资料内容时间:2008.2.13——6.20 关键词: 门票设计

大事记

资料内容标题: 票面设计工作大事记 资料来源:《票面设计工作大事记》,现存于上海市档案馆,档案号B368-3-1477 资料整理者:刘雪芹

资料整理时间:2012.5.4 资料报送单位: 资料正文:

★票面设计工作大事记 1、2008年2月13日,经上海世博会事务协调局领导批示,同意由局票务中心牵头,会同局新闻宣传部、法律事务部组建票面设计工作小组,同时正式邀请符合条件且有意向参与票面设计工作的公司加入票面设计工作小组。

[„„]

资料代码:3.8.4.1.3

资料内容时间:2008.3.4

关键词: 华虹集团

世博会门票芯片

高级赞助商

签约 资料内容标题: 华虹集团成为世博会门票芯片高级赞助商

资料来源:《华虹集团为2010上海世博会提供电子门票》http://(中国安防行业网>企业动态)资料整理者:刘雪芹

资料整理时间:2012.4.16 资料报送单位: 资料正文:

★华虹集团为2010上海世博会提供电子门票

上海世博会事务协调局今日在此间与上海华虹(集团)有限公司签约,华虹正式成为中国二0一0年上海世博会门票芯片高级赞助商。蕴藏华虹“世博芯”的上海世博会门票“票样”也在现场首次亮相。

[„„]

据悉,上海世博会有望在北京奥运会后出售“第一票”,相关的门票价格尚未有定论。

资料代码:3.8.4.1.4

资料内容时间:2008.12.21 关键词: 门票

理念

特点

资料内容标题:票面设计理念和特点

资料来源:上海市人民政府,《中国2010年上海世博会票务总体方案》,现处于上海市档案馆,档案号B368-6-1920 资料整理者:刘雪芹

资料整理时间:2012.4.16 资料报送单位: 资料正文:

[„„]

一、票面设计理念和特点

运用国际通用图形语言将中国2010年上海世博会门票基本信息完整地、准确地传达给购票者,突出“城市,让生活更美好”主题;票面图案简介明快、美观大方、轻松活泼,具有现代感。票面图形符号无歧义;采用点、条纹、留白等工艺设计,有利于防伪印刷;以颜色、版式区分票种,一目了然,便于快捷查验。

[„„]

资料代码:3.8.4.1.5 资料内容时间:2008年

关键词:门票

生命周期

技术

功能 资料内容标题: 世博门票的技术与功能

资料来源:上海世博会事务协调局信息化部编,《中国2010年上海世博会信息化工程》,东方出版中心2011年6月版,第263-264页。资料整理者:刘雪芹

资料整理时间:2012.4.25 资料报送单位: 资料正文: [„„]

★世界最大的票务RFID应用系统。

上海世博会建立的票务RFID应用系统,实现了对门票生产、封装发行、仓储、物流配送、销售和检票等门票生命周期的信息化管理,同时建立了门票销售、票务资金结算、与外部各应用系统信息交互的功能。[„„]

在门票及门票包装箱标签上均采用了FRID技术,世博会门票为柔性纸质标签,上海世博会门票采用我国具有自主知识产权、加密安全算法的FRID芯片。世博会门票芯片具有成熟、可靠,安全性好,成本低廉等特点。在封装上,采用先进的倒贴(Flip-Chip)工艺,使用复合材料印刷天线,多层复合,具有良好的保存特性,成本较低,在印刷上采用了多种防伪技术。

在门票的每个包装箱上均有一个RFID标签,通过RFID芯片中的信息,可实现对门票物流的管理,随时了解门票在物流过程的动态信息。各代理商配置了专用销售机具,在销售门票时产生销售数据,通过专网进行门票销售数据上传,并能进行门票申请、销售账务核对等工作,实现对门票销售的全过程管理。

在各出入口安装检票服务器,检票服务器控制自动检票机(闸机)、专用票务处理机、壁挂式检票机等检票设备,通过园区业务专网,构建检票信息系统,该系统可灵活控制,配置各专用检票设备参数,及时上传检票数据,实现对各种门票的入园控制。

通过以上技术实现了对每张门票的生产配送、销售时间、地点及入园时间、出入口等相应信息均可追溯管理。

[„„]

二、门票种类与价格 资料代码:3.8.4.2.1

资料内容时间:2008.12.18

关键词:“赞助企业定制票”

对象 时间 票种 价格 数量 结算规则

资料内容标题:“赞助企业定制票”的票种与价格

资料来源:上海世博局票务中心,《关于开展中国2010年上海世博会“赞助企业定制票”销售工作的请示》,现存于上海市档案馆,档案号B368-10-877 资料整理者:刘雪芹

资料整理时间:2012.4.16

资料报送单位:上海世博事务协调局票务中心 资料正文:

★关于开展中国2010年上海世博会“赞助企业定制票”销售工作的请示 局领导:

根据上海世博会票务总体方案,上海世博会“赞助企业定制票”(简称LOGO票)将于预售第一期开始接受定制。为确保赞助企业可以顺利、及时定制门票,故建议尽快开展LOGO票销售工作,请示如下:

一、定制要求

1、定制对象

LOGO票定制对象仅限于上海世博会合作伙伴、高级赞助商及国务院侨务办公室。[„„]

6、结算规则

签订协议时需支付协议金额的30%,余款在取得门票前一次性付清。[„„]

资料代码:3.8.4.2.2

资料内容时间:2009.2.13

关键词:门票

价格

情况说明

资料内容标题: 门票价格拟定情况说明

资料来源:上海市人民政府,沪府函[2009]6号,《上海市人民政府关于对中国2010年上海世博会门票价格拟定情况说明的函》,现存于上海市档案馆,档案号B368-6-1920

资料整理者:刘雪芹

资料整理时间:2012.5.3 资料报送单位: 资料正文:

★上海市人民政府关于对中国2010年上海世博会门票价格拟定情况说明的函 国务院办公厅:

去年底,上还是政府、中国贸促会、商务部、外交部联合上报的《中国2010年上海世博会票务总体方案》提出“上海世博会门票基准价格为160元(人民币,下同)”,并参照以往世博会和其他大型主题活动门票价格的管理,在基准价格的基础上,对不同时段、特殊人群区别定价,形成上海世博会门票价格体系。根据要求,先将上海世博会门票价格拟定情况的说明函报如下:

一是上海世博会门票价格的拟定参照了近几届世博会门票的定价标准。国际上,近几届世博会门票基准价格大体相当于该国人均可支配年收入的1%—3%。[„„]根据我国居民收入水平与消费习惯的实际情况,上海世博会门票基准价格拟定为160元,相当于2008年我国城镇居民人均可支配收入的1%左右。二是上海世博会门票价格的拟定参考了国内大型主题公园、大型国际性活动和旅游景点的门票价格水平。[„„]

三是在拟定上海世博会门票价格的过程中广泛听取了意见。2006年,国家统计局在全国范围内开展了上海世博会参观者意向调查。调查显示,民众对160元人民币的世博会门票价格普遍接受。[„„]

四是上海世博会参照惯例、按照有关原则构建种类多样的门票价格体系。[„„]上海世博会参照惯例,按照基准价格合理,特殊群体优惠,鼓励提前购买和团体购买,价格调节客流、削峰填谷等原则,设计了最低50元、最高200元,包括两大类、九种的门票价格体系。[„„]

资料代码:3.8.4.2.3

资料内容时间:2009.2.18

关键词: 门票

种类

设置考虑

资料内容标题: 门票种类与设置考虑

资料来源:上海市人民政府,《中国2010年上海世博会票务总体方案》,现存于上海市档案馆,档案号B368-6-1920 资料整理者:刘雪芹

资料整理时间:2012.4.16

资料报送单位:上海世博事务协调局票务中心 资料正文:

[„„]

★上海世博会门票设个人票和团队票两大类共九种。个人票分为指定日票和平日票,指定日票分指定日普通票和指定日优惠票两种,平日票分平日普通票、平日优惠票、3次票、7次票和夜票五种,团队票分普通团队票和学生团队票。世博会不设赠票,除入园时身高1.2米以下(含1.2米)儿童免票外,其他参观者均须购票入园。

[„„]

夜票是为均衡园区客流时间分布,引导游客避开日间高峰、选择下午17时以后入园参观而设置的票种。夜票价格为90元,约为平日普通票价格5.6折。

团队票:为鼓励有组织地参观,以均衡客流而设置的票种。[„„]

三、销售网络 资料代码:3.8.4.3.1 资料内容时间:2009.2.23

关键词: 自营团购

票种

对象

时间

资料内容标题: 自营团购的票种、对象与销售时间

资料来源:《上海世博会门票销售自营团购项目实施方案》,现存于上海市档案馆,档案号B368-58-1724 资料整理者: 刘雪芹 资料整理时间:2012.2.2 资料报送单位: 资料正文: ★

一、概述

门票销售自营团购项目主要面对政府机关、企事业单位和社会团体购买世博会门票。[„„]

二、工作目标和定位

自营团购项目作为门票销售渠道之一,其定位是代理和团队门票销售的补充渠道,销售目标是实现预计100万张个人门票的销售,其中包括60万张面向全球合作伙伴和高级赞助商的LOGO票和40万张其他各种可供市场销售的门票。

三、实施时间

为促进销售一期的销售和配合门票生产安排,LOGO票的销售时间仅限于世博会门票预售第一期,而其余单位团购时间从预售第一期至世博会会期结束。具体时间根据世博局公布的票务总体销售方案确定。[„„]

资料代码:3.8.4.3.2 资料内容时间:2009.3.27

关键词: 门票

代理商

销售渠道

受理点 资料内容标题: 门票代理商

资料来源: 《中国2010年上海世博会票务公告第2号》(《关于上海世博会首批境内门票销售指定代理商的公告》)http://,环境保护部网站>首页>环境要闻,2008-12-18 资料整理者:李系蕴

资料整理时间:2012.8.28 资料报送单位:上海市环境保护局 资料正文:

本报讯 苏浙沪两省一市12月15日签订了《长江三角洲地区环境保护合作协议(2009-2010年)》(以下简称“合作协议”),将在提高区域环境准入和污染物排放标准等方面紧密合作,推进长三角环境保护一体化进程。

在“合作协议”签订之前,来自苏浙沪两省一市的环保厅(局)长,分别交流了各地在推进污染减排、太湖治污等方面的经验与做法。经过协商,江苏省环保厅厅长张敬华、浙江省环保局局长徐震、上海市环保局局长张全当场签订了“合作协议”,明确了区域合作宗旨、合作原则、合作内容和合作保障等条款。“合作协议”确定了为期两年的区域合作6个方面重点工作。

提高区域环境准入和污染物排放标准 [„„]

创新区域环境经济政策[„„]

重点推进太湖流域水环境综合治理 [„„]

加强区域大气污染控制[„„]

建立全区域环境监管与应急联动机制[„„] 完善区域环境信息共享与发布制度[„„] 资料代码:16.7.2.2.1 资料内容时间:2009.5.4 关键词:环保、扬尘、复验、评估、通知

资料内容标题:关于开展2009年扬尘污染控制区复验和市政重点工程扬尘控制评估工作的通知

资料来源:上海市环境保护局,沪环保控〔2009〕165号《关于开展2009年扬尘污染控制区复验和市政重点工程扬尘控制评估工作的通知》,2009年5月5日发 资料整理者:胡国良

资料整理时间:2012.5.22

资料报送单位:上海市环境保护局 资料正文:

关于开展2009年扬尘污染控制区复验和市政重点工程扬尘控制评估工作的通知

(二OO九年五月四日)沪环保控〔2009〕165号

有关区县环保局:

防治扬尘污染是本市进一步改善大气环境质量的重要工作,自2004年市政府颁布实施《扬尘控制污染管理办法》,以及环保三年行动计划将创建扬尘污染控制区列入环保重点工作以后,各区县按照扬尘污染控制区的创建要求,积极开展了创建工作,全面完成了创建目标,本市的扬尘污染得到了有效的控制。为了巩固已经取得的成绩,实现扬尘污染控制的长效管理,强化环保部门对大气环境的监测和监管责任,我局制定了《扬尘污染控制区复验和市政重点工程扬尘控制评估工作方案》。现将该方案下发给你们,望遵照执行。

特此通知。

附件:扬尘污染控制区复验和市政重点工程扬尘控制评估工作评估方案

资料代码:16.7.2.2.2 资料内容时间:2009年

关键词:太湖 水环境 治理 实施方案

资料内容标题:上海市印发太湖流域水环境综合治理实施方案

资料来源:

1、上海市人民政府,沪府[2009]22号,上海市人民政府关于上海市太湖流域水环境综合治理实施方案的批复,2009年3月18日

2、国家发展改革委办公厅,发改办地区[2009]156号,国家发展改革委办公厅关于上海市太湖流域水环境综合治理实施方案的复函,2009年1月22日

3、上海市发展和改革委员会,沪发改环资(2009)017号,《上海市发展改革委印发上海市太湖流域水环境综合治理实施方案的通知》,2009年4月14日印发

4、http:///epi2/shownews.asp?id=913,(上海市环境科学研究院),2008年9月23日

资料整理者:汤凡敏

资料整理时间:2012.5.30 资料报送单位:上海市环境保护局 资料正文:

国务院于2007年5月7日正式批复了《太湖流域水环境综合治理方案》(简称“总体方案”),按“总体方案”要求,上海需编制本市的实施方案,并将规划任务纳入到本地区国民经济和社会发展年度计划。(2)上海市环境科学研究院根据市发改委、市环保局的要求,克服了时间紧、任务急等困难,按时完成了《上海太湖流域水环境综合治理实施方案》的编制工作。(4)

《实施方案》经征求国家发展改革委意见并进行修改完善后于2009年3月18日获得上海市人民政府批复。(1)

2009年,上海市发展改革委正式印发了《上海市太湖流域水环境综合治理实施方案》,要求各有关部门和青浦区要按照市政府批准意见,远近结合,标本兼治,依靠科技,综合治理,依法治污,创新机制,加强领导,狠抓落实,确保实现《上海市太湖流域水环境综合治理实施方案》确定的各项任务目标。(3)

资料代码:16.7.2.2.2 资料内容时间:2011.6.8 关键词:青草沙 原水 工程

资料内容标题:上海市建成全国最大的水源地工程-青草沙水源地工程 资料来源:顾金山主编,《上海长江口青草沙水源地原水工程论文集》,上海:上海科学技术出版社,2011年6月第1版,第4-9页 资料整理者:孙晓红 资料整理时间:2012.5.30 资料报送单位:上海市环境保护局 资料正文:

DSP中CMD文件的编写 篇5

CMD文件(xxxx.cmd)是用来分配DSP工程中rom和ram空间的,告诉链接程序怎样计算地址和分配空间。

CMD文件分为两大部分:MEMORY

SECTIONS。

MEMORY: 伪指令。对DSP系统的ROM(如DSP芯片内的ROM,FLASH,外挂ROM)和RAM划分为N个不同的区间。这些区间根据存储目的可以分为两大类:程序存储(对应于PAGE 0)和数据存储(对应于PAGE 1)。例如: MEMORY {

PAGE 0: VECS

origin = 00000h,length = 00040h

LOW:

origin = 00040h,length = 03FC0h

SARAM:

origin = 04000h,length = 00800h

B0:

origin = 0FF00h,ength = 00100h PAGE 1: B0:

origin = 00200h,length = 00100h

B1 :

origin = 00300h,length = 00100h

B2:

origin = 00060h,length = 00020h

SARAM:

origin = 08000h,length = 00800h }

中的语句:

VECS: origin = 00000h, length = 00040h VECS为区间名,origin指定本区间的起始地址,length指定本区间的长度。

SECTIONS:伪指令。(在程序里添加下面的段名如.test用来指定该段名以下,另一个段名以上的程序(属于PAGE0)或数据(属于PAGE1)放到“>”符号后的空间名字所在的地方。例如: SECTIONS {

.text :

> LOW

PAGE 0

.cinit :

> LOW

PAGE 0

.switch :

> LOW

PAGE 0

.const :

> SARAM

PAGE 1

.data :

> SARAM

PAGE 1

.bss :

> SARAM

PAGE 1

.stack :

> SARAM

PAGE 1

.sysmem :

> SARAM

PAGE 1 } SECTIONS中的段名有两个来源:系统自动生成 和 用户自定义。如下为系统自动生成的段名:(通用部分)

.cinit

存放程序中的变量初值和常量

.const

存放程序中的字符常量、浮点常量和用const声明的常量.switch

存放程序中switch语句的跳转地址表

.text

存放程序代码

.bss

为程序中的全局和静态变量保留存储空间

.far

为程序中用far声明的全局和静态变量保留空间

.stack

为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存

储局部变量和中间结果

.sysmem

用于程序中的malloc、calloc、和realoc 函数动态分配存储空间。以上所列的段名并不完全,它们各自的块连接属性也不尽相同,可以查阅相关资料。

如:.const仅可用于小存储器模型——小存储器模型要求初始化块连接到低64K字的非易失性存储空间中,而F2812在低64K中没有FLASH,因此编译器要采用大存储器模式,相应的要用.econst代替.const。

系统自带的段名:(选择部分)(常见于DSP28x_CodeStartBranch.asm)

.reset

只包含一个32位的中断矢量,指向实时支持库rts2800_ml.lib中的C编译器导引函数,即_c_int00子程序。通常我们不用此块,而是另外创建分支指令指向开始代码。

用法如下: SECTIONS {.reset

:>FLASH,PAGE=0.TYPE=DSECT

}

语句中的“TYPE=DSECT”用来提示编译器编译时将.reset段忽略掉。.codestart

包含一条长跳转指令,指向实时支持库rts2800_ml.lib中的C编译器导引函数,即_c_int00子程序。不同的是:如果系统的程序(.text)放在系统内部RAM中仿真运行,则本块应放入片内RAM中,如地址单元0x3F8000;如果是固化程序进FLASH,则.codestart应定位与FLASH中的其实地址为0x3F7FF6中。(一条长跳转指令占2个字)。

.ramfuncs

此程序块用于对FLASH的控制寄存器进行初始化设置。

FLASH的控制寄存器受代码安全模块CSM保护,因此如果DSP是安全的(烧写后的FLASH往往处于这种状态),则必须从受保护的RAM中执行FLASH寄存器初始化代码。

InitFlash()位于DSP281x_SysCtril.c文件中,为FLASH寄存器初始化用,将次程序放进.ramfuncs块中。

MemCpy()位于DSP281x_MemCopy.c文件中,在对FLASH寄存器初始化时,用于将指定的FLASH中的程序段复制到指定的RAM区中。如例:

extern Uint16 RamfuncsLoadStart;extern Uint16 RamfuncsLoadEnd;extern Uint16 RamfuncsRunStart;„„

Void main(main){

„„

MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);

InitFlash();„„

}

在系统的cmd文件中有:

SECTIONS {

„„

Ramfuncs:

LOAD = FLASHD, PAGE = 0

RUN = RAMM1, PAGE = 0

LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),„„

} 上例中SECTIONS段的语法如下: SECTIONS { name : [property,property,……] } name:输出段的名称 property:输出段的属性:

load=allocation(强制地址或存储空间名称)同>allocation:定义输出段将会被装载到哪里。run= allocation(强制地址或存储空间名称)同>allocation:定义输出段将会在哪里运行。另:CMD文件中只出现一个关键字load或run时,表示两者的地址时表示两者的地址时重合的。

用户自定义的块:

利用pragma语法来指定程序中的(用户自编写)函数的存放目的块,这个目的块可以在cmd文件中指定实际物理地址。

pragma:

CODE_SECTION(func,”section name”)

DATA_SECTION(symbol,”section name”)

其中,func和symbol必须在主函数外声明或定义,同时也必须在声明,定义和引用func和symbol之前指定pragma语句。

#pragma可以阻止对未调用的函数的优化。

根据自己的经验,codestart块与reset块并没有什么用处。

F2812的DSP芯片内部有一个BOOTROM,存储着出厂前已经编制好的导引加载程序和标准数学表,同时也包含复位矢量和CPU矢量表(仅用于测试)。当DSP上电后,导引加载程序会自动配置所需要的设置,例如配置好EMIF以存取flash,配置GPIO口为把程序从外部RAM或ROM下载到内部RAM中做准备。

————————类似于PC的加电硬件检测 在运行C程序(main函数)之前,必须创建C运行环境。这个任务由C引导程序(BOOTRAM中固化的导引加载程序)使用名为c_int00()的子程序来执行。此函数位于rts.lib文件中。

在系统开始运行时,c_int00()可以被调用,通常由硬件复位来调用。必须将c_int00()与其他的目标模块连接起来,当使用C连接器并且包含rts28xx.lib作为连接器输入文件时,以上调用自动实现。当连接C程序时,连接器将可执行输出模块中的入口点的值赋给c_int00()函数,这些可执行输出模块不尽相同,但最为人关心的则是由c_int00()来启动main()函数运行自己的C程序。

而在.codestart 和.reset代码块的编写的汇编程序的功能也仅仅是引导BOOTROM中的导引加载程序与c_int00()函数的衔接。

文件资料编写管理制度 篇6

***

(郑州航空工业管理学院专业***********)

内容提要:招标文件是招标投标活动中最重要的法律文件, 它规定了完整的招标程序和拟订立的合同的主要内容, 提出了各项具体的技术标准和交易条件,是投标人准备投标文件和评委会评标的依据,也是拟订合同的基础。招标文件的质量是决定招标成败的关键环节。仅就施工招标文件的内容以及编制方法,谈一些认识。

关键词:招标文件、主要内容、编制方法

一、招标文件的主要内容

(一)、计价模式的确定。

采用工程量清单招标(包括强制和自愿选择)的工程,必须执行国家工程量清单计价规范的“四统一”(“四统一”:指程量清单的统一项目编码、统一工程量计算规则、统一计量单位,统一项目名称。),采用综合单价计价。

(二)、招标文件提供的工程量清单和清单计价格式必须符合国家规范和项目当地补充、完善的有关计价规则规定的格式。

(三)、招标文件必须明确招标工程的性质、范围、有关的技术规格标准及以规定的实质性要求和条件,这些应当在招标文件中以醒目的方式标明,同时,对以下问题必须予以明确:

1、该工程招标中需要另行单独分包的内容必须符合政府有关工程分包的规定,必须明确总包对分包工程需要配合的具体范围和内容,并将配合费用的计算规则列入合同条款。

2、涉及甲供材料、工作等内容的,必须在招标文件中载明,并将明确的结算规则列入合同主要条款。

3、招标项目需要划分标段、确定工期的,招标人应当合理划分标段、确定工期,并在招标文件中载明。对于技术上紧密相连、不可分割的单位工程,不得分割标段。

4、招标文件应该明确说明招标工程的合同类型及相关内容,并将其列为主要合同条款。

5、合同主要条款与招标文件有关条款之间不能存在实质性的矛盾(比如,固定价合同在合同主要条款中不应出现“按实调整”字样,而必须明确量、价变化时的调整控制幅度和价格确定规则)。

(四)、招标项目需要编制标底的,标底由有资格的招标人自行编制或委托中介机构编制。一个工程只能编制一个标底,标底应该按照符合招标工程要求的施工图纸、招标文件规定的工程招标范围、拟订的施工方案、造价管理部门发布的有关计价做为依据编制。标底涉及的价格应按当时、当地的平均价格水平计算;涉及施工方案、计费标准选用的,应按照符合招标范围的施工企业的基本水平,而不应考虑具体竞争及让利因素。

必须如实列出施工图中存在的不确定因素,并由编制人员与发包方协商确定暂定金额。同时,应在《招标投标法》规定的时间内作为对招标文件的补充送达全部投标人。

(五)、招标文件必须明确工程评标办法。

1、招标文件应当明确规定评标时除价格以外的所有评标因素,以及如何将这些因素量化或者据此进行评价的方法。

2、招标文件应根据工程的具体情况和业主的需求设定评标的主体因素(造价、质量、工期),并按主体因素设定不同的技术标、商务标评分标准。

3、招标文件中规定的评标标准和评标方法应当合理,不得含有倾向或者排斥潜在投标人的内容,不得设定妨碍或者限制投标人之间竞争的条件,不应在招标文件中设定投标人降价(或优惠)幅度作为评标(或废标)的限制条件。

4、招标文件必须载明合理确定的废标认定标准和方法。

5、招标文件应该明确载明评标环节对于投标成本价的界定方法、内容及标准。成本价的界定应对投标报价的单价和费用组成的完整性、合理性、准确性以及不平衡报价的严重性进行分析。

6、招标文件应该明确是否允许投标人投备选标,并明确备选标的评审和采纳规则。

7、招标文件应明确评标过程的询标事项,规定投标人对标函在询标过程中的补正规则以及不予补正时的偏差量化标准。

(六)、采用工程量清单招标的工程,招标文件必须明确对工程量清单编制偏差的核对、修正规则(在定标后发生的工程量清单核对和调整工作,招标文件应规定给予中标人一定的经济补偿,但核对后因误差引起的造价调整在×% 以内的除外)。招标文件应考虑当工程量清单误差较大并经核对发现后,招标人与中标人不能达成一致调整意向时的处理措施(比如,应暂停施工合同的签订,如果投标人有终止合同签订的意向,招标人应允许其要求予以终止合同,则投标人不承担投标〈或合同〉履约责任,有投标保证金的应全额退还投标人,但中标人不得以清单误差大而对中标价提出实质性的变化,并以此作为终止合同签订的条件)。

(七)、采取资格预审的,招标人应当在资格预审文件中载明资格预审的条件、标准和方法;采取资格后审的,招标人应当在招标文件中载明对投标人资格要求的条件、标准和方法。

(八)、招标文件必须载明招投标各环节所需要的合理时间以及招标文件修改必须遵循的规则;当对投标人提出投标疑问需要答复或招标文件需要修改时,必须符合有关法律法规要求的截标间隔时间规定,经修改的截标时间应以书面形式通知每一个投标人。

(九)、招标文件应明确投标文件中任何需要签字、盖章的具体要求。

(十)、招标文件应该明确对非中标单位投标文件的处理规则,如果非中标单位的投标文件不予归还投标人,则可视作招标人将全部或者部分使用非中标单位投标文件中的技术成果或技术方案,此时应征得非中标单位的书面同意,并给予一定的经济补偿。

二、招标文件的编制原则及方法

(一)编制原则

1、规范性原则

招标文件是招标活动的法律性文件,是评标的惟一依据,招标文件混乱,也就无法保证招标活动公平进行,招标质量得不到有效保证。随着《招标投标法》及《政府采购法》的颁布实施, 国家相关部门都先后制定和出台了招标管理办法, 使得招标采购工作有章可循。招标文件必须符合国家有关法律法规的内容,不得存在歧视、倾向性等现象或其他有悖公平、公开、公正和诚信原则的条文。制定一份经过认真审核推敲、逻辑严密、文字简洁清晰、充分反映国家目前有关法律法规和政策、符合项目实际的招标文件是非常必要的。

2、科学合理、公平竞争原则

科学合理、公平竞争是招标文件编制的一个最重要的准则, 制定招标文件时,不应该有

限制、歧视或排除合格的潜在投标人的条款。这种倾向性有时表现明显,有时是比较隐蔽。要解决这个问题,就要建立一种咨询制度,召集有关专家进行咨询。

3、全面反映招标人需求原则

招标的目的就是为需求服务。招标文件全面反映用户需求是编制招标文件的一个基本的要求,应根据招标项目的特点和要求编制招标文件。在编制招标文件的技术规格等专有部分时, 首先要认真领会项目建设单位的招标意图、项目设计单位的设计要求, 在此基础上综合以往招标的经验进行整理、补充、完善。招标要求不明确,招标文件就不能贴近用户需求,不仅给投标人编制投标文件带来很多困惑和疑问,也最终影响了招标成效和质量。

(二)编制方法

编制方法要能体现出合法合规、提高效率、降低费用、保证质量等特点。

1、依法编制。招标文件的编制方法要符合《招标投标法》和《政府采购法》等有关法律法规。

2、要求合理。应当根据招标项目的特点和需要编制招标文件。招标文件中规定的各项技术标准和交易条件直接影响到投标价格,投标价格的高低决定着招标是否能本着最节约的原则进行, 同时也在一定程度上对潜在投标人的投标兴趣和承受能力产生影响。太高了,会导致供应商不敢投标, 或无法评标;太低了,会导致投标人太多太滥, 拉长了开、评标时间, 降低采购效率。因此,招标文件的编制必须以项目为依托,不符合项目特点和需要的内容不应纳人招标文件。

3、掌握编制技巧。编制招标文件时, 要充分听取各方对涉及招标文件各相关事项的意见, 摸清市场信息, 以免“实质要求”的不合理,招标文件的结构组成,分别由不同的专业人员编制,以提高招标文件编制质量。

4、在编制招标文件时, 对于招标文件中涉及到“必须”、“禁止”等可能涉及到投标文件的有效性等问题的明确和规定,应集中在招标文件的《投标须知》各章节中, 应以加粗文字、下划线或变更字体等方式突出显示, 以引起投标人的特别注意, 从而保证投标文件的编制质量, 规范投标行为,从而减少或杜绝建设工程交易活动中的不必要争议和分歧。

三、结束语

要做好招标文件的编制工作, 就必须更广泛地学习相关的法律法规, 学习相关的技术业务知识, 积累每次招标活动的经验教训, 不断总结经验, 不断提高编制水平。

[参 考 文 献 ]

1.李希伦.建筑工程工程量清单计价编制实用手册.北京.中国计划出版社,2003

2.黄文杰.建设工程招标事务.北京.中国计划出版社,2002

3.刘钟莹.建设工程招标投标.南京.东南大学出版社,2007

C编写Tcl文件系统监测扩展 篇7

在内存里维护着一个保存了文件md5码的树形结构来模拟实际的文件系统,定时遍历文件系统与该树形结构,发现不同或比较存在两者的md5码,来判断文件是否发生变化。这个过程是比较复杂的,而且bug不断,所以最后弃之不用了。

有人说用ReadDirectoryChangeW来做的话会很方便,不过一来执着于只用Tcl来解决问题,再者长久没用C,在Tcl实现文件监控也暂时搁置下来了。事情的发展总是需要一些触发,前些时候在看oratcl的源码,大致想弄清楚Tcl与Oracle之间编码转化的问题,最后问题倒是没有解决,但是对于使用C来开发Tcl模块有了初步感性上的认识。当然,尝试的对象就是文件监控了。

2 Hello,World

下面就编写这个模块时的一些想法结合必要的框架,来介绍一下开发Tcl的C extension。而关于编程的学习,一般总是从Hello,World开始的,这里也不例外。例子来自于Tcl的wiki站,先列出代码:

当Tcl调用以上代码编译而成的dll文件时会查找函数PKG_Init作为模块的入口,其中PKG是模块的名字,这里就是Hello。在这个函数中,首先使用Tcl_initStubs来判断使用该模块的当前Tcl的版本。当该函数的第3个参数为1时,明确只有与TCL_VERSION一致的Tcl解析器,比如8.4版本,才能使用该模块;如果像上面例子里为0的话,则高于TCL_VERSION版本的解析器,比如8.5或者8.6也可以使用该模块。之后是一个提供模块信息的函数Tcl_PkgProvide。最后,也是最重要的部分,就是声明模块提供可用命令的函数Tcl_CreateObjCommand。另外还有一个比较旧的命令提供类似的功能,Tcl_CreateCommand,两者的区别在于,前者更好地支持参数的类型转换,所以现在一般只用前者。例子中这个命令的意思是,对于该模块中的hello命令,事实上将执行名为Hello_cmd的函数。最后,返回TCL_OK,表示成功创建模块。而这里的Hello_cmd也很简单,Tcl_SetObjResult设置了在Tcl中调用hello返回的结果。

3 ReadDirectoryChangesW

MSDN对这个函数讲得很清楚,网上也有大量的同步监测例子。该函数对指定文件夹中进行监控,并返回相关的信息。该函数有两种调用的方式,一种是同步调用,即在一个线程里使用阻塞的方式循环查询;另一种是异步调用,函数只在发现有文件变化的时候通知线程。

第一个参数就是被监控文件夹的句柄,它必须以FILE_LIST_DIRECTORY形式来打开;第二个参数用于存储文件变化的信息;第三个参数用于指定第二个参数的大小,一般sizeof第二个参数一下行了;第四个是指是否监控子目录;第五个参数指定监控文件变化的类型,比如是否仅仅监控读操作或者写操作或者两者兼顾;第六个参数在同步监控的情况下用于设置存入第二个参数的文件变化信息的长度,而在异步调用中是NULL;第七个参数只在异步调用中使用,是异步调用的关键所在;第八个参数是异步调用时的可选参数,取决于使用者决定采用何种异步方式,倘若被设定则每次发现文件变化都会调用该参数指向的函数。另外还可以考虑IOCP,即完成端口。但考虑到完成端口的使用需要另起一个线程,并在其中循环检测IOCP的可用状态,与同步并无实质区别。倘若调用它的Tcl解析器不支持多线程,则可能无法使用。即使可以使用多线程,也完全可以在Tcl语言层次上实现,所以在这里不考虑使用IOCP。

将该函数包装成Tcl模块,由易到难,分别是同步调用、多线程异步调用和事件通知形式调用。这里多线程的形式是C层次上的异步结合Tcl层次上线程来实现的;而事件通知则更涉及到Tcl的事件循环API,相比较而言又多出了一个实现目标,故最复杂。

4 同步调用

很长一段时间里困扰于阻塞,因此对此一直深恶痛绝,平时里一般是避之不及,这里之所以要写这个同步的例子是因为它最简单,适合说明问题。

无论为Tcl写怎么样的C Extension,首先是要写好入口函数来进行初始化,像上一章的例子Hello_Init,在这里则是Winnotify_Init。在其中将watch命令绑定到Watch_Cmd函数,具体说明一下。

还是从接收Tcl参数开始,watch命令接受一个可选的参数用于指定监控的文件夹,当忽略该参数时,默认为当前路径。对应的Watch_Cmd函数的objc表示了watch命令共包含了几个词,当等于1时,表示不带可选参数;等于2时则将提取objv[1]作为指定的被监控文件夹;当参数数目不正确时,则使用Tcl_WrongNumArgs来定义一个错误信息并返回TCL_ERROR。

Tcl_WrongnumArgs的第二个参数表示在objv中顺序提取的词的数量,它们将与第四个参数结合作为返回信息。这里Tcl_WrongnumArgs(interp,1,objv,"?path?")设置的信息将是“watch?path?”。

之后打开一个文件句柄,并将它交给ReadDirectoryChangesW循环检测。每当检测到变化的时候,执行循环体内的命令,即根据pnotify->Action打印文件变化的情况。这部分跟Tcl完全没有关系,而且为了简单起见把编码的情况也忽略了,所以无法监控中文目录和文件,但这并不重要,关键是要明白整个流程。

5 多线程调用

同步调用的缺点很多,不单阻塞任务效率低下,如果逻辑一旦复杂需要申请内存,那么还要精心设计内存释放。而像上面这个例子除非设置遇到某种异常或者捕获某个中断,不然无法退出循环,内存的分配和释放也只有在一次循环发生时一起执行。因此,无论什么时候最后是否采用多线程,我个人更倾向于异步执行。

5.1 异步的ReadDirectoryChangesW

在多线程的Winnotify版本中,异步地使用ReadDirectoryChangesW,与同步调用不同的是,必须设置该函数的第七个参数lpOverlapped,该参数将被第八个参数lpCompletionRoutine所指向的函数调用。通常情况下,需要在lpOverlapped的基础上再定义一个数据结构,利用出递给处理函数的首地址来得到所需要的信息。在这里我重新定义了如下的结构:

该结构中的第一个成员便是用于事件通知的,接着分别是文件句柄、接受文件变更信息的存储、指定监测文件变更的类型、是否停止监测、当前使用的Tcl解析器和Tcl中的主线程名称。其中fstop之前的部分基本上适用于ReadDirectoryChangesW的定义,如buffer即是获取文件变更信息的最重要的数据结构,而interp和pThread则将用于监测线程通知主线程所发生的变化。当启动监测函数之后,线程并未被阻塞,只有当监测到文件变更时,线程才会调用lpCompletionRoutine并读取HDIR_MONITOR指向的数据结构中的数据,并在处理完相关信息之后再调用监测函数来启动下一次异步监测。具体的代码就不贴出来了。

5.2 Tcl语言级的线程支持

由于Tcl提供了Thread模块,相比较API而言,不但功能上并未减少太多,而且更易于维护,所以完成启动异步监测之后,在Tcl语言级别完成多线程间的通信更方便。也就是说,在主线程新开一个或者多个线程用于监测文件夹,而主线程本身则处理监测到的信息并根据这些信息来完成进一步的工作。可以使用如下的程序流程:

在主线程中,定义了一个默认用于处理监测线程返回信息的函数proxy,定义了被监测目录与主线程id,后两者被作为参数传递给了监测线程。当启动监测之后,监测线程使用thread::wait来启动Tcl的事件循环,并在其后明确使用了winnotify::stop清理监测过程中所使用内存空间,该指令相对应的函数Stop_Cmd通过调用StopMonitoring来完成清理任务,Stop_Cmd由于比较简单就不列出来了。

由于该函数需要传入参数pMonitor,因此在模块入口函数Winnotify_Init中定义winnotify::watch和winnotify::stop之前,就应该实现定义并初始化pMontor,然后以ClientData的形式供watch和stop命令使用。

5.3 通知主线程

当监视线程发现文件变化之后,需要通知主线程来完成接下来相对应的工作,比如最简单的仅仅是打印变化消息。和线程的实现类似,通知主线程的实现也可以分为使用API实现和在Tcl语言级实现。

使用API,一般调用Tcl_ThreadQueueEvent在指定线程的事件队列中添加一个新的事件。该函数接收3个参数,分别是threadId、evPtr和position,表示线程的Id、某个具体的事件和插入事件队列的位置。事实上,要得到第一个参数就非常困难,由于Tcl语言级的线程Id与API中接收的Tcl_ThreadId数据结构没有太多共同之处,除了Tcl_GetCurrentThread用于得到当前线程Id外,没有能得到某个线程Id号的API,所以这不是一个直截了当的工作。

的确是有一个公共的数据结构维护着Tcl语言级Id号到Tcl_ThreadId数据结构的映射,可以通过它来得到有关线程的信息;当然还可以在主线程启动之后直接调用Tcl_GetCurrentThread得到主线程Id数据结构,并将其作为模块winnotidy指令的一部分参数传递给监控线程来调用。

相比较而言,在Tcl语言级实现监控线程对主线程的通知,显得方便很多。首先还是要得到主线程的Tcl语言级的Id号。这有很多方法,可以将其作为watch命令的一个参数;也可以在监控线程中使用thread::names得到所有线程之后再进行筛选,等等。当监控线程发现文件变化后,异步监控触发相应的lpCompletionRoutine函数,在其中使用thread::send指令给主线程Id号发送执行命令。下面就是该函数的代码:

在上面的代码里,Tcl_EvalEx负责在当前的Tcl解析器中执行一段指令。第一个参数是指向当前Tcl解析器的指针;第二个参数是执行的具体指令;第三个则是需要执行的指令的长度,一般去-1表示全部;第四个则是执行该指令的Tcl环境,TCL_EVAL_GLOBAL即是表示在全局环境中执行,如换成TCL_EVAL_DIRECT,则在当前Tcl模块函数的环境中执行,在这个例子里没有区别。

对于thread::send,还是应谨慎使用,有时候它会造成死锁。比如:

thread::send$tid_1"thread::send[thread::id]{puts hello}"

这段代码将永远不会返回,主线程等待tid_1完成任务,而tid_1则等待主线程执行打印hello的任务,于是死锁便产生。虽然这个例子很愚蠢,但是说明了危险的存在,有时候即使使用异步选项-async也不一定有效。

6 异步事件通知

仅仅在ReadDirectoryChangesW中使用异步的最好结果,也就是另开一个线程让监控在其中执行,这么做看起来事实上与同步调用并无区别。其实纯粹使用C编程时,即使采用IOCP也无非是这种模式,IOCP还是会在另一个线程中循环地检测。幸运的是Tcl有基于事件通知的消息传递机制,在异步调用监测的同时,结合Tcl的事件通知便可以实现在单线程中非阻塞地进行文件监视。

与多线程监测的MonitorCallback函数类似,在事件通知的异步通知函数里,仅仅是将Tcl_EvalEx换成了Tcl_QueueEvent,用于给当前Tcl解析器的事件队列中添加新的事件。它接受两个参数,分别是evtPtr和position,表示事件与事件加入队列的位置,这基本上和Tcl_ThreadQueueEvent很类似。之后还应调用Tcl_DoOneEvent,来处理事件队列中的一个事件,如果成功的话将立即返回,如果失败则可能会阻塞,这取决于传入的参数值。如参数TCL_DONT_WAIT,则无论成功与否都直接返回。

etvPtr是Tcl_Event数据结构的指针,该结构的初始化需要使用Tcl_Alloc来分配内存空间,并且需要给其中的proc成员指定一个执行函数,作为当事件触发时的处理函数。另外,为了方便给处理函数传递必要的参数,应将Tcl_Event包装成新的数据结构,在这里有如下的形式:

除了处于首地址位置的Tcl_Event结构外,还有指向当前Tcl解析器的指针和用于存储Tcl指令的缓冲区。当Tcl事件执行时,Tcl_Event数据结构指针将作为事件处理函数的第三个参数,而在处理函数内部应转换该结构为Cevent结构,从而得到Tcl解析器和执行指令。

之后的代码就一清二楚了,但需要注意的是该函数必须是要返回的一个int值,而且返回1或者0意义大不相同。当返回1时,表示执行完该处理函数后事件将从事件队列中删除,而返回0则表示在事件队列中继续保留该事件。在Tcl的API文档中虽有说明,但写得实在是很偏僻,一不留神就容易造成奇怪的现象。

7 编码

即使使用了WideCharToMultiByte,除非是直接打印,一旦被传入Tcl解析器执行后,这些数据依然会变成一堆乱码,这跟Tcl解析器对字符串的默认处理方式有关。在之前的解决Oratcl的问题时,已经深有体会了。比如“你好”一词,存入Oracle数据库后就成了一堆乱码,说是乱码却也是有迹可循。首先将“你好”用utf8解码,之后再用系统默认比如cp935编码出来,就成了真正存入数据库的数据。事实上,所有进入Tcl的数据都会被自动转化为utf8编码,因此在使用Tcl的API时,时刻要注意做必要的转换。

比如对于打开一个被监视文件夹,倘若是一个中文文件夹,那么对于从Tcl指令watch传入的参数需要重新将其转换为系统编码所表示的字符。

第一个参数表示转换用的编码,当NULL时使用系统默认值;第二个就是从watch指令中得到被监控文件的名称,-1表示使用全部长度的数据,ds是Tcl_DString结构的指针,用于动态存储Tcl中的字符串。一般使用如下的顺序初始化该结构,用完之后需要明确使用Tcl_DstringFree释放分配的内存。

在这个例子里还有一个需要处理字符串编码的位置,就是当发生文件变化时,事件传递回来的数据可能包含中文字符,这时候需要反过来将该数据转换为Utf8的编码,这样才能保证在Tcl中打印出正确编码的文字。

摘要:ReadDirectoryChangesW是Windows系统下用于监测文件系统变化的API函数。使用Tcl的C扩展API对其进行必要的整合与包装,分别从同步调用与异步调用两个角度介绍了如何实现阻塞与非阻塞的Tcl模块,并在此基础上结合Tcl的时间通知机制,实现了单线程非阻塞的文件监控模式。

关键词:Tcl,ReadDirectoryChangesW,事件,异步,编码

参考文献

[1]Brent B.Welch,Ken Jones,Jeffrey Hobbs.Practical Program-ming in Tcl and Tk[M].NJ:Prentice Hall PTR,2003.

[2]Joe Armstrong.Programming Erlang[M].北京:人民邮电出版社,2009.

上一篇:纪念512地震作文结尾下一篇:点灯花随笔