酒店管理系统—计算机毕业设计(论文) 精品文档欢迎下载酒店管理系统摘要宾馆管理信息系统面对强大的信息量可以轻松的管理,减少了在管理上面物力和人力,有利于宾馆提高工作效率和下面是小编为大家整理的酒店管理系统—计算机毕业设计(论文) ,供大家参考。
欢迎下载
酒店管理系统
摘
要
宾馆管理信息系统面对强大的信息量可以轻松的管理,减少了在管理上面物力和人力,有利于宾馆提高工作效率和宾馆效益。面对庞大的信息量,宾馆在正常运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解保个环节中信息的变更,有利于提高管理的效率.通过这样的系统,可以做到信息的规范管理、需要统计和快速的查询,从而减少在管理方面的工作量。采用VisualBasic6.0程序来编写,一个系统的开发建立数据库是至关重要的。本课题数据库采用的是SQLServer2000,通过建立数据源,VB与后台的数据库连接来运行。
本文从符合操作简单、界面友好、灵活、实用、安全的要求出发,它所完成的主要功能
有以下几个方面:
1)系统部分:主要完成安全权限。
2)客房信息管理部分:主要完成对客房信息及客房标准信息的查询,修改等管理。
3)订房信息管理部分:主要完成订房信息的查询,修改等管理及剩余客房信息查询的管理。
4)结算信息管理部分:主要完成对结算信息的查询,修改,添加等。
论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点,设计思想、难点技术和解决方案。
关键词:数据库,VisualBasic6.0,SQLServer2000,客房信息管理
欢迎下载
AbtractThemanagementinformationsystemofthehotelfacesthestrongamountofinformation,themanagementthatcanbelight.Reducethematerialresourcesandmanpowerinmanaging,helpthehoteltoimproveworkingefficiencyandhotelbenefit.AdoptVB6.0procedurescometowrite,itisessentialtosetupthedatabaseindevelopmentofasystem,subjectthisSQLServer2000,throughsetupdatasource,VBdatabaseinbackstagesupporterisitisitruntocometojoinThistextoperatesfromaccordingwithsimply,theinterfaceisfriendly,flexibleandpractical,thedemandwithhighsecuritysetsout,themainfunctionthatitfinisheshasthefollowingseveralrespect:
1)
Systematicpart:Finishthesafeauthoritymainly.2)Guestroomsofinformationadministrativesections:Finishinquiry,modificationoftheinformationofguestroomandstandardinformationofguestroom,etc.tomanagemainly.
3)Booksroomsintheadministrativesectionofinformation:Finishsuchmanagementofmanagingandsurplusinformationinquiryofguestroomastheinquiry,modificationofinformation,etc.tobookingroomsmainly.4)Settlementinformationadministrativesections:Finishinquiry,modificationofsettlementinformation,adding,etc.mainly.
Thesisthisintroducecopiesofdevelopmentbackgroundofsubjectmainly,coursethatfunctiondevelopeventhatfinishwanted.Provethefocalpointthatthesystemisdesignedespecially,systematicdesignphilosophy,difficultpointtechnologyandsolution.
Keyword:
Thedatabase,VisualBasic6.0,SQLserver2000,themanagementinformationsystemofguestroom
.
欢迎下载
目录
摘
要
.....................................................................................................................................1Abtract
.......................................................................................................................................2第1章
概
述
第2章
系统设计
2.1系统功能分析
2.2系统功能模块分析
第3章
数据库的设计与实现
3.1数据库需求分析
3.2数据库概念结构设计
3.3数据库逻辑结构设计
3.4创建数据库和数据表
3.5SQLSserver2000设置与VisualBasic设置
第4章
宾馆客房管理系统的创建
4.1宾馆客房管理系统主窗体的创建
4.1.1创建工程项目——Hotel-MIS4.1.2创建宾馆客房管理系统的主窗体
4.1.3创建主窗体的菜单
4.1.4创建公用模块
4.2系统用户管理模式的创建
4.2.1用户登陆窗体的创建
4.2.2添加用户窗体的创建
4.2.3修改用户密码窗体的创建
4.3客房标准管理模块的创建
4.3.1添加客房标准窗体的创建
4.3.2修改客房标准窗体的创建
4.3.3删除客房标准
4.4客房信息管理模块的创建
4.4.1添加客房信息窗体的创建
4.4.2修改客房信息
4.4.3删除客房信息
4.4.4查询客房信息
4.5订房信息管理模块的创建
4.5.1查询剩余客房信息窗体的创建
4.5.2添加订房信息
4.5.3修改订房信息
4.5.4查询订房信息
4.6结算信息管理模块的创建
4.6.1添加结算信息窗体的创建
欢迎下载
4.6.2修改结算信息
4.6.3查询结算信息
第5章
系统的实现
第6章
结论
致
谢
参考文献
附
录
欢迎下载
1.绪论
1.1问题的提出
随着人员流动规模的不断扩大,客房数量的急剧增加,有关客房管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有酒店收费管理系统来提高客房管理工作的效率。
传统手工的客房信息管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。
我父亲正在努力经营着他亲手创建的酒店,我也多次参与酒店的工作,一个酒店管理系统的必切性是非常明确的,我也希望我所编写的程序能给我父亲减轻一点工作压力.1.2本文研究路线
本文的研究框架如下图1.1所示,反映了如下的研究思路:
资料查询
开发环境熟悉
定题
调查研究
概要设计
功能模块开发
数据测试
系统运行
系统集成
应用程序打包
图1.1:本文的研究框架
欢迎下载
2.管理信息系统研究概述
2.1管理信息系统的发展历史
信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。
进入20世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。
我国的管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、金桥“工程,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统
(ES)或决策支持系统
(DSS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展。
2.2管理信息系统的特点
2.2.1管理信息系统的组成
管理信息系统在企业中的应用存在三个要素,这就是人、计算机和数据。
人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们在系统中起主导作用。MIS是一项系统工程,不是只靠一些计算机开发人员就可以完成的,必须有企业管理人员,尤其是企业领导的积极参与。
计算机技术是MIS(管理信息系统)得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。
第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理制度是MIS建设成功的基础。试想要计算一台机床的成本,需要按时输入每个部件、每个零件以及每个螺钉螺帽的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一整套管理制度作保证。
2.2.2管理信息系统的界面特点
在计算机软件技术中,人机界面已经发展成为一个重要的分支。MIS人机界面设计一般遵循以下一些基本原则:
欢迎下载
1.以通信功能作为界面设计的核心
人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式:另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起(人机界面程序只是通信),以免互相干扰,影响速度。
设计MIS时,针对每一个功能,都要按照模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。
报表打印是MIS必备的功能之一,而且打印之前常常需要计算。计算与打印分开设计,虽然消耗时间,但易于整个MIS系统的维护。
2.界面必须始终一致
统一的人机界面不至于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。
例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。
3.界面必须使用户随时掌握任务的进展情况
人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。
4.界面友好。使用方便
多数MIS软件的数据输入量较大。对于一些相对固定的数据,不应让用户频频输入(特别是汉字),而应让用户用鼠标轻松选择。例如,人事管理系统中的“文化程度”是相对固定的数据,其值一般取“小学”、“初中”、“高中”、“大专”、“大本”、“硕研”、“博研”等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框,待用户以鼠标点击,而不应让用户每次都输入这些汉字。
总之,所开发的MIS在使用过程中,应使用户的数据输入量降至最低限度减少用户的干预量。实践证明,用户干预愈少,MIS系统的满意程度愈高。
2.3管理信息系统的开发方式
欢迎下载
管理信息系统的开发方式主要有独立开发方式、委托开发方式、合作开发方式、购买现成软件方式等4种。这4种开发方式各有优点和不足,需要根据使用单位的技术力量、资金情况、外部环境等各种因素进行综合考虑和选择。不论哪种开放方式都需要有单位的领导和业务人员参加,并在管理信息系统的整个开发过程中培养、锻炼、壮大该系统的维护队伍。
2.4管理信息系统的开发过程
管理信息系统的开发过程一般包括系统开发准备、系统调查、系统分析、系统设计、系统实现、系统转换、系统运行与维护、系统评价等步骤。根据开发系统的大小、复杂、投入、方式、方法等因素的不问,各步骤的要求和内容也不同,用户需要根据实际情况进行取舍和计划。
3.酒店收费管理系统分析与设计
欢迎下载
3.1酒店收费管理系统功能需求简介
酒店收费管理系统对酒店加强客房信息管理有着极其重要的作用,就一所客房数量较大的酒店来说,它的设计内容非常复杂而且繁多,比如拥有客房信息管理、入住信息管理、预定信息管理等功能,而且设计的模块也很多,比如信息统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
由于本软件主要是为某小型酒店定制开发的,因此针对该酒店客房信息管理的实际工作而言,我们经过了反复地论证,最终确定了酒店收费管理系统的设计方案。该酒店收费管理系统的主要功能如下表所示(见表3.1):
功能模块
住房登记
功
能
客房管理
功
能
可以对房间信息进行增加和编辑,也可以根据房号进行查找
功能列表
对客户信息进行增加、删除和修改。
客户查询可以根据房号、姓名、国籍、住店日期、离店日功
能
表3.1:酒店收费管理系统主要功能表
期等信息对客户信息进行查询
3.2功能需求描述
3.2.1住房登记功能
该功能实现了对客户信息的管理。该功能可以对客户信息进行增加、删除和修改。客户信息包括对信客户进行登记,登记内容包括房号、姓名、性别、年龄、国籍、客房级别、住房天数、住店日期、离店日期等。
3.2.2客房管理功能
该功能实现了对客房信息的管理。该功能可以对客房信息进行增加、删除和修改,并且可以根据房号来查找客房信息。客房信息主要包括客房号、客房级别和是否入住。
3.2.3客户查询功能
该功能实现了对客户信息的查询。管理人员可以根据房号、姓名、国籍、住
欢迎下载
店日期或离店日期对客户信息进行查询,查询到的信息包括房号、姓名、性别、年龄、国籍、客房级别、住房天数、住店日期、离店日期等。
系统功能模块图如图3.1所示
系统主界面
住房登记
客房管理
客户登记
客户登记
客户编辑
客户删除
客房增加
客房编辑
客房删除
客房查询
按房号查询
按姓名查询
按国籍查询
按住店日期查询
按离店日期查询
图3.1功能模块图
3.3目标系统要求
目标系统应该达到以下要求:
1.时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
欢迎下载
2.可靠性。能连续准确的处理业务,有较强的容错能力。
3.可理解性。用户容易理解和使用该系统。
4.可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5.可用性。目标系统功能齐全,能够完全满足业务需求。
6.安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
3.4系统平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。
操作系统:Windows98数据库为:MSAccess2000开发工具与语言:VisualBasic6.0中文版
3.5数据库设计
设计数据库系统时首先应该充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:
1.数据库需求分析。
2.数据库概念结构设计。
3.数据库概念结构设计。
3.5.1数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询等方面,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程。组成一份详尽的数据字典,为以后的具体设计打下基础。
仔细分析调查有关酒店客房信息需求的基础上,将得到如图3.2所示的本系统所处理数据流程。
客房标准设置
基本信息录入
欢迎下载
客房标准信息管理
顾客登记
客房登记
基本信息录入
客房信息管
订房信息输入
订房信息管理
基本信息返回
结算信息输结算信息管理
图3.2系统数据流程图
针对一般酒店客房管理系统得需求,通过对酒店客房管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
1.客房标准信息,包括的数据项有:标准编号、标准名称、房间面积、床位数量住房单价、是否有空调、电视、电话、单独卫生间等。
2.客房信息,包括的数据源有:客房编号、客房种类、客房设置、客房单价、备注等。
3.订房信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等。
4.
结算信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等。
欢迎下载
有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。
3.5.2数据概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系,为以后的逻辑结构设计打下基础。
本程序根据上面的设计规划出的实体由:客房标准信息实体、客房信息实体、订房信息实体、结算信息实体。各个实体具体的描述E-R图如下。
客房标准信息实体E-R图如图3.3所示。
标准编号
客房标准信息实体
客房单价
……
标准名称
床位数量
图3.3客房标准信息实体
客房信息实体E-R图如图3.4所示。
客房信息实体
客房单价
欢迎下载
客房编号
标准标准
……
客房位置
图3.4客房信息实体E-R图
结算信息实体E-R图如图3.5所示。
结算信息实体
客房信息
顾客信息
实体之间关系的E-R图如图3.6所示。
客房标准信息
客房登记
……
结算金额
结算时间
图3.5结算信息实体E-R图
欢迎下载
客房信息管理
订房
结算信息管理
订房信息管理
客房结算
图3.6实体之间关系E-R图
3.5.3数据库逻辑结构设计
现在需要将上面的数据库概念结构化为MSAccess2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。酒店客房管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。表3.2为物资基本信息表。
表3.2客房标准信息表
列名
数据类型
可否为空
typeidvarcharNOTNULLtypenamevarcharNOTNULLareanumericNULLbenumbsnumericNULLhairconditionvarcharNULLhtelephonevarcharNULLhtelevisionvarcharNULLhtoiletvarcharNULLpricenumericNULL
表3.3为客房信息表格
表3.3客房信息表格
列名
数据类型
可否为空
roomNOvarcharNOTNULLroomtypenvarcharNOTNULLroompositionvarcharNULLroompricenumericNULLputupvarcharNULL说明
标准编号
标准名称
房间面积
床位数量
是否有空调
是否有电话
是否有电视
是否有单独卫生间
单价
说明
客房编号
客房种类
客房位置
单价
是否被锁定
欢迎下载
roommemo
表3.4为订房信息表
列名
booknocustomnamecustomIDroomnoindatadiscountinmemocheckdateammount
textNOTNULL备注
表3.4订房信息表
数据类型
可否为空
varcharNOTNULLvarcharNOTNULLvarcharNOTNULLvarcharNOTNULLdatatimeNULLnumericNULLtextrNULLdatatimeNULLnumericNULL说明
订房编号
顾客姓名
身份证号码
客房编号
入住日期
折扣
备注
结算日期
金额
4.酒店收费管理系统的功能实现
4.1系统功能分析
系统开发的总体任务是实现酒店各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成的。这个酒店客房管理信息系统需要完成的功能主要有:
1.
有关客房标准的制定、标准信息的输入、包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间
欢迎下载
等。
2.
客房标准信息的修改、查询等。
3.
客房基本信息的输入,包括客房编号、客房类型、客房设置、客房单价、备注等。
4.
客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。
5.
剩余客房信息的查询。
6.
结算信息的输入,包括客房编号、客房种类、客房设置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日起、备注信息等。
7.
结算信息的修改和查询,包括客房编号、客房种类、客房设置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日起、备注信息等。
4.1.1创建工程项目------Hotel_MIS
启动VisualBasic6.0后。单击FileProject菜单,在工程模板中选择StandardEXE,VisualBasic6.0将自动产生一个Form窗体,属性都是缺省设置。这里我们删除这个窗体,单击File|SaveProject菜单,将这个工程项目命名为
Hotel_MIS。4.1.2创建酒店客房管理信息系统的主窗体
这个项目我们使用多文档界面,单击工具栏中的ADDMDIForm按钮,生成一个窗体。在这个窗体上添加所需的控件,创建好的窗体如图所示。
欢迎下载
图
酒店客房管理信息系统主窗体
在主窗体中加入状态栏控件,可以实时的反应系统中的各个状态的变化。状态栏控件需要在通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置。选中状态栏控件,单击鼠标右键,选中Property菜单,然后设置属性。面板1用来显示各种文本信息,面板2用来显示单前日期,面板3用来显示当前时间。
4.1.3创建主窗体菜单
在主窗体重,单击鼠标右键,选择弹出式菜单重的“MenuEditor”命令,创建如图所示的菜单结构:
主窗体中的菜单结构
4.1.4用户管理模块主要实现:
1.用户登录界面。
欢迎下载
2.修改用户密码。
酒店在运营中需要设置不同的客房标准来适应不同消费水平顾客的需要。对于每个客房标准,有不同的硬件设施和服务。
4.1.5客房标准管理模块主要实现功能:
添加客房标准;修改客房标准;删除户客房标准。
1.添加客房标准窗体的创建
选择“客房信息管理设置客房标准添加客房标准”菜单,将出现如图所示的窗体。
欢迎下载
添加客房标准窗体
在窗体上放置多个文本框,用来输入客房标准基本信息,多个下拉式文本框选择不同的硬件设施;两个按钮用来确定是否添加客房标准信息;多个标签用来提示文本框中需要输入的内容。这些控件的属性见表,添加客房窗体中各个控件的属性设置。
2.修改客房标准窗体的创建
选择“客房信息管理|设置客房标准|修改客房标准”菜单,将出现如图所示的窗体,窗体中放置一个表格控件。
欢迎下载
客房标准信息记录列表窗体
OptionExplicit"DimblnStartSelectAsBoolean
PrivateSubdtgRoomQueryRefresh()WithfrmQuery.dtgQuery.ClearFieldsSet.DataSource=frmMDI.adoQuery"实施绑定
.AllowRowSizing=False"表头宽度设为两行
.HeadLines=2"选择方式为整行选中
.MarqueeStyle=dbgHighlightRow"不允许修改(设为只读)
.AllowAddNew=False.AllowDelete=False.AllowUpdate=False"第一列标题和宽度
.Columns(0).Caption="房间编号".Columns(0).Width=75.Columns(0).AllowSizing=False"第二列标题和宽度
.Columns(1).Caption="房间级别".Columns(1).Width=80.Columns(1).DataFormat.Type=5.Columns(1).DataFormat.TrueValue="标准间".Columns(1).DataFormat.FalseValue="豪华间".Columns(1).DataFormat.NullValue="未知".Columns(1).AllowSizing=False"第三列标题和宽度
.Columns(2).Caption="房间类型".Columns(2).Width=80.Columns(2).DataFormat.Type=5.Columns(2).DataFormat.TrueValue="单人间".Columns(2).DataFormat.FalseValue="双人间".Columns(2).DataFormat.NullValue="未知".Columns(2).AllowSizing=False"第四列标题和宽度
.Columns(3).Caption="房间价格(元)".Columns(3).Width=80.Columns(3).AllowSizing=False.Columns(4).Caption="状态"
欢迎下载
.Columns(4).Width=40.Columns(4).DataFormat.Type=5.Columns(4).DataFormat.TrueValue="在住".Columns(4).DataFormat.FalseValue="空房".Columns(4).DataFormat.NullValue="未知".Columns(4).AllowSizing=FalseEndWithEndSub
PrivateSubdtgQuery_Click()
EndSub
PrivateSubtxtRoomNo_Change()OpenTablefrmMDI.adoQuery,"SELECT*FROMRoomWHERE(((Room.RoomNo)
Like""&Trim(txtRoomNo.Text)&"%"&""))"dtgRoomQueryRefreshEndSubPrivateSubtxtRoomNo_KeyPress(KeyAsciiAsInteger)If(KeyAscii<48OrKeyAscii>57)AndKeyAscii<>8ThenKeyAscii=0EndIfEndSub
PrivateSubForm_Load()Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/2OpenTablefrmMDI.adoQuery,"select*fromRoomorderbyRoomNo,RoomRate"dtgRoomQueryRefreshLabel1.Visible=FalsetxtRoomNo.Visible=FalseFrame2.Visible=FalseoptRoomNo.Value=FalseoptRoomGrade.Value=FalseoptRoomType.Value=FalseoptRoomStatus.Value=FalseEndSub
PrivateSubOption5_Click()IfoptRoomGrade.ValueThenOpenTablefrmMDI.adoQuery,"SELECT*FromRoomwhere(((Room.RoomGrade)=-1))"ElseIfoptRoomType.ValueThenOpenTablefrmMDI.adoQuery,"SELECT*FromRoomwhere(((Room.RoomType)=-1))"ElseIfoptRoomStatus.ValueThen
欢迎下载
OpenTablefrmMDI.adoQuery,"SELECT*FromRoomwhere(((Room.RoomStatus)=-1))"EndIfdtgRoomQueryRefreshEndSub
PrivateSubOption6_Click()IfoptRoomGrade.ValueThenOpenTablefrmMDI.adoQuery,"SELECT*FromRoomwhere(((Room.RoomGrade)=0))"ElseIfoptRoomType.ValueThenOpenTablefrmMDI.adoQuery,"SELECT*FromRoomwhere(((Room.RoomType)=0))"ElseIfoptRoomStatus.ValueThenOpenTablefrmMDI.adoQuery,"SELECT*FromRoomwhere(((Room.RoomStatus)=0))"EndIfdtgRoomQueryRefreshEndSub
PrivateSuboptRoomStatus_Click()Label1.Visible=FalsetxtRoomNo.Visible=FalseFrame2.Visible=TrueFrame2.Caption="房间状态"Option5.Caption="在住"Option6.Caption="空房"Option5.Value=FalseOption6.Value=FalseEndSub
PrivateSuboptRoomType_Click()Label1.Visible=FalsetxtRoomNo.Visible=FalseFrame2.Visible=TrueFrame2.Caption="房间类型"Option5.Caption="单人间"Option6.Caption="双人间"Option5.Value=FalseOption6.Value=FalseEndSub
PrivateSuboptRoomGrade_Click()Label1.Visible=FalsetxtRoomNo.Visible=FalseFrame2.Visible=TrueFrame2.Caption="房间级别"
欢迎下载
Option5.Caption="标准间"Option6.Caption="豪华间"Option5.Value=FalseOption6.Value=FalseEndSub
PrivateSuboptRoomNo_Click()txtRoomNo.Text=""Label1.Visible=TruetxtRoomNo.Visible=TrueFrame2.Visible=FalseSendKeys"{TAB}"EndSub
3.删除客房标准
选择“客房信息管理|设置客房标准|删除客房标准”菜单,将出现记录列表。选择相应记录,单击鼠标右键,选择弹出式菜单,将删除当前记录,4.1.6客房信息管理模块主要实现功能:
添加客房信息;修改客房信息;删除客房信息;查询客房信息。
1.添加客房信息窗体的创建
选择“客房信息管理|设置客房信息|添加客房信息”菜单,将出现如图所示的窗体。
添加客房信息窗体
窗体中各个控件属性这里就不一一介绍。将各种文本框放在窗体的框架中,精品文档
欢迎下载
组成“客房信息”栏。
载入窗体时,将自动添加客房种类信息,OptionExplicitPrivateSubdtgRoomRefresh()
WithfrmRoomInfo.dtgRoomInfo
"绑定
Set.DataSource=frmMDI.adoRoom
.AllowRowSizing=False
"表头宽度设为两行
.HeadLines=2"选择方式为整行选中
.MarqueeStyle=dbgHighlightRow
"不允许修改(设为只读)
.AllowAddNew=False
.AllowDelete=False
.AllowUpdate=False
"第一列标题和宽度
.Columns(0).Caption="房间编号"
.Columns(0).Width=6.Columns(0).AllowSizing=False
"第二列标题和宽度
.Columns(1).Caption="房间级别"
.Columns(1).Width=8.Columns(1).DataFormat.Type=5.Columns(1).DataFormat.TrueValue="标准间"
.Columns(1).DataFormat.FalseValue="豪华间"
.Columns(1).DataFormat.NullValue="未知"
.Columns(1).AllowSizing=False
"第三列标题和宽度
欢迎下载
.Columns(2).Caption="房间类型"
.Columns(2).Width=8.Columns(2).DataFormat.Type=5.Columns(2).DataFormat.TrueValue="单人间"
.Columns(2).DataFormat.FalseValue="双人间"
.Columns(2).DataFormat.NullValue="未知"
.Columns(2).AllowSizing=False
"第四列标题和宽度
.Columns(3).Caption="房间价格(元)"
.Columns(3).Width=8.Columns(3).AllowSizing=False
".Columns(4).Visible=False
.Columns(4).Caption="状态"
.Columns(4).Width=4.Columns(4).DataFormat.Type=5.Columns(4).DataFormat.TrueValue="在住"
.Columns(4).DataFormat.FalseValue="空房"
.Columns(4).DataFormat.NullValue="未知"
.Columns(4).AllowSizing=False
EndWithEndSub
PrivateSubcmdAddNew_Click()
WithfrmRoomInfoEdit
"窗体标题
.Caption="添加新客房"
"清空班级编号并设为可修改
.txtRoomNo.Locked=False
.txtRoomNo.Text=""
欢迎下载
"默认班级类型为第一项
If.cboRoomGrade.ListCount=0Then
.cboRoomGrade.ListIndex=-1Else
.cboRoomGrade.ListIndex=EndIf
"默认教师为第一项
If.cboRoomType.ListCount=0Then
.cboRoomType.ListIndex=-1Else
.cboRoomType.ListIndex=EndIf
.txtRoomRate=""
"显示为模式窗体
.ShowvbModal
EndWithEndSub
PrivateSubcmdDelete_Click()
WithfrmMDI.adoRoom.Recordset
If.EOF<>TrueAnd.BOF<>TrueThen
If!RoomStatusThen
MsgBox"当前房间有客人居住,您不能删除该房间!",vbOKOnly+vbInformation,"提示"
ExitSub
EndIf
IfMsgBox("确认要删除当前记录吗?",vbYesNo+vbQuestion+vbDefaultButton2,"确认框")=vbYesThen
.Delete
欢迎下载
dtgRoomInfo.SetFocus
EndIf
EndIf
EndWith
ExitSubEndSub
PrivateSubcmdEdit_Click()IffrmMDI.adoRoom.Recordset.EOF<>TruefrmMDI.adoRoom.Recordset.BOF<>TrueThen
WithfrmRoomInfoEdit
"窗体标题
.Caption="修改客房信息"
"学员编号,设为不可修改
.txtRoomNo.Text=frmMDI.adoRoom.Recordset!RoomNo
.txtRoomNo.Locked=True
IffrmMDI.adoRoom.Recordset!RoomGradeThen"标准间
.cboRoomGrade.ListIndex=Else"豪华间
.cboRoomGrade.ListIndex=1EndIf
IffrmMDI.adoRoom.Recordset!RoomTypeThen"单人间
.cboRoomType.ListIndex=Else"双人间
.cboRoomType.ListIndex=1EndIf
.txtRoomRate=frmMDI.adoRoom.Recordset!RoomRate
.ShowvbModal
EndWithEndIfAnd
欢迎下载
EndSub
PrivateSubcmdExit_Click()
"退出窗体
UnloadMeEndSubPrivateSubForm_Load()
"显示在主窗体的中央
Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/4dtgRoomRefreshEndSub2.修改客房信息
选择“客房信息管理|设置客房信息|修改客房信息”菜单,将出现如图所示的体。
修改客房信息窗体
窗体中放置了一个表格控件,所有客房记录都显示在里面。选择需要修改的记录,在如图1-21所示的弹出式菜单中选择“修改客房信息”,出现图窗体,然后进行修改。
OptionExplicitPrivateSubdtgRoomRefresh()WithfrmRoomInfo.dtgRoomInfo
欢迎下载
"绑定
Set.DataSource=frmMDI.adoRoom.AllowRowSizing=False"表头宽度设为两行
.HeadLines=2"选择方式为整行选中
.MarqueeStyle=dbgHighlightRow"不允许修改(设为只读)
.AllowAddNew=False.AllowDelete=False.AllowUpdate=False"第一列标题和宽度
.Columns(0).Caption="房间编号".Columns(0).Width=60.Columns(0).AllowSizing=False"第二列标题和宽度
.Columns(1).Caption="房间级别".Columns(1).Width=80.Columns(1).DataFormat.Type=5.Columns(1).DataFormat.TrueValue="标准间".Columns(1).DataFormat.FalseValue="豪华间".Columns(1).DataFormat.NullValue="未知".Columns(1).AllowSizing=False"第三列标题和宽度
.Columns(2).Caption="房间类型".Columns(2).Width=80.Columns(2).DataFormat.Type=5.Columns(2).DataFormat.TrueValue="单人间".Columns(2).DataFormat.FalseValue="双人间"
欢迎下载
.Columns(2).DataFormat.NullValue="未知".Columns(2).AllowSizing=False"第四列标题和宽度
.Columns(3).Caption="房间价格(元)".Columns(3).Width=80.Columns(3).AllowSizing=False".Columns(4).Visible=False.Columns(4).Caption="状态".Columns(4).Width=40.Columns(4).DataFormat.Type=5.Columns(4).DataFormat.TrueValue="在住".Columns(4).DataFormat.FalseValue="空房".Columns(4).DataFormat.NullValue="未知".Columns(4).AllowSizing=FalseEndWithEndSub
PrivateSubcmdAddNew_Click()WithfrmRoomInfoEdit"窗体标题
.Caption="添加新客房""清空班级编号并设为可修改
.txtRoomNo.Locked=False.txtRoomNo.Text="""默认班级类型为第一项
If.cboRoomGrade.ListCount=0Then.cboRoomGrade.ListIndex=-1Else
欢迎下载
.cboRoomGrade.ListIndex=0EndIf"默认教师为第一项
If.cboRoomType.ListCount=0Then.cboRoomType.ListIndex=-1Else.cboRoomType.ListIndex=0EndIf.txtRoomRate="""显示为模式窗体
.ShowvbModalEndWithEndSub
PrivateSubcmdDelete_Click()WithfrmMDI.adoRoom.RecordsetIf.EOF<>TrueAnd.BOF<>TrueThenIf!RoomStatusThenMsgBox"当前房间有客人居住,您不能删除该房间!",vbOKOnly+vbInformation,"提示"ExitSubEndIf
IfMsgBox("确认要删除当前记录吗?",vbYesNo+vbQuestion+vbDefaultButton2,"确认框")=vbYesThen.DeletedtgRoomInfo.SetFocusEndIfEndIf
欢迎下载
EndWithExitSubEndSub
PrivateSubcmdEdit_Click()IffrmMDI.adoRoom.Recordset.EOF<>TrueAndfrmMDI.adoRoom.Recordset.BOF<>TrueThenWithfrmRoomInfoEdit"窗体标题
.Caption="修改客房信息""学员编号,设为不可修改
.txtRoomNo.Text=frmMDI.adoRoom.Recordset!RoomNo.txtRoomNo.Locked=TrueIffrmMDI.adoRoom.Recordset!RoomGradeThen"标准间
.cboRoomGrade.ListIndex=0Else"豪华间
.cboRoomGrade.ListIndex=1EndIfIffrmMDI.adoRoom.Recordset!RoomTypeThen"单人间
.cboRoomType.ListIndex=0Else"双人间
.cboRoomType.ListIndex=1EndIf.txtRoomRate=frmMDI.adoRoom.Recordset!RoomRate.ShowvbModalEndWithEndIfEndSub
欢迎下载
PrivateSubcmdExit_Click()"退出窗体
UnloadMeEndSubPrivateSubForm_Load()"显示在主窗体的中央
Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/4dtgRoomRefreshEndSub3.删除客房信息
在客房记录列表中选择记录,然后选择菜单中的“产出房间信息”,将删除当前记录,OptionExplicitPrivateSubdtgRoomRefresh()WithfrmRoomInfo.dtgRoomInfo"绑定
Set.DataSource=frmMDI.adoRoom.AllowRowSizing=False"表头宽度设为两行
.HeadLines=2"选择方式为整行选中
.MarqueeStyle=dbgHighlightRow"不允许修改(设为只读)
.AllowAddNew=False.AllowDelete=False.AllowUpdate=False"第一列标题和宽度
.Columns(0).Caption="房间编号"
欢迎下载
.Columns(0).Width=60.Columns(0).AllowSizing=False"第二列标题和宽度
.Columns(1).Caption="房间级别".Columns(1).Width=80.Columns(1).DataFormat.Type=5.Columns(1).DataFormat.TrueValue="标准间".Columns(1).DataFormat.FalseValue="豪华间".Columns(1).DataFormat.NullValue="未知".Columns(1).AllowSizing=False"第三列标题和宽度
.Columns(2).Caption="房间类型".Columns(2).Width=80.Columns(2).DataFormat.Type=5.Columns(2).DataFormat.TrueValue="单人间".Columns(2).DataFormat.FalseValue="双人间".Columns(2).DataFormat.NullValue="未知".Columns(2).AllowSizing=False"第四列标题和宽度
.Columns(3).Caption="房间价格(元)".Columns(3).Width=80.Columns(3).AllowSizing=False".Columns(4).Visible=False.Columns(4).Caption="状态".Columns(4).Width=40.Columns(4).DataFormat.Type=5.Columns(4).DataFormat.TrueValue="在住".Columns(4).DataFormat.FalseValue="空房".Columns(4).DataFormat.NullValue="未知"
欢迎下载
.Columns(4).AllowSizing=FalseEndWithEndSub
PrivateSubcmdAddNew_Click()WithfrmRoomInfoEdit"窗体标题
.Caption="添加新客房""清空班级编号并设为可修改
.txtRoomNo.Locked=False.txtRoomNo.Text="""默认班级类型为第一项
If.cboRoomGrade.ListCount=0Then.cboRoomGrade.ListIndex=-1Else.cboRoomGrade.ListIndex=0EndIf"默认教师为第一项
If.cboRoomType.ListCount=0Then.cboRoomType.ListIndex=-1Else.cboRoomType.ListIndex=0EndIf.txtRoomRate="""显示为模式窗体
.ShowvbModalEndWithEndSub
欢迎下载
PrivateSubcmdDelete_Click()WithfrmMDI.adoRoom.RecordsetIf.EOF<>TrueAnd.BOF<>TrueThenIf!RoomStatusThenMsgBox"当前房间有客人居住,您不能删除该房间!",vbOKOnly+vbInformation,"提示"ExitSubEndIf
IfMsgBox("确认要删除当前记录吗?",vbYesNo+vbQuestion+vbDefaultButton2,"确认框")=vbYesThen.DeletedtgRoomInfo.SetFocusEndIfEndIfEndWithExitSubEndSub
PrivateSubcmdEdit_Click()IffrmMDI.adoRoom.Recordset.EOF<>TrueAndfrmMDI.adoRoom.Recordset.BOF<>TrueThenWithfrmRoomInfoEdit"窗体标题
.Caption="修改客房信息""学员编号,设为不可修改
.txtRoomNo.Text=frmMDI.adoRoom.Recordset!RoomNo.txtRoomNo.Locked=True
欢迎下载
IffrmMDI.adoRoom.Recordset!RoomGradeThen"标准间
.cboRoomGrade.ListIndex=0Else"豪华间
.cboRoomGrade.ListIndex=1EndIfIffrmMDI.adoRoom.Recordset!RoomTypeThen"单人间
.cboRoomType.ListIndex=0Else"双人间
.cboRoomType.ListIndex=1EndIf.txtRoomRate=frmMDI.adoRoom.Recordset!RoomRate.ShowvbModalEndWithEndIfEndSub
PrivateSubcmdExit_Click()"退出窗体
UnloadMeEndSubPrivateSubForm_Load()"显示在主窗体的中央
Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/4dtgRoomRefreshEndSub4.查询客房信息
选择“客房信息管理|设置客房信息|查询客房信息”菜单,将出现如图所示的窗体。在这里可以按照各种方式以及他们的组合进行查询。
欢迎下载
查询客房信息的窗体
PrivateSubCommand1_Click()
frmQuery.Caption="客房信息查询"
frmQuery.ShowvbModalEndSub
PrivateSubCommand2_Click()
frmQueryMoney.ShowvbModalEndSub
PrivateSubCommand3_Click()
frmQueryBenifit.ShowvbModalEndSub
PrivateSubForm_Load()
Me.Left=(frmMDI.Width-Me.Width)/2Me.Top=(frmMDI.Height-Me.Height)/4EndSub
4.2发布应用程序
在VisualBasic的集成开发环境中创建好酒店收费管理系统后,并无意味着全部工作已完成,此时生成的应用程序只能在VisualBasic的集成环境中运行,要想使应用程序能够脱离VisualBasic的集成开发环境,首先要对客房信息管理程序进行编译并且生成.exe或其他类型的文件,然后调用打包和展开向导创建安装程序。
欢迎下载
4.2.1编译应用程序
编译客房信息管理程序就是将创建的应用程序以及它的工程文件合并成一个可执行文件。在发布客房信息管理应用程序之前,首先应该使用测试和调试工具对改应用程序进行前面测试,在排除了所有可能的错误后,才可以开始对应用程序进行编译。
编译应用程序的主要目的如下:
使应用程序转入和运行更快;
给发布应用程序作准备;
使用应用程序更安全。
将应用程序进行编译后,VisualBasic将工程中的所有文件进行组织并将这些工程文件转化成一个可执行的文件.exe。
VisualBasic提供APP对象来存储应用程序的有关信息属性,例如,公司名,产品名,版本以及其他相关信息。在设计中,可以通过这些属性来告诉用户一些重要的信息,在应用程序运行时用VisualBasic代码读出这些属性值,也可以在Windows资源管理器中观察应用程序对象的版本信息属性值。右击编译过的.exe文件,然后从快捷菜单中选择“属性”命令打开“属性”对话框的版本标签,就可以看到应用程序的版本信息。
当完成当前工程的APP对象的属性后,就可以编译代码了。VisualBasic6.0支持两种编译格式:P代码和本地代码。选择P代码格式编译的应用程序生成的可执行文件较小,选择本地代码编译的应用程序生成的可执行文件要大的多,但是可执行文件的运行速度比较快。
因此,酒店收费管理系统采用的是本地代码的编译格式。
4.2.2打包应用程序
创建VisualBasic应用程序后,可以将创建的客房信息管理应用程序通过磁盘,关盘,网络等途径自由发布,一般来说,发布应用程序必须经过下面的两个步骤:
1、打包
必须将应用程序文件打包为一个或多个可以部署到选定位置的.cab文件(.cab文件是一种压缩文件),对于某些类型的软件包,还必须为其创建安装程
欢迎下载
序。
2、部署
必须将打包的应用程序放置到适当的位置,以便用户来安装应用程序。
可以使用两种工具来打包和发布应用程序:
打包和展开向导(PackageandDeployment);
VisualBasic安装软件提供的安装工具包。
打包和展开向导通过提供有关如何配置.cab文件的选项,使发布应用程序所包含的许多步骤得以自动运行,这是用户一般所采用的方法。
使用打包和展开向导进行打包的第一个步骤就是选择一个工程,然后单击打包按钮,开始创建一个可以发布的应用程序。
第二步,如果没有编译工程,打包和展开向导会要求编译工程。工程编译完成后,向导询问想制作什么类型的包,我们这里使用向导制作安装程序。当向导完成制作安装包以后,它会自动生成一个带有很多重要信息的报告。
4.2.3发布应用程序的步骤
将酒店收费管理系统打包后,制作安装程序的过程并没有结束,必须将打包后的应用程序发布到一个媒体上,比如软盘,光盘等,发布酒店收费管理系统的主要步骤如下:选择“酒店收费管理系统”这个包,然后指定把这个包发布到指定文件夹中,选择发布的媒体,就可以完成“酒店收费管理系统”的发布工作了。
欢迎下载
结论
随着人员流动规模的不断扩大,客房数量的急剧增加,有关客房管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有酒店收费管理系统来提高客房管理工作的效率。
传统手工的客房信息管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。该管理系统,可以有效的减少酒店客房管理的操作量,经过酒店的初步使用,效果还是很显著的.
欢迎下载
参考文献
[1]《VisualBasic6.0数据库开发指南》
王福成、周铁柱、黄淼云等编著
清华大学出版社
2000年6月第一版
[2]《VB.NET编程实例详解(含盘)》
王华杰编著
中国铁道出版社
2002年04月第一版
[3]《VB.NET高级编程》
康博译
清华大学出版社
2002年03月第一版
[4]《编程技巧及故障排除即时通
(VB篇)》
清华天则工作室编著
兵器工业出版社
2001年02月第一版
[5]《引人入胜
InstallShield6.x/VB/VC/Delphi安装程序设计与制作
(含盘)》
张君编著
上海书店
2000年11月第一版
[6]《VB6.0中文版教程》
新智工作室编著
电子工业出版社
2000年03月第一版
[7]《客房管理系统的设计与实现》孙丽芳,孙敏
山西电子技术
2001年06期
[8]《ACCESS数据库开发实例解析》
作者
刘志铭,孙健鹏
机械工业出版社出版
[9]《软件工程》
闫菲主
编著
中国水利水电出版社
[10]《软件工程导论》张海藩
编著
清华大学出版社
[11]《Delphi面向对象程序设计及应用开发》朱振元
朱承
编著
西安电子科技大学出版社
[12]《ACCESS开发实例精解》郑沫
编著
北京电子工业出版社
[13]《Delphi数据库程序设计》杨宗志
编著
清华大学出版社
[14]《delphi数据库应用开发技术与实例》张大年,廖智勇,刘剑锋
编著
清华大学出版社
[15]《数据库系统概论》萨师煊
王珊.[M].北京:高等教育出版社,2000.2欢迎下载
Theybothknewit.Andifshehadn"twonanecologyessaycompetitionandaprizeofplacesfortwoaboardSeaShepherd,neitherofthemwouldbehere.
SherestedherhandonGary"sshoulderandlookedathimcheekily."Youmaybeapaininthenecksometimes,butI"mgladyou"recomingwithme."
AsSouthamptonslidastern,SeaShepherdnosedintothethumpingwatersoftheEnglishChannel.Atthatmomentthesunsquintedthroughacrackinthecloud.Onthehorizonthesky"sgreypaintwaspeeling,revealingblue.Agoodomen?
GaryfollowedSusandownthecompanionway."Seeyouatdinner,"hesaid,beforeenteringthecabinhesharedwithNorman.Asoneofthegirls,SusanhadVanessaforaroom-mate.NextdoorwereYvesandDarren.
Susanhesitatedoutsidehercabin,fiddledwithhercardigan,ranacombthroughherhair.Then,headheldhigh,shemadeherentrance.Vanessawasn"tthere.Susanrelaxed,smilingatherself.
Thesmilefadedfast.She"stakenthebottombunk!Iwasherefirst.Susanstared,glaredatthefancynightdresslaidoutonthepillow.Didshehavethenervetomoveit?No,notquite.
Fuming,shestartedtounpack.Sweaters,T-shirts,jeans,shortsandadress.Sheyankedopenthewardrobedoor.Arowofeye-catchingoutfitshungneatlyonhangers."It"slikeafashionstore,"Susanmuttered,shovingthehangersasidetomakespaceforherownclothes.
Inthebathroomsheopenedthemirror-frontedcabinetonthewall.Itwascrammedwithbottlesandjars.Perfume,shampoo,creams...Susanslammedthecabinetshutandpulledafaceintheglass.
MeanwhileGarywastryingtomakefriendswithNorman.Hardwork.Normanprovedtobeaveryseriousyoungman,muchgiventousinglongwords.Must"veswallowedadictionary,Garythought.Buthekeptuptheconversation.ThenthestudiousteenagerproducedapackofcardsandproceededtodoaseriesofconjuringtricksthatmadeGllycouldalmostsmellhisbreath-mustardgasandroses.Itwasawrongnumber.Billyhungup.Therewasasoftdrinkbottleonthewindowsill.Itslabelboastedthatitcontainednonourishmentwhatsoever.
TheAmericanfliersturnedintheiruniforms,becamehighschoolkids.AndHitlerturnedintoababy,BillyPilgrimsupposed.Thatwasn"tinthemovie.Billywasextrapolating.Everybodyturnedintoababy,andallhumanity,withoutexception,conspiredbiologicallytoproducetwoperfectpeoplenamedAdamandEve,hesupposed.
Billysawthewarmoviesbackwardsthenforwards-andthenitwastimetogooutintohisbackyardtomeettheflyingsaucer.Outhewent,hisblueandivoryfeetcrushingthewetsaladofthelawn.Hestopped,tookaswig,ofthedeadchampagne.Itwaslike7-Up.Hewouldnotraisehiseyestothesky,thoughheknewtherewasaflyingsaucerfromTralfamadoreupthere.Hewouldseeitsoonenough,insideandout,andhewouldsee,too,whereitcamefromsoonenough-soonenough.
Overheadheheardthecryofwhatmighthavebeenamelodiousowl,butitwasn"tamelodiousowl.ItwasaflyingsaucerfromTralfamadore,navigatinginbothspaceandtime,thereforeseemingtoBillyPilgrimtohavecomefromnowhereallatonce.Somewhereabigdogbarked.
Thesaucerwasonehundredfeetindiameter,withportholesarounditsrim.Thelightfromtheportholeswasapulsingpurple.Theonlynoiseitmadewastheowlsong.Itca-medowntohoveroverBilly,andtoenclosehiminacylinderofpulsinginpurplelight.Nowtherewasthesoundofaseemingkissasanairtighthatchinthebottomofthesaucerwasopened.DownsnakedaladderthatwasoutlinedinprettylightslikeaFerriswheel.
Billy"swillwasparalyzedbyazapgunaimedathimfromoneoftheportholes.Itbecameimperativethathetakeholdofthebottomrungofthesinuousladder,whichhedid.Therungwaselectrified,sothatBilly"shandslockedontoithard.Hewashauledintotheairlock,andmachineryclosedthebottomdoor.Onlythendidtheladder,woundontoareelintheairlock,lethimgo.OnlythendidBilly"sbrainstartworkingagain.
Thereweretwopeepholesinsidetheairlock-withyelloweyespressedtothem.Therewasaspeakeronthewall.TheTralfamadorianshadnovoiceboxes.Theycommunicatedtelepathicary.TheywereabletotalktoBillybymeansofacomputerandasortofelectricorganwhichmadeeveryEarthlingspeechsound.
"Welcomeaboard,Mr.Pilgrim,"saidtheloudspeaker."Anyquestions?"
Billylickedhislips,thoughtawhile,inquiredatlast:"Whyme?"
ThatisaveryEarthlingquestiontoask,Mr.Pilgrim.Whyyou?
Whyusforthatmatter?
Whyanything?
Becausethismomentsimplyis.
Haveyoueverseenbugstrappedinamber?"
"Yes."Billyinfact,hadapaperweightinhisofficewhichwasablobofpolishedamberwiththreeladybugsembeddedinit.
欢迎下载
"Well,hereweare,Mr.Pilgrim,trappedintheamberofthismoment.Thereisnowhy."
TheyintroducedananestheticintoBilly"satmospherenow,puthimtosleep.TheycardedhimtoacabinwherehewasstrappedtoayellowBarca-LoungerwhichtheyhadstolenfromaSears&Roebuckwarehouse.Theholdofthesaucerwascrammedwithotherstolenmerchandise,whichwouldbeusedtofurnishBilly"sartificialhabitatinazooonTralfamadore.
TheterrificaccelerationofthesaucerasitleftEarthtwistedBilly"sslumberingbody,distortedhisface,dislodgedhimmtime,senthimbacktothewar.
Whenheregainedconsciousness,hewasn"tontheflyingsaucer.
HewasinaboxcarcrossingGermanyagain.
Somepeoplewererisingfromthefloorofthecar,andotherswerelyingdown.BillyplannedtoHedown,too.Itwouldbelovelytosleep.Itwasblackinthecar,andblackoutsidethecar,whichseemedtobeabouttwomilesanhour.
Thecarneverseemedtogoanyfasterthanthat.Itwasalongtimebetweenclicks,betweenjointsinthetrack.Therewouldbeaclick,andthenayearwouldgoby,andthentherewouldbeanotherclick
Thetrainoftenstoppedtoletreallyimportanttrainsbawlandhurtleby.Anotherthingitdidwasstoponsidingsnearprisons,leavingafewcarsthere.ItwascreepingacrossallofGermany,growingshorterallthetime.
AndBillylethimselfdownohsograduallynow,hangingontothediagonalcross-braceinthecomerinordertomakehimselfseemnearlyweightlesstothosehewasjoiningonthefloor.Heknewitwasimportantthathemadehimselfnearlyghostlikewhenlyingdown.Hehadforgottenwhy,butaremindersooncame.
"Pilgrim,"saidapersonhewasabouttonestlewith,"isthatyou?"
Billydidn"tsayanything,butnestledverypolitely,closedhiseyes.
"Goddamnit"saidtheperson."Thatisyou,isn"tit?"HesatupandexploredBillyrudelywithhishands.
"It"syou,allright.Getthehelloutofhere."
NowBillysatup,too-wretched,closetotears.
"Getoutofhere!Iwanttosleep!"
"Shutup,"saidsomebodyelse.
"I"llshutupwhenPilgrimgetsawayfromhere."
SoBillystoodupagain,clungtothecross-brace.
"WherecanIsleep?"heaskedquietly.
"Notwithme."
"Notwithme,yousonofabitch,"saidsomebodyelse."Youyell.Youkick."
"Ido?"
"You"reGoddamnrightyoudo.Andwhimper."
"Ido?"
"Keepthehellawayfromhere.,Pilgrim."
Andnowtherewasanacrimoniousmadrigal,withpartssunginallquartersofthecar.Nearlyeverybodyseemingly,hadanatrocitystoryofsomethingBillyPilgrimhaddonetohiminhissleep.EverybodytoldBillyPilgrimtokeepthehellaway.
SoBillyPilgrimhadtosleepstandingup,ornotsleepatall.Andfoodhadstoppedcominginthroughtheventilators,andthedaysandnightswerecolderallthetime.
Ontheeighthday,theforty-year-oldhobosaidtoBilly,"Thisain"tbad.Icanbecomfortableanywhere."
"Youcan?"saidBilly.
Ontheninthday,thehobodied.Soitgoes.Hislastwordswere,"Youthinkthisisbad?Thisain"tbad."
Therewassomethingaboutdeathandtheninthday.TherewasadeathontheninthdayinthecaraheadofBilly"stoo.RolandWearydied-ofgangrenethathadstartedinhismangledfeet.Soitgoes.
Weary,inhisnearlycontinuousdelirium,toldagainandagainoftheThreeMusketeers,acknowledgedthathewasdying,gavemanymessagestobedeliveredtohisfamilyinPittsburgh.Aboveall,hewantedtobeavenged,sohesaidagainandagainthenameofthepersonwhohadkilledhim.Everyoneonthecarlearnedthelessonwell.verymorning,andpolishuptheold-fashionedspoons,thefatsilverteapot,andtheglassestilltheyshone.Thenshemustdusttheroom,andwhatatryingjobthatwas.NotaspeckescapedAuntMarch"seye,andallthefurniturehadclawlegsandmuchcarving,whichwasneverdustedtosuit.ThenPollyhadtobefed,thelapdogcombed,andadozentripsupstairsanddowntogetthingsordeliverorders,fortheoldladywasverylameandseldomleftherbigchair.Afterthesetiresomelabors,shemustdoherlessons,whichwasadailytrialofeveryvirtueshepossessed.Thenshewasallowedonehourforexerciseorplay,anddidn"tsheenjoyit?
Lauriecameeveryday,andwheedledAuntMarchtillAmywasallowedtogooutwithhim,whentheywalkedandrodeandhadcapitaltimes.Afterdinner,shehadtoreadaloud,andsitstillwhiletheoldladyslept,whichsheusuallydidforanhour,asshedroppedoffoverthefirstpage.Thenpatchworkortowelsappeared,andAmysewedwithoutwardmeeknessandinwardrebelliontilldusk,whenshewasallowedtoamuseherselfasshelikedtillteatime.Theeveningsweretheworstofall,forAuntMarchfelltotellinglongstoriesaboutheryouth,whichweresounutterablydullthatAmywasalwaysreadyto
欢迎下载
gotobe,intendingtocryoverherhardfate,butusuallygoingtosleepbeforeshehadsqueezedoutmorethanatearortwo.
IfithadnotbeenforLaurie,andoldEsther,themaid,shefeltthatshenevercouldhavegotthroughthatdreadfultime.Theparrotalonewasenoughtodriveherdistracted,forhesoonfeltthatshedidnotadmirehim,andrevengedhimselfbybeingasmischievousaspossible.Hepulledherhairwhenevershecamenearhim,upsethisbreadandmilktoplagueherwhenshehadnewlycleanedhiscage,madeMopbarkbypeckingathimwhileMadamdozed,calledhernamesbeforecompany,andbehavedinallrespectslikeanreprehensibleoldbird.Thenshecouldnotendurethedog,afat,crossbeastwhosnarledandyelpedatherwhenshemadehistoilet,andwholayonhisbackwithallhislegsintheairandamostidioticexpressionofcountenancewhenhewantedsomethingtoeat,whichwasaboutadozentimesaday.Thecookwasbad-tempered,theoldcoachmanwasdeaf,andEsthertheonlyonewhoevertookanynoticeoftheyounglady.
EstherwasaFrenchwoman,whohadlivedwith`Madame",asshecalledhermistress,formanyyears,andwhorathertyrannizedovertheoldlady,whocouldnotgetalongwithouther.HerrealnamewasEstelle,butAuntMarchorderedhertochangeit,andsheobeyed,onconditionthatshewasneveraskedtochangeherreligion.ShetookafancytoMademoiselle,andamusedherverymuchwithoddstoriesofherlifeinFrance,whenAmysatwithherwhileshegotupMadam"slaces.Shealsoallowedhertoroamaboutthegreathouse,andexaminethecuriousandprettythingsstoredawayinthebigwardrobesandtheancientchests,forAuntMarchhoardedlikeamagpie.Amy"schiefdelightwasanIndiancabinet,fullofqueerdrawers,littlepigeonholes,andsecretplaces,inwhichwerekeptallsortsofornaments,someprecious,somemerelycurious,allmoreorlessantique.ToexamineandarrangethesethingsgaveAmygreatsatisfaction,especiallythejewelcases,inwhichonvelvetcushionsreposedtheornamentswhichhadadornedabellefortyyearsago.TherewasthegarnetsetwhichAuntMarchworewhenshecameout,thepearlsherfathergaveheronherweddingday,herlover"sdiamonds,thejetmourningringsandpins,thequeerlockets,withportraitsofdeadfriendsandweepingwillowsmadeofhairinside,thebabybraceletsheronelittledaughterhadworn,UncleMarch"sbigwatch,withtheredsealsomanychildishhandshadplayedwith,andinaboxallbyitselflayAuntMarch"sweddingring,toosmallnowforherfatfinger,butputcarefullyawaylikethemostpreciousjewelofthemall.
"WhichwouldMademoisellechooseifshehadherwill?"askedEsther,woalwayssatneartowatchoverandlockupthevaluables.
"Ilikethediamondsbest,butthereisnonecklaceamongthem,andI"mfondofnecklaces,theyaresobecoming.IshouldchoosethisifImight,"repliedAmy,lookingwithgreatadmirationatastringofgoldandebonybeadsfromwhichhungaheavycrossofthesame.
"I,too,covetthat,butnotasanecklace.Ah,no!Tomeitisarosary,andassuchIshoulduseitlikeagoodcatholic,"saidEsther,eyeingthehandsomethingwistfully.
"Isitmeanttouseasyouusethestringofgood-smellingwoodenbeadshangingoveryourglass?"askedAmy.
"Truly,yes,topraywith.Itwouldbepleasingtothesaintsifoneusedsofinearosaryasthis,insteadofwearingitasavainbijou."
"Youseemtotakeagreatdealofcomfortinyourprayers,Esther,andalwayscomedownlookingquietandsatisfied.IwishIcould."
"IfMademoisellewasaCatholic,shewouldfindtruecomfort,butasthatisnottobe,itwouldbewellifyouwentaparteachdaytomeditateandpray,asdidthegoodmistresswhomIservedbeforeMadame.Shehadalittlechapel,andinitfoundsolacementformuchtrouble."
"Woulditberightformetodosotoo?"askedAmy,whoinherlonelinessfelttheneedofhelpofsomesort,andfoundthatshewasapttoforgetherlittlebook,nowthatBethwasnottheretoremindherofit.
"Itwouldbeexcellentandcharming,andIshallgladlyarrangethelittledressingroomforyouifyoulikeit.SaynothingtoMadame,butwhenshesleepsgoyouandsitaloneawhiletothinkgoodthoughts,andpraythedearGodpreserveyoursister."
Estherwastrulypious,andquitesincereinheradvice,forshehadanaffectionateheart,andfeltmuchforthesistersintheiranxiety.Amylikedtheidea,andgaveherleavetoarrangethelightclosetnextherroom,hopingitwoulddohergood.
"IwishIknewwherealltheseprettythingswouldgowhenAuntMarchdies,"shesaid,assheslowlyreplacedtheshiningrosaryandshutthejewelcasesonebyone.
"Toyouandyoursisters.Iknowit,Madameconfidesinme.Iwitnessedherwill,anditistobeso,"whisperedEsthersmiling.
"Hownice!ButIwishshe"dletushavethemnow.Procrastinationisnotagreeable,"observedAmy,takingalastlookatthediamonds.
"Itistoosoonyetfortheyoungladiestowearthesethings.Thefirstonewhoisaffiancedwillhavethepearls,Madamehassaidit,andIhaveafancythatthelittleturquoiseringwillbegiventoyouwhenyougo,forMadameapprovesyourgoodbehaviorandcharmingmanners."
"Doyouthinkso?Oh,I"llbealamb,ifIcanonlyhavethatlovelyring!It"seversomuchprettierthanKittyBryant"s.IdolikeAuntMarchafterall."AndAmytriedontheblueringwithadelightedfaceandafirmresolvetoearnit.
Fromthatdayshewasamodelofobedience,andtheoldladycomplacentlyadmiredthesuccessofhertraining.Estherfitteduptheclosetwithalittletable,placedafootstoolbeforeit,andoveritapicturetakenfromoneoftheshut-uprooms.Shethoughtitwasofnogreatvalue,but,beingappropriate,sheborrowedit,wellknowingthatMadamewouldneverknowit,norcareifshedid.Itwas,however,averyvaluablecopyofoneofthefamouspicturesoftheworld,andAmy"sbeauty-lovingeyeswerenevertiredoflookingupatthesweetfaceoftheDivineMother,whilehertenderthoughtsofherownwerebusyatherheart.Onthetableshelaidherlittletestamentandhymnbook,keptavasealwaysfullofthebestflowersLauriebroughther,andcameeverydayto`sitalone"thinkinggoodthoughts,andprayingthedearGodtopreservehersister.Estherhadgivenherarosaryofblackbeadswithasilvercross,butAmyhungitupanddidnotuseit,feelingdoubtfulastoitsfitnessforProtestantprayers.
Thelittlegirlwasverysincereinallthis,forbeingleftaloneoutsidethesafehomenest,shefelttheneedofsomekindhandtoholdbysosorelythatsheinstinctivelyturnedtothestrongandtenderFriend,whosefatherlylovemostcloselysurroundsHislittlechildren.Shemissedhermother"shelptounderstandandruleherself,buthavingbeentaughtwheretolook,shedidherbesttofindthewayandwalkinitconfidingly.ButAmywasayoungpilgrim,andjustnowherburdenseemedveryheavy.Shetriedtoforgetherself,tokeepcheerful,andbesatisfiedwithdoingright,thoughnoonesaworpraisedherforit.Inherfirsteffortatbeingvery,verygood,shedecidedtomakeherwill,asAuntMarchhaddone,sothatifshedidfallillanddie,herpossessionsmightbejustlyandgenerouslydivided.Itcostherapang
欢迎下载
eventothinkofgivingupthelittletreasureswhichinhereyeswereaspreciousastheoldlady"sjewels.
Duringoneofherplayhoursshewroteouttheimportantdocumentaswellasshecould,withsomehelpfromEstherastocertainlegalterms,andwhenthegood-naturedFrenchwomanhadsignedhername,AmyfeltrelievedandlaiditbytoshowLaurie,whomshewantedasasecondwitness.Asitwasarainyday,shewentupstairstoamuseherselfinoneofthelargechambers,andtookPollywithherforcompany.Inthisroomtherewasawardrobefullofold-fashionedcostumeswithwhichEstherallowedhertoplay,anditwasherfavoriteamusementtoarrayherselfinthefadedbrocades,andparadeupanddownbeforethelongmirror,makingstatelycurtsies,andsweepinghertrainaboutwitharustlewhichdelightedherears.SobusywassheonthisdaythatshedidnothearLaurie"sringnorseehisfacepeepinginatherasshegravelypromenadedtoandfro,flirtingherfanandtossingherhead,onwhichsheworeagreatpinkturban,contrastingoddlywithherbluebrocadedressandyellowquiltedpetticoat.Shewasobligedtowalkcarefully,forshehadonhighheeledshoes,and,asLaurietoldJoafterward,itwasacomicalsighttoseehermincealonginhergaysuit,
"Oh,dear,howharditdoesseemtotakeupourpacksandgoon,"sighedMegthemorningaftertheparty,fornowtheholidayswereover,theweekofmerrymakingdidnotfitherforgoingoneasilywiththetasksheneverliked.
"IwishitwasChristmasorNewYear"sallthetime.Wouldn"titbefun?"answeredJo,yawningdismally.
"Weshouldn"tenjoyourselveshalfsomuchaswedonow.Butitdoesseemsonicetohavelittlesuppersandbouquets,andgotoparties,anddrivehome,andreadandrest,andnotwork.It"slikeotherpeople,youknow,andIalwaysenvygirlswhodosuchthings,I"msofondofluxury,"saidMeg,tryingtodecidewhichoftwoshabbygownswastheleastshabby.
"Well,wecan"thaveit,sodon"tletusgrumblebutshoulderourbundlesandtrudgealongascheerfullyasMarmeedoes.I"msureAuntMarchisaregularOldManoftheSeatome,butIsupposewhenI"velearnedtocarryherwithoutcomplaining,shewilltumbleoff,orgetsolightthatIshan"tmindher."
ThisideatickledJo"sfancyandputheringoodspirits,butMegdidn"tbrighten,forherburden,consistingoffourspoiledchildren,seemedheavierthanever.Shehadnotheartenougheventomakeherselfprettyasusualbyputtingonablueneckribbonanddressingherhairinthemostbecomingway.
"Where"stheuseoflookingnice,whennooneseesmebutthosecrossmidgets,andnoonecareswhetherI"mprettyornot?"shemuttered,shuttingherdrawerwithajerk."Ishallhavetotoilandmoilallmydays,withonlylittlebitsoffunnowandthen,andgetoldanduglyandsour,becauseI"mpoorandcan"tenjoymylifeasothergirlsdo.It"sashame!"
SoMegwentdown,wearinganinjuredlook,andwasn"tatallagreeableatbreakfasttime.Everyoneseemedratheroutofsortsandinclinedtocroak.
Bethhadaheadacheandlayonthesofa,tryingtocomfortherselfwiththecatandthreekittens.Amywasfrettingbecauseherlessonswerenotlearned,andshecouldn"tfindherrubbers.Jowouldwhistleandmakeagreatracketgettingready.
Mrs.Marchwasverybusytryingtofinishaletter,whichmustgoatonce,andHannahhadthegrumps,forbeinguplatedidn"tsuither.
"Thereneverwassuchacrossfamily!"criedJo,losinghertemperwhenshehadupsetaninkstand,brokenbothbootlacings,andsatdownuponherhat.
"You"rethecrossestpersoninit!"returnedAmy,washingoutthesumthatwasallwrongwiththetearsthathadfallenonherslate.
"Beth,ifyoudon"tkeepthesehorridcatsdowncellarI"llhavetungatthefireplace,andforamomentshefeltasmuchdisappointedasshedidlongago,whenherlittlesockfelldownbecauseitwascrammedsofullofgoodies.Thensherememberedhermother"spromiseand,slippingherhandunderherpillow,drewoutalittlecrimson-coveredbook.Sheknewitverywell,foritwasthatbeautifuloldstoryofthebestlifeeverlived,andJofeltthatitwasatrueguidebookforanypilgrimgoingonalongjourney.ShewokeMegwitha"MerryChristmas,"andbadeherseewhatwasunderherpillow.Agreen-coveredbookappeared,withthesamepictureinside,andafewwordswrittenbytheirmother,whichmadetheironepresentverypreciousintheireyes.PresentlyBethandAmywoketorummageandfindtheirlittlebooksalso,onedove-colored,theotherblue,andallsatlookingatandtalkingaboutthem,whiletheeastgrewrosywiththecomingday.
Inspiteofhersmallvanities,Margarethadasweetandpiousnature,whichunconsciouslyinfluencedhersisters,especiallyJo,wholovedherverytenderly,andobeyedherbecauseheradvicewassogentlygiven.
"Girls,"saidMegseriously,lookingfromthetumbledheadbesidehertothetwolittlenight-cappedonesintheroombeyond,"Motherwantsustoreadandloveandmindthesebooks,andwemustbeginatonce.Weusedtobefaithfulaboutit,butsinceFatherwentawayandallthiswartroubleunsettledus,wehaveneglectedmanythings.Youcandoasyouplease,butIshallkeepmybookonthetablehereandreadalittleeverymorningassoonasIwake,forIknowitwilldomegoodandhelpmethroughtheday."
Thensheopenedhernewbookandbegantoread.Joputherarmroundherand,leaningcheektocheek,readalso,withthequietexpressionsoseldomseenonherrestlessface.
"HowgoodMegis!Come,Amy,let"sdoastheydo.I"llhelpyouwiththehardwords,andthey""explainthingsifwedon"tunderstand,"whisperedBeth,verymuchimpressedbytheprettybooksandhersisters,example.
"I"mgladmineisblue,"saidAmy.andthentheroomswereverystillwhilethepagesweresoftlyturned,andthewintersunshinecreptintotouchthebrightheadsandseriousfaceswithaChristmasgreeting.
"WhereisMother?"askedMeg,assheandJorandowntothankherfortheirgifts,halfanhourlater.
"Goodnessonlyknows.somepoorcreetercamea-beggin",andyourmawentstraightofftoseewhatwasneeded.Thereneverwassuchawomanforgivin"awayvittlesanddrink,clothesandfirin","repliedHannah,whohadlivedwiththefamilysinceMegwasborn,andwasconsideredbytandstalkedoutagain.Theseturnoverswereaninstitution,andthegirlscalledthem`muffs",fortheyhadnoothersandfoundthehotpiesverycomfortingtotheirhandsoncoldmornings.
Hannahneverforgottomakethem,nomatterhowbusyorgrumpyshemightbe,forthewalkwaslongandbleak.Thepoorthingsgotnootherlunchandwereseldomhomebeforetwo.
"Cuddleyourcatsandgetoveryourheadache,Bethy.Goodbye,Marmee.Weareasetofrascalsthismorning,butwe"llcomehomeregularangels.Nowthen,Meg!"AndJotrampedaway,feelingthatthepilgrimswerenotsettingoutastheyoughttodo.
欢迎下载
Theyalwayslookedbackbeforeturningthecorner,fortheirmotherwasalwaysatthewindowtonodandsmile,andwaveherhandtothem.Somehowitseemedasiftheycouldn"thavegotthroughthedaywithoutthat,forwhatevertheirmoodmightbe,thelastglimpseofthatmotherlyfacewassuretoaffectthemlikesunshine.
"IfMarmeeshookherfistinsteadofkissingherhandtous,itwouldserveusright,formoreungratefulwretchesthanwearewereneverseen,"criedJo,takingaremorsefulsatisfactioninthesnowywalkandbitterwind."Don"tusesuchdreadfulexpressions,"repliedMegfromthedepthsoftheveilinwhichshehadshroudedherselflikeanunsickoftheworld.
"Ilikegoodstrongwordsthatmeansomething,"repliedJo,catchingherhatasittookaleapoffherheadpreparatorytoflyingawayaltogether.
"Callyourselfanynamesyoulike,butIamneitherarascalnorawretchandIdon"tchoosetobecalledso."
"You"reablightedbeing,anddecidedlycrosstodaybecause