论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > DELPHI >

(D)38娱乐场所收费管理系统delphi

  1.3  本应用软件的基本介绍

本应用软件先是打开一个启动窗口,就可以进入应用程序的主窗口了。主界面是一个图型界面窗口,整个平台显示采用图标方式,可以非常方便的管理壁球,乒乓球,桌球,棋艺,的开台与酒水截钟,结帐等基本信息,管理日常经营的基本情况,通过各种条件查询桌次的占用基本信息,以及显示出查询出的基本信息,总之一切娱乐场所基本信息都会显示在系统平台上。另外在屏幕左侧有快捷铵钮,弹出式菜单和主窗口菜单相同,可方便选择,大大提高了管理人员的工作效率。 paper51.com

  2 本应用程序的构成和开发步骤 内容来自论文无忧网 www.paper51.com

下面从软件工程的角度介绍本程序的基本开发步骤。Delphi 应用程序一般包含以下三个基本部分:    应用程序运行的接口:负责系统整体环境的设置,运行状态的监视,应用程序的启动等。    应用程序的主体:主要完成用户的业务逻辑功能,如开台,酒水截钟,结帐等信息.

内容来自论文无忧网 www.paper51.com

应用程序的辅助部分:协助程序主体完成的一些工作。下面从软件工程的角度描述本程序的开发生命周期,开发过程和组织过程。 内容来自www.paper51.com

2.1 可行性研究 paper51.com

任何一个系统或一项工程,在建立之前,必须首选进行可行性分析,可行性分析包括两层含义,一是可能性,二是必要性。可能性指开发信息系统的条件是否具备,必要性是指客观上是否真正需要,通过可行性研究,可避免盲目投资,减少政治性要的损失。下面从四方面来讨论:

paper51.com

2.1.1  经济可行性 paper51.com

主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利。本系统所需的软硬件成本比较低,投资小,具有一定的通过性,因此 ,在经济上是可行的。

内容来自www.paper51.com

2.1.2  时间可行性 内容来自www.paper51.com

主要包括系统在目前环境下能否正常运行,运行后所引起的各方面,以及这些变化对社会或人的因素所产生的影响。本系统对人事的管理比较全面,可长期使用。 http://www.paper51.com

2.1.3  技术可行性

内容来自www.paper51.com

利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中需要考虑的一个问题。关系型数据库的高速发展使管理信息系统具备了良好的开发环境。本系统使用的Delphi 普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的。 copyright paper51.com

2.1.4  社会可行性

paper51.com

人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要。开发本系统的目标不仅是提高工作效率,减轻劳动强度,而且减少出错率,具有很好的社会意义。 paper51.com

2.2  数据库的建立和连接 paper51.com

这个程序采用的数据库是Microsoft Access2000,Delphi作为数据库的前台开发工具,必须与后台数据库进行连接,这样才能控制和进行操作数据库,数据库的连接方式有两种,ODBC和ADO。

内容来自www.paper51.com

ODBC是数据库的通用接口,其缺点是效率低;专用接口调用直接速度快,但是通用性差,如果用ODBC连接数据库一般要两个步骤:1.要创建数据源;2.创建描述文件。数据库的建立则时在access2000中建立的,在这里你可以设置数据库的密码,对数据库进行保护。在创建数据源时可以通过BDE administrator进行创建,也可以通过系统控制面板中的ODBC数据源进行建立。而描述文件则可以在Delphi的主程序中用Database Profile中进行建立,之后进行数据库的连接。接下来的工作是建表。同样建表的过程也不是唯一的,但是最终实现的结果是唯一的。你可以通过Access进行建表,也可以通过在 DELPHI6.0 主程序中建表,也可以通过powerdesigner进行可视化的建立,不过用这种方法,在导入的时候要把数据库要先断开,否则数据库的数据容易丢失。建表的过程注意规范化命名规则,如表的字段名等等。同时也要注意表的字段长度和可否为空。因为以后要设计到主键,外键的问题。如果字段名不同,同一字段长度不同则主键和外键将会连接不上。可见建表时应做好全局的打算。我在程序开发的初期,同样犯了这个错误,导致数据库出错,有时还要向表中新加入字段。导致数据窗口不好用的连锁反映。

内容来自www.paper51.com

2.3 系统的总体设计 内容来自论文无忧网 www.paper51.com

这个管理系统从4月1日开始着手设计开发,经过一段时间的分析,并根据对影音店光盘管理的具体要求及需要本软件实现的功能,将本软件分为5个大的模块,分别是:第一部分:状态;第二部分:开台;第三部分:结帐; 第四部分:日结。

内容来自www.paper51.com

程序流程图如下:

内容来自www.paper51.com

http://www.paper51.com

3   本程序的技术实现及具体功能 http://www.paper51.com

3.1           登录的界面与程序设计实现

内容来自论文无忧网 www.paper51.com

内容来自论文无忧网 www.paper51.com

代码设计:

paper51.com

unit GetStru;

copyright paper51.com

interface

paper51.com

uses

内容来自www.paper51.com

  Windows, Messages, SysUtils, Classes,Graphics, Controls, Forms, Dialogs,

http://www.paper51.com

  StdCtrls, DbTables, BDE, ExtCtrls; 内容来自www.paper51.com

type paper51.com

  TReadStru = class(TForm) 内容来自论文无忧网 www.paper51.com

    List1: TListBox; 内容来自论文无忧网 www.paper51.com

    List2: TListBox; 内容来自论文无忧网 www.paper51.com

    Label3: TLabel; 内容来自论文无忧网 www.paper51.com

    Alias: TComboBox;

内容来自www.paper51.com

    procedureFormCreate(Sender: TObject);

内容来自www.paper51.com

    procedureAliasChange(Sender: TObject); http://www.paper51.com

    procedureAliasExit(Sender: TObject);

copyright paper51.com

    procedureAliasKeyPress(Sender: TObject; var Key: Char); copyright paper51.com

    procedureList1Click(Sender: TObject);

paper51.com

  private 内容来自www.paper51.com

    { Privatedeclarations } 内容来自www.paper51.com

    procedureShowFields(T: TTable); http://www.paper51.com

  public

paper51.com

    { Publicdeclarations } paper51.com

  end; paper51.com

var

copyright paper51.com

  ReadStru: TReadStru;

http://www.paper51.com

implementation

内容来自论文无忧网 www.paper51.com

{$R *.DFM}

paper51.com

procedure TReadStru.ShowFields(T: TTable);

内容来自www.paper51.com

var paper51.com

  curProp: CURProps;

http://www.paper51.com

  pfldDes,pCurFld: pFLDDesc;

copyright paper51.com

  i: Integer; paper51.com

  MemSize: Integer;

内容来自论文无忧网 www.paper51.com

  FieldList: string; 内容来自www.paper51.com

  S: string; 内容来自www.paper51.com

begin

http://www.paper51.com

  T.Open;

copyright paper51.com

  Check(DbiGetCursorProps(T.Handle,curProp)); 内容来自www.paper51.com

  MemSize :=curProp.iFields * SizeOf(FLDDesc);

内容来自论文无忧网 www.paper51.com

  pfldDes :=AllocMem(MemSize); 内容来自www.paper51.com

  List2.items.Clear;

copyright paper51.com

  try paper51.com

    pCurFld:= pfldDes;

copyright paper51.com

    DbiGetFieldDescs(T.Handle,pfldDes); 内容来自论文无忧网 www.paper51.com

    forI := 0 to curProp.iFields - 1 do

内容来自论文无忧网 www.paper51.com

      with pCurFld^ do begin http://www.paper51.com

        case iFldType of copyright paper51.com

         1: S := '字符';

copyright paper51.com

         2: S := '日期'; 内容来自www.paper51.com

         3: S := '备注'; copyright paper51.com

         4: S := '逻辑';

http://www.paper51.com

         5: S := '短整';

内容来自论文无忧网 www.paper51.com

         6: S := '长整';

paper51.com

         7: S := '浮点'; paper51.com

         8: S := 'BCDm'; http://www.paper51.com

         9: S := '字节';

copyright paper51.com

         10: S := '时间';

内容来自www.paper51.com

         11: S := '邮戳'; 内容来自论文无忧网 www.paper51.com

        else S := '未知' +inttostr(iFldType); end; http://www.paper51.com

        FieldList := szName + paper51.com

         StringofChar(#32, 10 - Length(trim(szName))) +

内容来自论文无忧网 www.paper51.com

         Format('(%4s,%3d,%2d)', [S, iUnits1, iUnits2]); 内容来自论文无忧网 www.paper51.com

        List2.items.Add(Trim(FieldList));

内容来自论文无忧网 www.paper51.com

        inc(pCurFld); http://www.paper51.com

      end; 内容来自www.paper51.com

  finally

copyright paper51.com

    FreeMem(pfldDes,MemSize);

内容来自www.paper51.com

  end; paper51.com

  T.Close; paper51.com

end; 内容来自www.paper51.com

procedure TReadStru.FormCreate(Sender: TObject); copyright paper51.com

var T: TDataBase; 内容来自论文无忧网 www.paper51.com

begin

内容来自www.paper51.com

  T :=TDataBase.Create(Self);

copyright paper51.com

  T.LoginPrompt :=False;

paper51.com

  ifSession.Active = false then paper51.com

    Session.Open;

copyright paper51.com

  Session.GetAliasNames(Alias.Items);

内容来自www.paper51.com

end; 内容来自www.paper51.com

procedure TReadStru.AliasChange(Sender: TObject);

copyright paper51.com

begin paper51.com

  ifAlias.ItemIndex = -1 then Exit;

copyright paper51.com

  Session.GetTableNames(Alias.Text,'', true, false, List1.Items); paper51.com

end; 内容来自论文无忧网 www.paper51.com

procedure TReadStru.AliasExit(Sender: TObject); paper51.com

begin paper51.com

  with Alias do 内容来自论文无忧网 www.paper51.com

    if(Text <> '') and (Items.indexof(Text) = -1) then

copyright paper51.com

    begin

内容来自论文无忧网 www.paper51.com

      Items.Add(Text); 内容来自论文无忧网 www.paper51.com

      Alias.ItemIndex := Items.indexof(Text);

paper51.com

      AliasChange(Self); copyright paper51.com

    end;

paper51.com

end; paper51.com

procedure TReadStru.AliasKeyPress(Sender: TObject;var Key: Char);

http://www.paper51.com

begin

内容来自论文无忧网 www.paper51.com

  if Key = #13then AliasExit(Self);

copyright paper51.com

end; copyright paper51.com

procedure TReadStru.List1Click(Sender: TObject);

内容来自论文无忧网 www.paper51.com

var T: TTable;

http://www.paper51.com

begin

内容来自论文无忧网 www.paper51.com

  T :=TTable.Create(Self); paper51.com

  T.DatabaseName :=Alias.Text;

copyright paper51.com

  with List1 doT.TableName := Items[ItemIndex];

内容来自www.paper51.com

  ShowFields(T); 内容来自www.paper51.com

end;

paper51.com

end.

内容来自www.paper51.com

------分隔线----------------------------
联系方式