画出每个自画项目
这在TabSet的OnDrawTab事件处理过程中完成 这一事件处理过程的参数中包含了待画项目索引 画板 待画区域 是否被选中等 这里我们只利用了前三个参数 事实上利用最后一个参数 我们可以对被选中的标签进行一些特殊的视觉效果处理 这一工作就留给读者自己去完成
procedure TFMForm DriveTabSetDrawTab(Sender: TObjectTabCanvas: TCanvas
R: TRectIndex: IntegerSelected: Boolean)
var
Bitmap: TBitmap
begin
Bitmap := TBitmap(DriveTabSet Tabs Objects[Index])
with TabCanvas do
begin
Draw(R Left R Top + Bitmap)
TextOut(R Left + + Bitmap Width R Top + DriveTabSet Tabs[Index])
end
end
文件管理基本功能的实现
在子窗口的File菜单中 定义了文件管理的基本功能 它们是
● Open :打开或运行一个文件(从文件列表框双击该文件可实现同样效果)
● Move :文件在不同目录间的移动
● Copy :文件拷贝
● Delete :文件删除
● Rename :文件更名
● Properties :显示文件属性
文件打开
文件打开功能可以运行一个可执行文件 或把文件在与之相关联的应用程序中打开 文件总是与创建它的应用程序相关联 这种关联可以在Windows的文件管理器中修改 要注意的是 文件的关联是以后缀名为标志的 因而对一个文件关联方式的修改将影响所有相同后缀名的文件
文件打开功能实现的关键是利用了Windows API函数ShellExecute 由于Windows API函数的参数要求字符串类型是PChar 而Delphi中一般用的是有结束标志的String类型 因此为调用方便我们把这一函数进行了重新定义如下
function ExecuteFile(const FileName Params DefaultDir: String
ShowCmd: Integer) THandle
var
zFileName zParams zDir: array[ ] of Char
begin
Result := ShellExecute(Application MainForm Handle nil
StrPCopy(zFileName FileName) StrPCopy(zParams Params)
StrPCopy(zDir DefaultDir) ShowCmd)
end
以上函数在fmxutils单元中定义 fmxutils是一个自定义代码单元
有关ShellExecute中各参数的具体含义读者可查阅联机Help文件
StrPCopy把一个Pascal类型的字符串拷贝到一个无结束符的PChar类型字符串中
在子窗口的Open Click事件处理过程中
procedure TFMForm Open Click(Sender: TObject)
begin
with FileList do
ExecuteFile(FileName Directory SW_SHOW)
end
如果FileList允许显示目录的话(即FileType属性再增加一项ftDirectory) 那么对于一个目录而言 打开的含义应该是显示它下边的子目录和文件 程序修改如下
procefure TFMForm Open Click(Sender: Tobject)
begin
With FileList do
begin
if HasAttr(FileName faDirectory) then
DirectoryOutline Directory := FileName
else
ExecuteFile(FileName Directory SW_SHOW)
end
end
其中HasAttr是一个fmxutils单元中的自定义函数 用于检测指定文件是否具有某种属性
function HasAttr(const FileName: StringAttr: Word) Boolean
begin
Result := (FileGetAttr(FileName) and Attr) = Attr
end
文件拷贝 移动 删除 更名
文件拷贝的关键是使用了以文件句柄为 *** 作对象的文件管理函数 因而提供了一种底层的I/O通道 在Object Pascal中这一点是利用无类型文件实现的
在文件拷贝中首先检查目标文件名是否是一个目录 如是则把原文件的文件名添加到目标路径后 生成目标文件全路径名 而后提取源文件的时间戳 以备拷贝完成后设置目标文件 拷贝过程中使用了返回文件句柄或以文件句柄为参数的文件管理函数FileOpen FileCreate FileRead FileWrite FileClose 为保证文件的正常关闭和内存的释放 在拷贝过程中进行异常保护
过程CopyFile实现上述功能 它定义在fmxutils单元中
procedure CopyFile(const FileName DestName: TFileName)
var
CopyBuffer: Pointer
TimeStamp BytesCopied: Longint
Source Dest: Integer
Destination: TFileName
const
ChunkSize: Longint =
begin
Destination := ExpandFileName(DestName)
if HasAttr(Destination faDirectory) then
Destination := Destination + \ + ExtractFileName(FileName)
TimeStamp := FileAge(FileName)
GetMem(CopyBuffer ChunkSize)
try
Source := FileOpen(FileName fmShareDenyWrite)
if Source <then
raise EFOpenError Create(FmtLoadStr(SFOpenError [FileName]))
try
Dest := FileCreate(Destination)
if Dest <then
raise EFCreateError Create(FmtLoadStr(SFCreateError [Destination]))
try
repeat
BytesCopied := FileRead(Source CopyBuffer^ ChunkSize)
if BytesCopied >then
FileWrite(Dest CopyBuffer^ BytesCopied)
until BytesCopied <ChunkSize
finally
FileSetDate(Dest TimeStamp)
FileClose(Dest)
end
finally
FileClose(Source)
end
finally
FreeMem(CopyBuffer ChunkSize)
end
end
如果我们不使用FileSetDate过程 Windows自动把当前时间作为时间戳写入文件
文件移动事实上是文件拷贝与文件删除的结合 fmxutils单元中的MoveFile过程实现了这一功能
procedure MoveFile(const FileName DestName: TFileName)
var
Destination: TFileName
begin
Destination := ExpandFileName(DestName)
if not RenameFile(FileName Destination) then
begin
if HasAttr(FileName faReadOnly) then
raise EFCantMove Create(Format(SFCantMove [FileName]))
CopyFile(FileName Destination)
DeleteFile(FileName)
end
end
EFCanMove是一个自定义异常类
type
EFCanMove := Class(EStreamError)
有关自定义异常类请参阅第十二章
文件删除 文件更名直接调用Delphi文件管理过程DeleteFile RenameFile 它们都以文件名为参数 *** 作执行前应d出一个对话框进行确认 执行完毕后应调用Update方法更新FileList的显示
lishixinzhi/Article/program/Delphi/201311/25232
文件处置的实践中,近年来。发现文件 *** 持、传送、管理等环节均存在一些问题。根据《中国共产党机关公文处置条例》省党的机关公文处置细则》等文件处置要求,针对文件 *** 持、传送、管理过程中存在这些问题,结合工作实际,进行了有益探索。
一、文件办理、传递、管理中存在的问题及原因
(一)调整领导小组成员一类文件查阅不便和下发过多。为减少“调整领导小组成员”文件的发文数量,我们曾参照上级的作法,将文件中“领导小组成员”均以具体职务替代姓名,或在行文的正文最后一自然段写明:“今后,领导小组成员如有工作异动,由相应人员自然递补……”实施一段时间以后,基层单位经常反映,因为有的文件跨度有几年,查找某一领导小组成员名单时很不方便。同时,因职位变化频繁,相应领导小组成员则需作相应调整,办文单位每呈报一个都须按要求予以行文,既增加了办文数量,也增加了文件发送成本。
(二)文件发放渠道不畅通。区县一级文件发送一般都是依靠会议发放,通过参会人员将文件下发到受文单位,而很少通过邮寄或专送的形式。主要原因是,基层邮送邮件的时间长、成本高,一年需要文件邮递费用3.6万元左右;专送虽然时间短,但成本更高。采用会议发放的方式,大大节约了文件发放的成本,但容易出现文件丢失或发送不到位的现象,影响公文效应。
(三)机要文件传阅管理难。区县一级办公室一般人手不多,每个科组室只有2人,机要文件的传阅只是秘书组的工作职责之一。以前机要文件的`传阅,尤其是密级文件的传阅,为避免失泄密事件的发生,工作人员一般会有意识地缩小传阅范围,或者一人直送区级领导,来回几十趟,工作效率很低。
二、创新文件处理的思考与建议
针对文件办理、传递、管理中存在的具体问题,我们按照既符合《中国共产党机关公文处理条例》、《省党的机关公文处理细则》精神,又结合工作实际的要求,积极思考和尝试了文件处理的新办法。
(一)集中办理调整各类领导小组成员的文件。集中办理调整各类领导小组成员的文件主要是为今后方便文件查阅,减少发文数量,节约工作成本,提高办文效率。我们主要从三个方面着手,第一、凡需以区一级名义对全区各类领导小组成员进行调整的文件,我们规定每年三次集中办理,统一行文,其它时段一般不予受理。第二、因工作需要,确需调整相关领导小组成员,办文单位要及时拟稿,提供相关背景资料,并按程序送本单位领导审阅,然后按照集中办理的时间要求交区委办公室统一办理。第三、因特殊情况,需在集中办理的时间之外办理这类文件的,其部门单位主要负责人须事前向区委办公室分管办文工作的副主任报告,经区委办公室主任同意后,方可办理。这样一来,我们办文数量锐减,除集中办理的3个调整各类领导小组成员的文件外,特殊需要办理的文件最多不超过5个。同时,也满足了基层方便查阅的要求。
(二)进一步规范文件发送渠道。文件发送是否到位,关系到区县市委工作部署是否顺利传达贯彻落实的关键一步,如何既节约发送成本,又保证发送到位,我们结合区情实际,创造性地开展了工作,进一步规范了文件发送渠道。一是对区委机关大院内各单位下发的一般时效性非涉密文件,仍然投放到区机关事务管理局收发室,院内各单位及时查收。二是在区委机关大院收发室专制了两个文件发放柜,为院外的几十个单位(包括乡镇、街道,龙岭工业园,区直及中央、省、市驻区各单位)各设一个专门抽屉,配备专门钥匙,对下发的一般时效非涉密文件都发放到文件柜中,各单位每周至少领取一次(目前,乡镇、街道的党政办主任一般都住在城区)。三是对各单位下发的紧急文件采用“发电”文头形式,通过传真下发到区委机关院外的受文单位。对各单位下发的密级文件,将通过其它途径发放。四是进一步明确受文单位收文管理工作由单位办公室承担,办公室主任为第一责任人。各收文单位办公室指定一名机要秘书,具体负责上级文件的接收、传阅和管理。收文管理过程中,因单位自身原因,未按照规定时间及时收取文件致使工作贻误的,将根据有关规定追究相关责任人的责任。
(三)严格机要文件的传阅管理。针对办公室人手不够的问题,我们改变过去单靠秘书组人员的做法,通过两种途径呈送,一种途径为分送区委办、区人大办、区政府办、区政协办(以下简称“四办”)专门收文工作人员,分别呈送处级领导传阅;另一种途径为通过“四办”每季度召开处级离退休老同志会议,由“四办”组织传达学习机要文件精神。同时,从两个方面严格加强对密级文件的传阅管理,确保密级文件不失泄密,按要求传阅到位。一方面由区委保密局确定“四办”和区委部办委为保密要害部门,明确保密要害部门工作人员,保密要害部门及其工作人员分别与保密局签订保密承诺书,切实加强监督管理;另一方面,“四办”及区委部办委收文人员到区委办领取呈送处级领导传阅的密级文件,必须填写密件签收单,以此强化收文人员责任,防止失泄密事故发生。对于具体传阅过程中的问题,我们制定了《区级领导阅读文件办理工作规程》,严格按规程 *** 作。如在密级文件上方加盖“严禁复印”字样,送阅文件不横传,绝密文件到区委阅文室阅读等。
1.目的为建立和保持一个有效的文件管理体系,而制定有关文件的管理要求,以方便文件的检索查阅,并确保在质量管理体系运行的各个场合都能使用有效版本的文件。
2.适用范围
适用于本公司与质量管理体系有关文件的管理。
3.职责
3.1文件的制定、修改与废止权责:自己做,这里发不上来
3.2外来文件:
3.2.1有关客户图纸/资料及品质要求由各部技术组/品管部负责收集,申请登录;
3.2.2与品质系统及产品有关的国际/国家/行业标准由管理者代表负责收集,申请登录。
3.3文控中心负责文件的编号和所有质量体系文件原件管理工作。
4.定义
4.1外来文件:指客户提供的技术性资料、检验标准以及由相关部门搜集的国际/国家/行业标准、法律法规等。
4.2ECN:ENGINEERINGCHANGENOTICE,指对相关工程变更所做的暂定标准。
4.3BOM:BILLOFMATERIEL,指物料清单。
5.作业内容
5.1文件编号规则
5.1.1文件编号
□□□—□□—□□—□□□
文件流水号
文件制订部门代号
各文件类别:01手册02程序03作业性文件05外部文件
本工厂英文名简写:HSP
5.1.2质量记录编号
□□—□□□—□
版本(A、B……)
表单流水号(001-999)
各部门代号(参见5.4)
5.1.3版次编号
5.1.3.1文件版次编码
□/□
修订次数(0、1……4)
版本(A、B……)
注:同一份文件的各页版本必须相同,各修订次数可不一致,每页修订后上升为A/1,某页修订超过4次,或同一份文件修订等于或大于4处时,可直接更换版本。
5.1.3.2表单只有版本,修订后直接换版。
5.2部门代码:
总经理:ZJ管理代表:GD财务部:CW
行政部:XZ营业部:YY资材部:ZC
电镀部:DD注塑部:ZS喷油丝印部:PS
品管部:PG
5.3文件编写的格式:
5.3.1质量手册
5.3.1.1封面:公司名称、文件名称、文件编号、版本、制定、审核、批准及生效日期。
5.3.1.2正文:质量手册修订记录、目录、手册说明、公司简介、公司组织架构图、品质保证体系图、品质政策、目标、与质量体系相关的各部门权责、分章论述涉及到体系要素点的管理要求。
5.3.2程序文件
5.3.2.1封面内容包括:公司标志、公司名称、文件名称、文件编号、版本、制定、审核、批准及生效日期。
5.3.2.2正文内容包括:目的、适用范围、职责、定义、作业内容、相关文件、相关记录、流程图。
5.3.3作业性文件
5.3.3.1文控文员控制作业性文件的编号与版本,作业性文件格式由各部门自行确定,同类文件必须使用同一格式,必要时可参照程序文件格式。
5.3.3.2作业性文件必须包括公司名称、文件编号、版次、页次、制定、审核、批准等。
5.3.4质量记录
5.3.4.1质量记录的格式由编制部门确定,但应确保编号、标题和内容符合要求,栏目空间大小与所填写的内容相适应。
5.4文件与资料控制程序说明
5.4.1文件的编制
5.4.1.1管理者代表组织质量手册和通用程序文件的编写。
5.4.1.2各部门负责人组织本部门程序文件/作业性文件的编写。
5.4.1.3各部门负责相关技术性资料的编写。
5.4.1.4品管部负责检验标准、检验规格书等品质标准资料的编写。
5.4.1.5文件的编号参见5.1,文件格式参见5.3。
5.4.1.6文件编制者应确保文件清晰、易懂、可 *** 作。
5.4.1.7文件中所需的质量记录/表单应随文件一起编制后提交审批。
5.4.2文件的审批
5.4.2.1审批权限参见本文件3.1,审批人应确保文件的质量,满足质量管理体系的要求,可 *** 作。
5.4.2.2对于涉及多个部门的文件可以采取文件会审的方式审核。
5.4.2.3文件与质量记录在制定及审批时,必须注明其制定及审批日期。
5.4.3文件的发放/回收
5.4.3.1文件受控前由文件编制部门填写《文件登录/修订/废止/补发申请单》,确定文件发放范围和数量。公司质量手册和程序文件的发放由管理者代表确定分发范围和数量,其它体系文件由文件批准人确定分发范围和数量。文控文员编制《文件总览表》。
5.4.3.2文控文员在文件发放前应确认:①文件是否清晰、易读、可 *** 作;②格式、内容是否正确无误;③编号、版本及文件是否已得到相关人员的批准;在确认无误后登录,并制定《文件发放/回收登记表》,作为文件制定和发放的依据;然后按规定复印所需份数,不得错页、漏页;制作完成后保留文件原件;副本文件加盖蓝色“受控文件”印章后发放,收文部门应核对页数、页码无误后,在《文件发放/回收登记表》上签收确认。
5.4.3.3外来文件由各相关部门负责识别与质量管理体系的相关性,对需发放执行的外部文件,由文控文员按本文件5.4.3.1与5.4.3.2办理,加盖“外来文件”识别章,并建立《外来文件清单》,外来文件可直接沿用原编号,原文件无明确编号时,按本文件5.1执行。
5.4.3.4非发放范围人员需领用文件时,应以《文件登录/修订/废止/补发申请单》向文控中心申请补发。
5.4.3.5修订/废止文件由文控文员负责回收旧版本,并在原《文件发放/回收登记表》上注明,作废文件应立即加盖“无效文件”章或直接销毁;作废文件原件应加盖“参考文件”章保留二年(保留期限另有规定除外)。
5.4.4文件的使用管理
5.4.4.1文件的使用部门/使用人应妥善保管好文件,置于使用者易取阅的地点,如有丢失、损坏应及时以书面形式向文控中心申请补发。
5.4.4.2受控文件不得私自复印/打印/涂改、书写或加注记号。
5.4.4.3作业性文件停止使用一年以上,由使用部门填写《文件登录/修订/废止/补发申请单》申请废止,经原审批人批准后交文控中心废止,若申请未获批准,则将文件交文控中心保管。
5.4.5文件的评审
文件使用者在工作过程中,应评价文件的充分性和适宜性,必要时,应提出更新的需要。
5.4.6文件的修订或作废
5.4.6.1文件发放后,如需修订或作废时,由提出人填写《文件登录/修订/废止/补发申请单》按原审批程序审批,原审批人不能审批时,而改由其接替人或授权人审批。
5.4.6.2文件修订后,由文控文员通知各部门将旧版文件交文控中心后换领新文件。
5.4.6.3发往外部(认证公司或客户及其代表)的参考(非受控)文件在修改或换版时,只作通知并发放新文件,可不收回旧文件。
5.4.6.4外来的技术文件,由技术相关部门跟踪管制,确定本公司之外来技术文件为最新版本。
5.4.6.5外来的国际/国家/行业标准由管理者代表与外界联络,确保本公司作用之外来标准为最新版本。
5.4.7记录保存
有关文件控制之相关记录,按《质量记录控制程序》执行。
6.相关文件:
《质量记录控制程序》
7.相关表单:
7.1《文件总览表》
7.2《文件发放/回收登记表》
7.3《外来文件清单》
7.4《文件登录/修订/废止/补发申请单》
8.流程图
见附件1:《文件控制流程》
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)