利用Delphi开发旅游景点微机售票系统

2016-02-19 19:32 6 1 收藏

今天图老师小编给大家精心推荐个利用Delphi开发旅游景点微机售票系统教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

一、引言

  随着计算机局域网和广域网的出现,网络产品(包括软、硬件)质量不断提高;品种、数量迅速增长和发展;以及数据库技术的成熟和软件工程方法的发展,各种计算机网络管理系统越来越完善。旅游景点微机售票系统是计算机技术与网络技术相结合的产物。方便快捷的查询统计使管理者能准确地掌握景点的经营情况并对售票人员进行监督、管理,并为其提供准确、可信的决策依据。其成功实现提高了旅游景点的售票效率和管理水平,使一直由人工售票的局面划上句号,从而进入智能化售票的新阶段。

  本文介绍以Delphi 4.0为开发语言,Microsoft SQL Server 6.5为后台,运行于Windows NT 4.0的旅游景点微机售票系统的开发方法。该系统适合各大、中、小旅游景点售票系统的自动化管理,具有较强的实际推广应用价值。

  二、系统总体方案设计

  微机售票系统采用星形拓扑局域网结构,由服务器、集线器、计算机、打印机组成,见图1。服务器上运行数据库及系统管理程序,实现查询、统计、报表打印、系统维护等功能。各售票微机与相应的打印机放置在售票窗口,运行售票程序,完成界面输入、门票打印及售票员个人信息查询统计等功能。

  对于售票系统来说,打印机的速度和数据通过网络的传输速度是非常关键的指标。如秦皇岛野生动物园在其高峰期,每天有大约2万人入园游览,要求使用三台微机进行售票,而入园客人大都集中在同一段时间,如早晨刚开园到上午10点左右,下午2点~3点之间等,所以减少游客排队等候时间、加快售票速度就是微机售票系统必须解决的问题。影响售票速度有两方面因素,一是硬件打印机的打印速度,二是打印程序启动打印和传输数据的速度。经实际测试,EPSON stylus color 850彩色喷墨打印机,其打印速度为A4纸8页/分钟,能够满足要求。

  在程序方面为了满足打印速度的要求,经过测试和精心选择,确定用Delphi 4.0做为程序设计语言。Delphi把强大的对象Pascal语言和快捷便利的RAD相结合,是一个通用的图形用户界面(GUI)开发工具,它是基于可视化和组件的概念而设计出来的,而且能非常方便地操纵数据库及实现各种报表,使得编程迅速,且是目前调试编译速度最快的编程语言之一。在门票打印时直接调用Delphi的类Printers中的各种过程和函数,如Printers.Canvas.Textout(x:integer;y:integer;const Text:string)再结合其他的过程和函数即可实现快速打印,解决了程序打印速度的问题。

  系统选择SQL Sever做为数据库,SQL Sever是一个客户机/服务器关系型数据管理系统(RDBMS),使用Transact-SQl在客户机和SQL Sever之间发送请求,能够满足系统的网络传输要求。Delphi中可以通过BDE(数据库引擎)和ODBC进行数据库访问,或者通过ADO直接进行数据库访问。

  另外在总的程序设计时,考虑到使用本系统的操作员素质参差不齐,计算机操作水平相对较低,所涉及的操作要尽可能简单,尽量少输入信息,尽量使用下拉框和选择框,避免出错。本系统操作员要输入的只有游客人数(成人和小孩或学生)和车辆数。其他信息如票价,程序启动时从数据库中自动调出,时间取自系统时间,总价由计算机自动生成,界面简单、操作容易、易学易用。

  三、系统软件总体设计

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  1.数据库表设计

  系统数据库中共有零售票信息表、密码表、操作员信息表、票价信息表,以及为统计查询建造的视图等。以零售票信息表为例介绍表的结构。其字段定义如表1所示。

  序列号:由售票员的标识符号,随机号和微机售票开始的票数记录组成。如GK006662,代表标识号为G的售票员,随机号为K,第6662张票。

  退票否:此字段用来标识票是否有效,若有效,则为1,无效为0。

  2.软件结构设计

  系统软件设计遵循模块化程序设计的思想,自顶向下,步步求精。系统程序由系统管理模块和售票模块组成。售票模块运行在售票微机上,系统管理模块运行在服务器上。

  四、系统主要功能特性及实现方法

  系统主要模块:登录及密码输入模块;系统主界面输入模块;统计、查询、报表、打印模块;门票打印模块。下面分述各模块的功能以及关键部分的实现。

  1.登录及密码输入模块

  登录及密码输入模块用于限制操作员的权限,程序完成的功能:从界面上取出密码,查询数据库密码表,有相同密码操作员有权进入下一界面,三次输入失败,程序自动退出。另外在售票模块中,根据密码要取出对应的操作员的名字,以便将售票信息与操作员相关联。从数据库中根据输入密码取相应的操作员函数如下,其中handletbl为密码表名称,id、handlename、handlecode为表中字段,代表编号、操作员姓名、操作员密码。

  function TFormPswd.gethandlename(code:String):String;

  var name:String;

  begin

  name:='';

  Query2.Close;

  Query2.SQL.Clear;

  Query2.DisableControls;

  Query2.SQL.Add('Select id,handlename,handlecode from handletbl');

  Query2.Open;

  if Query2.locate('handlecode',code,[]) then

  begin

  name:=query2.FieldByName('handlename').AsString;

  end;

  Query2.close;

  Result:=name;

  end;

  2.系统主界面输入模块

  系统的主界面输入模块用于输入和显示售票信息,根据其信息和票价自动计算出游客的总人数以及票价。在此模块中要求操作员只输入游客人数,按“确定”,即可自动计算和显示总价,按“打印”则打印门票。为了防止操作员误输入除整型数据以外的其他字符如A、B等而导致程序出错,程序中在需要数据输入的Tedit位置,设置判断条件,只允许整型数据输入。

  3.统计与查询、报表打印模块

  统计与查询、报表打印模块用于实现售票信息的统计与查询,可以设定起止日期等信息,并可生成报表打印。统计与查询用内嵌的SQL查询语言实现,报表使用Delphi的快速报表组件Qreport部件组中的各种控件。

  4.门票打印模块

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  门票打印模块实现门票的打印输出功能。在门票打印中需根据门票的样式确定输出的位置,为了实现快速打印,在打印时直接调用printers的过程和函数。

  打印的过程如下:

  procedure printmsg(thesyqo,Totalpeople,adultNum, childNum,Totalcar,bigcar,middlecar,minicar,totalmoney, prtdate:String);

  begin

  Printer.Canvas.Font.Charset := GB2312_CHARSET;

  Printer.BeginDoc;

  Printer.PageHeight;

  Printer.PageWidth;

  Printer.Canvas.Font.Size :=14;//字体设置

  ……//根据用户需要插入要打印的内容

  Printer.Canvas.TextOut(x+2370,y,thesyqo);//打印内容

  Printer.EndDoc;

  end;

  5.退票管理模块

  实际的售票过程中涉及到由于各种原因游客退票的情况,而计算机打印售出的门票及相关信息已经存入数据库中,当有退票情况发生时,必然存在操作员售票金额与数据库查询结果不一致的现象,为了解决这一现象,增加了退票管理模块。

来源:https://www.tulaoshi.com/n/20160219/1621278.html

延伸阅读
驴妈妈旅游如何收藏旅游景点   1)点击打开驴妈妈旅游,然后选择一个旅游景点点击屏幕上方   2)收藏成功后会有提示,然后点击屏幕下方   3)点击,就可以看到自己所收藏的旅游景点了           注 :更多精彩教程请关注图老师手机教程栏目,图老师手机数码群:...
标签: 旅游
1、金伦洞 伦洞位于马山县古零镇新扬村敢花屯金伦山下,近靠大明山。距县城21公里,距南宁87公里,距210国道公路仅300米。因传说中的壮族英雄人物韦金伦曾在洞内读书遇仙获宝而得名。1987年12月27日,经过对该洞进行了27天考察后的“中英联合洞穴考察团”称,金伦洞是世界第一流的岩洞,是世界十大名洞。岩洞穿过12座山腹,洞口...
标签: 旅游 旅游攻略
凤凰古城 位于湖南省湘西的西南部,是一个以苗族、土家族为主的少数民族聚集地,距离省会长沙430公里,车程5小时,距离最近的城市吉首约40公里。古城建于清康熙时,因沈从文的小说《边城》而闻名于世。城内的青石板街道、沱江边的吊脚楼、众多的古建筑,以及浓厚的苗族风情,构成了独具一格的湘西韵味。古城依山傍水,沱江穿城而过,红色...
1、曼谷 曼谷位于湄南河河畔,坐落在湄南河三角洲之上,是泰国的首都和入境首站,是同时兼具着古老气息和现代风情的东方大城,这个城市是1782年由捷克里王朝的帝王所建,而曼谷今日已成为泰国的宝库,也是其精神、文化、政治、商业、教育和外交中心。因曼谷的湄南河纵横交错如同蛛网,所以曼谷又有“东方威尼斯”的美称。曼谷的名...
孩子越小,随身携带的东西越多,而且也有可能会在香港购物,所以双肩包是必备物品。尽量选择容量大、肩带宽,背着舒服的双肩包。 香港旅游景点推荐-香港旅游攻略 香港旅游景点推荐: Top1:迪士尼乐园 如果带着小朋友出行去香港,迪斯尼乐园绝对不容错过。香港迪士尼乐园位于香港大屿山,是全球面积最小的迪士尼乐园,是一...

经验教程

482

收藏

94
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部