




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WindowsAPI 调用系统对话框转一些从shell32.dll 导出的函外壳对话框外壳对话框的秘密常见的的通用对话框被封装在 Comdlg32.dll ,这给我们的编提供了很大的便利。但它还不够完整,我们在系统里经常能看到大量的可重复使用的对话框,但在的文档里你却找不到它们的调用方法。而如果我们自己去做这样的界面是非常费时费力的而且也是没有必要的,因为这些对话框实际上很容易得到。这里我要介绍一些已经众所周知或不为认知的对话框,它们可以应用在我们的程序中使程序显得非常友好和专业。浏览文件夹对话框图2.23大多数Delphi 程序员都知道如何使用 的TOpenDialog控件来让用户浏览将要打开的文件。然而有时你可能只想让用户选择文件夹而不是特定的文件,windows已经提供了一个这样的对话框如图 2.23所示。我们可以通过公开的函数 SHBrowseForFolder来调用(这个函数定义在 ShlObj单元),函数义如下:functionSHBrowseForFolder(varBrowseInfo :TBrowseInfo):PItemIDList ;stdcall ;这个函数只有一个参数,但这个参数是一个比较复杂的记录类型TBrowseInfo=packedrecordr :pidlRoot :PItemIDList ;lpszTitle ulFlags:lpfn:m:iImage:Integer ;end;第1 页数据成员包含对话框的父窗体的窗口句柄,可以把它设成 0PIdlRoot 数据成员指向一个 PIDL的指针对应于对话框初始化时的根目录。指定了PIdlRoot 后,就只有根目录及它的子目录会出现在对话框中。可以设定它为nil,这时缺省的根目录是桌面,pszDisplayName数据成员指向一个缓冲区可以用来储存被用户选中的文件名,缓冲区的大小至少为H数那么大,否则遇到特别长的文件名会溢出。lpszTitle数据对象指向一个以null结尾的字符串,字符串作为对话框的标题来显示。注意标题不要太长,否则显示时会被截断。ulFlags标志数据对象用来限制在对话框中显示的文件夹类型。可以设定它为0或下列值的组合://来设定状态BIF_STATUSTEXT//钮会变灰BIF_RETURNONLYFSDIRS=[messag]01//不选择网络文件夹BIF_DONTGOBELOWDOMAIN=[messge]02//给状态条留出空白BIF_STATUSTEXT=[message]4//只选择文件系统的上级目录BIF_RETURNFSANCESTORS=[messae]08//只选择计算机BIF_BROWSEFORCOMPUER=00//只选择打印机BIF_BROWSEFORPRINTR=00//包括文件也可以选BIF_BROWSEINCLUDEFILE=00注意:如果你想对话框显示lpszTitle里的用户定制的状态条信息,必须包括TLpfn数类型如下:第2 页TFNBFFCallBack=function(DialogHandle :MessageI:;PID:PItemIDList ;a:stdcall ;
Integer ;这是一个回调函数,可以用来在同用户交互时控制和更新对话框的显示。如果你不想控制对话框,可以把它设成 nil ,lParam数据对象允许你在回调数中以参数 lpfn 形式返回一个指针 (通常我们用它来返回对象 ),当然也可以把它设成为 0。IImage数据成员不需要设置,因为它是用来接收系统中同文件夹相关的图标列表索引的,我们这里设它为 。SHBrowseForFolder函数返回一个唯一的指向被选择的文件夹的 。如果文件夹是一个传统的文件对象的话,可以用函数 SHGetPathFromIDListPIDL转换为真实的目录。同时,作为调用者,必须负责释放被返回的 itemidentifierlist ,使用IMallocCOM接口来释放。注意:不要用 或其他方法来释放 这是因为外壳的内存理是独立的,只能用 IMalloc 来释放。现在我们已经可以显示对话框了,那让我们更深入一步看看如何能够控制对用户动作的反应,这就要用到了回调函数 。注意回调数的意思就是,你只是实现了它,系统就知道什么时候去调用它,就好比一个守株待兔的例子。DialogHandle 参数代表对话框窗口句柄。通常可以用这个句柄给对话框发消息,MessageID参数并不是一个 结构的记录,它是对话框通回调函数发给用户消息的,它可以是下面两个值:BFFM_INITIALIZED=//对话框将要显示BFFM_SELCHANG/用户选中了某项PIDL参数包含其他的额外信息。如果 MessageID是PIDL将等于l 。如果MessageI是BFFM_SELCHANIDL的值将是一个PIDL对应于用户选择的文件夹。 Data参数包含用户付给 TbrowseInfo 记录中的Lparam数据成员的值,通常可以传递一个对象指针。下面是一个简单的回调函数的例子:functionBrowseForFolderCallback(DialogHandle :MessageI:;PID:PItemIDList ;a:Integer ;第3 页begin//响应对话框的通知消息case(MessageID)ofBFFM_INITIALIZED:DialogInitialized(DialogHandle,Data) BFFM_SELCHAGEDHandleNewSelection(DialogHandle,PIDL,Data) ;Result:=0;//总返回0.在回调函数里,可以根据用户的输入发送三个用户的消息给对话框,面是消息 ID://改变对话框的状态信息BFFM_SETSTATUSTEXT=WM_USR+100//控制确定按钮失效与否BFFM_ENABLEOK=WM_USR+101//改变选择的文件夹BFFM_SETSELECTION=WM_USR+102通常,这些消息发送给对话框使之根据用户的选择更新显示,当然你也可以发送其他的消息给对话框,比如可以发送 WM_SETTE息来改变对话的标题。下面是一个发送消息的例子 (见表2.11):PostMessage(DialogHandle,BFFM_SETSELECTION,True,LPARAM(PChar(NewPath))) ;表2.11MessageIDWParamLParamBFFM_SETSTATUST使用一个向新的状态信息的 Pchar有使用True使得确认按钮有效,False无效BFFM_SETSELECTO果m是路径则为 True,若m是PIDL则为False指向被选择的文件路径或 PIDL的Pchar第4 页另外要提到的是,Delphi 也提供了对这个函数的封装,那就是SelectDirectory 关于对话框通常我们都要在自己的程序里加上一个关于对话框来显示一些版本信息Windows为我们提供了一个标准的对话框如图2.24范围内对它定制,不过它只适合显示简单的标识和文本(我觉得用处极小)。我们可以通过函数ShellAbout来调用它(声明在ShellAPI单元里),函数定义如下:functionShellAbout(Owner :DApplicationName:PCha;OtherText:PChar;IconHandleInteger ;stdcall ;Owner参数标识了拥有对话框的父窗体句柄,通常设为 0,表明没有父窗体。ApplicationName 参数包含对话框的标题,字符串中可以包含 "#"字符,它能起到分割符的作用。这种情况下,函数会把分割符前的字符串作为标题栏,分割符后的部分作为 "Microsoft" 字符串后的第一行。 OtherText 参数包含了打算显示在 Microsoft 版本和版权信息后的字符串。 IconHandle参数标识了打算显示在对话框上的图标标识,如果设为 函数会显示 缺省的标。图2.24图2.25格式化对话框SHFormatDrive函数会显示一个格式化对话框,如图2.25个半公开的函数。但现在它不在微软的里。然而微软承认它的存在并把它从Shell32.dll里用名字公开声明,Delphi中的函数定义如下:functionSHFormatDrive(Owner :De:;FormatID:;OptionFlags:):stdcall Owner参数标识拥有对话框的窗体句柄,文档中推荐不要设为 0,但实际上好像没什么影响。 Drive 参数是用来标识打算格式化的驱动器的数值,它是以0为底的,从 A开始A:=0,B:=1依此类推。FormatID参数允许我们指定一个格式化的模板,通常情况下,只要赋值为 可以了OptionFlags 参数是一个选项掩码,来确定格式化的选项。当前有两个选项:SHFMT_OPT_FULL=[messag]0//快速格式化第5 页SHFMT_OPT_SYSONLY=[messae]/2复制系统文件如果函数调用失败,会返回下列错误中的一种来表明错误原因,错误常数如下:SHFMT_NOFORMAT=$FFFF//DSHFMT_CANCEL=$FFFF/格式化被取消了SHFMT_ERROR=$FFFF/其他错误WindowsNT和WideChar在进一步研究未公开的函数前 ,我们必须清楚一点,对于未公开的函数来说以null 结尾的字符串类型参数大多数被声明为类型指针而不是 。这有点像陷阱,但必须承认这是事实。在 Win9X上所有的字符串类型参数声明为PAnsiChar,而在WindowsNT上被声明为 。如果你想你的应用序适应所有平台,你必须考虑两种情况,在运行时要判断平台类型,这是很讨厌的,但这也是使用未公开的 API的代价。选择图标对话框图2.26我们要讨论的第一个完全未公开的函数是 PickIconDlg 。如图2.26所示这个函数会显示一个对话框,用户可以用来从文件中选择一个图标资源。它通常是用文件类型编辑器来关联图标和某一文件类型的,也会在快捷方式对话框中被调用来修改快捷方式的图标。这个函数从 Shell32.dll 用值62来公开来,函数定义如下:functionPickIconDlg(Owner :DFileNam:Pointer ;MaxFileNameChar:varIconIndex :)l;stdcall ;Owner参数和上面的意义类似。 FileName参数指向一个缓冲区,包含了被浏览图标的文件名,缓冲区要不小于 MAX_PATH+1MaxFileNameChars指字符数量大小。IconIndex 常数是以0为底的图标索引,当对话框打开时会把焦点定在 IconIndex 对应的图标上,函数返回后, IconIndex 指向最后被选的图标索引。如果用户点了取消按钮,函数返回 False。运行程序对话框第6 页图2.27RunFileDlg函数是相当灵活的,如图2.27所示就是调用开始菜单的运行子菜单后会显示的对话框,我们通过值61把它从Shell32.dll出来。下面是函数声明:er :DIconHandle:;WorkPath:Pointer ;Caption:Pointer ;Description :Pointer ;Flags:UINT);stdcall ;Owner参数就不用再说了。 IconHandle参数是显示在对话框上的图标句柄,如果为 nil ,缺省的icon 将会使用。WorkPath参数指向一个字符串来指定应用程序运行的工作路径。 Title 参数指向作为对话框标题的字符串,如果为nil ,就使用缺省的标题。 Description 参数指向一个描述字符串,主要是告诉用户如何去做,可以设为 nil ,这时使用缺省的描述。 Flags参数用一位掩码来设定对话框的属性。下面是定义:/=移去浏览按钮//无缺省的选项/由文件名确定工作路径//去掉编辑框标签有效)
/
去掉在单独的内存空间运行的复选框 (只对NT这个对话框一个很好的特性是允许你控制用户可以运行的应用程序。当用户选择了确认按钮,对话框的父窗体会发送一个通知消息来传递将要运行程序信息。通知消息是一个 Y息,它的通知代码设定为)然后 m指向一个 TNM_RunFileDlg记录。定义如下:TNM_RunFileDlg=packedrecordr :lpFile :Pointer;lpDirectory :Pointer ;:l;hdr数据对象是 类型,它是一种标准的 Windows数据类型,每Y息的lParam参数都会指向这个数据成分。同时根据不同的消息类型,可能一些额外的数据跟在记录后面,标准的 记录定义如下:第7 页TNMHdr=packedrecord:idFrom记录中的包含发送消息的窗口句柄, idFrom则包含发送消息控件标示符,code中包含标识被发送的消息的通知代码。在记录后被打包的额外数据包含三个数据成分: LpFile 指向一包含将要运行的文件的路径字符串; LpDirectory 指向正在运行程序的工作目录字符串;最后, 用来指定将要运行的应用程序是否可见。对于本文中特定的消息,只对 TNMHdr 录中的 Code感兴趣,通过检验Code可以确保我们收到一个运行文件校验消息,同时使我们可以存取额外的TNM_RunFileDlg数据成员。当 记录中的code等于RFN_VALIDATE(-510)时,可以获得一个 TNM_RunFileDlg记录。下面是校验消息的代码:varFileToRun :String ;ifTheMessage.Msg=WM_NOTIFYthenifPNMHdr(TheMessage.LParam).code=RFN_VALIDATEthenWideCharToStrVar(PNM_RUNFILEDLG(TheMessage.LParam).lpFile,FileToRun) ;注意只有当我们已经检验 的Code为E,才映射LParam参数为PNM_RunFileDlg类型。通知消息的返回值决定了应用程序是否能够运行,下面是可能的值:] //允许程序运行//取消操作,关闭对话框=//查找文件对话框图2.28调用查找文件对话框的函数是 SHFindFiles,对话框如图 2.28所示。是从Shell32.dll 按索引值 90公开出来的:functionSHFindFiles(SearchRoot :PItemIDList ;第8 页SavedSearchFile:PItemIDList) :LongBool;stdcall ;SearchRoot参数允许从一个特定的文件夹开始查找,同在资源管理器中在文件夹上用右键点击查找菜单的效果是一样的。如果设为 nil ,那么查找是从桌面开始的。SavedSearchFile 参数让你指定一个以前查询保存的查找策略文件(*.fnd 文件),根据以前的设定来查找,若不需要的话可以设定为 nil 。如果你指定了一个非空值的 SearchRootPIDL,那么在调用完 SHFindFiles 必须负责释放掉。但是有点奇怪的是,如果你指定了一个非空的SavedSearchFilePIDL 参数,函数成功调用的话,你不能去释放这个 否则会出错,但如果调用失败了的话,你必须释放它。同大多数对话框函数不一样,这个函数是非模态的,也就是系统在另外一个独立的线程中启动对话框,然后立即返回,对话框会在你的程序结束后自动关闭。也就是说你没有任何直接的方法来告诉用户如何使用查找到的结果,所以要想知道用户找到的文件的话,最好是让你的程序支持文件拖放,以便让用户把找到的文件拖放给你。查找电脑对话框同SHFindFiles 比较接近的一个函数是 这个函数调用的结果同开始菜单上查找电脑菜单调用的结果是一样的。它的参数同SHFindFiles 完全一样,不同之处在于它完全忽略传递给它的参数,很显然是保留起来为了将来扩展的需要。这里我们只要把参数都设成 nil 就可以了,外注意这个对话框也是非模态的。 SHFindComputer是从Shell32.dll 以索引号91公开出来的:functionSHFindComputer(Reserved1 :PItemIDList ;Reserved2:PItemIDList) :LongBoolstdcall 查找文件对话框通过调用GetFileNameFromBrowse函数可以调出这个对话框,不过说实在的,它实际上只是 GetOpenFileName函数的简单封装。而我们常用的TOpenDialog控件也是对 GetOpenFileName函数封装,这个函数我们很少会去直接用它。不过还是写出来吧,它是从 Shell32.dll 里按索引值 63公开出的:functionGetFileNameFromBrowse(Owner :FileNam:Pointer ;:第9 页InitialDirectory :Pointer ;DefaultExtension :Pointer ;Filter :Pointer;CaptionPointer) :LongBoolstdcall 图2.29大多数参数对应于 OPENFILENA构的成员。Owner参数我想就不用重复了,FileName参数指向一个初始化对话框编辑控制文件名的缓冲区,函数返回后 FileName包含被选择的文件路径,它的大小一般设成 1么大。MaxFileNameChars参数用来指定 FileName缓冲区的大小。InitialDirectory 参数指向对话框初始化的目录名,但如果 FileName参数指定了,InitialDirectory 就会被忽略而使用 FileName参数中的路径。DefaultExtension 参数指向一个包含要搜索的缺省扩展名的字符串。 Filter参数指向一个以 null 结尾的可以用来在下拉列表中限定文件类型的过滤字符串。Caption 参数指向对话框标题字符串。如果用户选择了一个要打开的文件,函数返回 True,当有错误发生,户选择取消按钮或关闭对话框的话会返回 False。外壳对象属性对话框另一个未公开的对话框函数是SHObjectProperties,它可以用来显示外壳对象的属性,比如驱动器、文件夹或文件等,运行效果如图2.29数可以从Shell32.dll中按索引值178公开出来,定义如下:functionSHObjectProperties(Owner :DFlags:;;InitialTabName :Pointer) :LongBool;stdcall ;Flags参数用来指定 ObjectName参数对应对象的类型,它可以是下列标识://打印机OPF_PRINTERNAE=//路径OPF_PATHNAE=ObjectName参数指向一个包含路径名的字符串或是要显示属性的打印机名。如果打印机是本地的,可以使用实际的打印机名,如果是网络打印机,需要使用完整的 样式名称,比如\COMPUTERNAME\PRINTERNAME第10 页InitialTabName 参数指向一个属性对话框中页面名称字符串,用来指定要显示的缺省页面。如果 InitialTabName 参数为 nil,或不匹配任何页面的名称第一个属性页面将会被显示。如果函数调用成功会返回 True,如果失败会返回 False。要想获得扩的错误信息,可以调用 API函数GetLastError 。要注意的是这个对话框是非模态的,类似于查找文件对话框,所以函数一被调用,就肯定会显示一个对话框,同时我们没有办法知道用户什么时候关闭了对话框。映射网络驱动对话框图2.30图2.30显示了映射网络驱动器的对话框,我们通过SHNetConnectionDialog 函数调用它(win9x 和WinNT上都支持),它可以索引值160从Shell32.dll 暴露出来,函数定义如下:functionSHNetConnectionDialog(Owner ::Pointer;:)stdcall SHStartNetConnectionDialog 函数也会显示同样的对话框,但它显示的对话框是非模态的,同时只在 上才支持。它可以按索引值 215Shell32.dll 中公开出来,函数定义如下:functionSHStartNetConnectionDialog(Owner ::PWideCha;:)stdcall 上面两个函数的参数完全相同。其中 参数指向一个要连接的网络资源 路径名。指定了这个参数的话,显示的对话框中被预设的连接资源就不可改变了。如果这个参数为 nil ,则在对话框中用户可以指定要连接的资源。ResourceType参数可以是下面的值之一: ISK的不同将会生成不同的对话框。参数为K我们为网络驱动资源指定一个盘符,另一个参数允许我们映射一个并行口名比如 为一个网络打印机。然而,不知道为什么T在NT上无效。图2.31如果函数调用成功的话,返回值是 如果用户取消的对话框则返回-1($FFFFFFFF),如果调用失败则返回其他的错误代码,具体错误信息可以用GetLastErrorAPI 调用获得。第11 页关闭系统对话框ExitWindowsDialog 和RestartDialog 函数可以用来显示关闭和重启系统对话框(如图2.31),它们同公开的 ExitWindowsExAPI 函数没有什么太大的不同,但在其过程中都会产生一个对话框。 ExitWindowsDialog 函数可以按引值60从Shell32.dll 中公开出来,RestartDialog 函数的在 Shell32.dll中的索引值则是 两个函数的定义如下:eExitWindowsDialog(Owner :)stdcall ;functionr :D:Pointer ;ExitType:):stdcall ;对ExitWindowsDialog 函数来说,对话框好像并不使用 Owner参数作为父窗口,在 Windows95上,当操作成功的话 owner窗口会收到一个 消息。在 Windows上,owner窗口根本不被使用。同时这个函数没有返回值,所以没有办法知道用户选择了什么操作以及操作是否被取消了。RestartDialog函数更有用一些,当我们修改了系统的设置,并希望重新启动系统使修改生效的时候可以使用这个函数。Reason参数指向一个要显示在对话框中的字符串,用来解释关闭系统的原因。ExitType参数指定关闭类型,可以使用ExitWindowsEX函数使用值的一个子集及额外的几个新值,下面是它们的完全列表:EWX_LOGOFF=[messge]EWX_SHUTDWN=EWX_REBOT=EW_RESTARTWINDWS=EW_REBOOTSYSEM=EW_EXITANDEXECPP=如果用户选择执行关闭操作,函数返回 否则返回。要注意的是显示在对话框中的原因字符串后总会跟着一个系统缺省提供的字符串用来显示确认信息,所以应该在我们的 Reason字符串后附上空格回车换行字符。另外返回值不能用于确定操作的成功性,它只表明用户的选择,如果重启操作由于某些原因失败了,返回值仍然是 。同时要注意的是想调用成功,用户还必须有 SE_SHUTDOWN_A(在T上)。第12 页缺少内存对话框x一个未公开的函数,当系统内存不足时可以用来显示标准的外壳信息对话框,它在 Shell32.dll 中的索引值是 函定义如下:functionSHOutOfMemoryMessageBox(Owne:Caption:Pointer;Style:UINT):Integer ;stdcall 它会调用MessageBox同时传递 3个标准的参数和ERROR_OUTOFMEY息。n参数指向对话框标题字符串。如果Caption 为nil ,父窗口的标题就会被使用。 Style 参数可以被设置为任MessageBo函数使用的 MB_XX常数的组合,通常设置它为 MB_O或MB_ICONHN函数调用返回值参见 SD中MessageBo函数说明。当MessageBo函数被调用时,MB_SETFOREGRU会被添加到 参数中,但如果第一次调用失败了的话, 函数会被再次调用,这次MB_SYSTEMMOL会被添加到 Style 参数中。MB_SYSTEMMODALMB_ICONHA识结合后会忽略内存状况来显示消息对话框。当内存确实不足时,函数不会显示任何东西,然而它仍然会返回 函数调用结果。所以我们可以根据返回值判断函数是否调用成功了。空间不足对话框图2.32另一个资源相关的函数是 SHHandleDiskFull,它会显示磁盘不足的信对话框(如图2.32)。我们可以在由于没有足够磁盘空间时导致程序无法运行的条件下调用这个函数,调用后,如果回收站中有什么东西没有删除的话,对话框允许用户清空回收站来释放磁盘空间。它在 Shell32.dll 中的索引值为函数的定义如下:eSHHandleDiskFull(Owner :De:);stdcall ;Drive参数用于指定以0为底的驱动器盘符。0代表1代表不会显示,同时也没有任何返回值表示对话框是否显示,还无法知道用户的操作,比如它是否真的清空了。看起来比较可行的应用只能是程序自行监视磁盘剩余空间,只是使用这个对话框作为一个快速修复的工具。一般外壳消息对话框第13 页ShellMessageBox函数仅仅是一个对 函数的简单封装函数它允许使用字符串资源标识符或标准的以 null 结尾的字符串,同时还允许加入支持格式化 ForamtMessage函数的控制符。ShellMessageBox函数在Shell32.dll 中的索引值为 functionShellMessageBoxA(Module :THandl;:Text:StyleParameters:arrayofPointer) :Integer ;cdecl;更确切地说这个函数应该叫 ShellMessageBoxA因为它只支持 ANSI字符串,还有一个 的版本的函数 ShellMessageBox,它的索引值为 但它只在 Windows上才有,函数定义如下:functionShellMessageBoxW(Module :THandl;Owne:Text:PWideChr n:PWideCha;Style:;Parameters:arrayofPointer) :Integer ;cdecl;Module参数是提供字符串资源的模块句柄,句柄可以用GetModuleHandle函数获得。顾名思义 Text参数指向一个要显示在对话框的文本,它也可以是资源字符串 ID,文本中可以包括格式控制序列,它将会被在Parameters中提供的额外字符串替代。控制符格式为 "%#",其中"#"是额外字符串在参数中的位置,比如 将被第一个 Parameters数组中的字符串元素替代,"%3"将会被第三个元素替代,依此类推。 Caption参数指向对话框标题文本,同样它也可以是资源 ID,如果参数为 nil ,Owner指定的窗口标题将被用于对话框标题。 Style 参数是由位掩码标识组成的,可以设置成MessageBox函数支持的 常数的组合。返回值同 MessageBox完全一样对于这个函数很重要的一点是微软公司使用 cdecl来输出这个函数而不是通常的 stdcall 。此外,Parameters参数使用了 C语言中的可变参数列表,这意味着这个函数不是语言无关的,这使得调用起来非常麻烦,因为 Delphi并不直接支持 cdecl和可变参数列表。为了解决这个问题, Parameters参数被映射为一个动态指针列表。同时我们还需要使用嵌入式汇编来建立 cdecl 式的堆栈。由于动态指针列表的性质,我们必须至少指定一个指针值。如果不想指定要替代的字符串,简单设置为 nil 就可以了。卫生管理制度1 总则1.1 为了加强公司的环境卫生管理,创造一个整洁、文明、温馨的购物、办公环境,根据《公共场所卫生管理条例》的要求,特制定本制度。1.2 集团公司的卫生管理部门设在企管部,并负责将集团公司的卫生区域详细划分到各部室,各分公司所辖区域卫生由分公司客服部负责划分,确保无遗漏。2 卫生标准2.1 室内卫生标准2.1.1 地面、墙面:无灰尘、无纸屑、无痰迹、无泡泡糖等粘合物、无积水,墙角无灰吊、无蜘蛛网。2.1.2 门、窗、玻璃、镜子、柱子、电梯、楼梯、灯具等,做到明亮、无灰尘、无污迹、无粘合物,特别是玻璃,要求两面明亮。2.1.3 柜台、货架:清洁干净,货架、柜台底层及周围无乱堆乱放现象、无灰尘、无粘合物,货架顶部、背部和底部干净,不存放杂物和私人物品。2.1.4 购物车(筐)、直接接触食品的售货工具(包括刀、叉等):做到内外洁净,无污垢和粘合物等。购物车(筐)要求每天营业前简单清理,周五全面清理消毒;售货工具要求每天消毒,并做好记录。2.1.5 商品及包装:商品及外包装清洁无灰尘(外包装破损的或破旧的不得陈列)。2.1.6 收款台、服务台、办公橱、存包柜:保持清洁、无灰尘,台面和侧面无灰尘、无灰吊和蜘蛛网。桌面上不得乱贴、乱画、乱堆放物品,用具摆放有序且干净,除当班的购物小票收款联外,其它单据不得存放在桌面上。2.1.7 垃圾桶:桶内外干净,要求营业时间随时清理,不得溢出,每天下班前彻底清理,不得留有垃圾过夜。2.1.8 窗帘:定期进行清理,要求干净、无污渍。2.1.9 吊饰:屋顶的吊饰要求无灰尘、无蜘蛛网,短期内不适用的吊饰及时清理彻底。2.1.10 内、外仓库:半年彻底清理一次,无垃圾、无积尘、无蜘蛛网等。2.1.11 室内其他附属物及工作用具均以整洁为准,要求无灰尘、无粘合物等污垢。2.2 室外卫生标准2.2.1 门前卫生:地面每天班前清理,平时每一小时清理一次,每周四营业结束后有条件的用水冲洗地面(冬季可根据情况适当清理),墙面干净且无乱贴乱画。2.2.2 院落卫生:院内地面卫生全天保洁,果皮箱、消防器械、护栏及配电箱等设施每周清理干净。垃圾池周边卫生清理彻底,不得有垃圾溢出。2.2.3 绿化区卫生:做到无杂物、无纸屑、无塑料袋等垃圾。3 清理程序3.1 室内和门前院落等区域卫生:每天营业前提前10分钟把所管辖区域内卫生清理完毕,营业期间随时保洁。下班后5-10分钟清理桌面及卫生区域。3.2 绿化区卫生:每周彻底清理一遍,随时保
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时尚家居用品店企业制定与实施新质生产力战略研究报告
- 子宫肌瘤课件范文
- 上海商学院专职辅导员招聘真题2024
- 江苏省南京市部分高中高三上学期12月联考语文试题及参考答案
- 广州商学院专职辅导员招聘真题2024
- 2024年山东文化产业职业学院专任教师招聘笔试真题
- 2024年常熟市事业单位招聘工作人员笔试真题
- 小学美术跨学科综合教学计划
- 健身房器械操作流程指南
- 公共设施安全生产委员会职责
- 2022年广东省深圳市中考化学真题试卷
- 住建部《建筑业10项新技术(2017版)》解读培训课件
- 部编版四年级语文下册第二单元全套精美课件(统编版)
- 计算机视觉全套课件
- 公司职工薪酬福利制度薪酬福利制度
- 民航机场灯光
- T∕CAMDI 048-2020 一次性使用输液接头消毒盖帽
- 六甲集合住宅设计研究(课堂PPT)
- (完整word版)古籍样式排版模板
- 中国胰腺癌诊治指南2021更新(全文)
- 爱丽丝梦游仙境中英剧本(共21页)
评论
0/150
提交评论