财务管理系统及财务知识分析程序(一)_第1页
财务管理系统及财务知识分析程序(一)_第2页
财务管理系统及财务知识分析程序(一)_第3页
财务管理系统及财务知识分析程序(一)_第4页
财务管理系统及财务知识分析程序(一)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

财务管理系统应用程序设计

本程序设计的是一个小型商店每天记的流水帐管理程序,没有具体到销售的每一

样商品,只是记载了每一笔的收入和支出情况。经过简单扩充就可以成为一个完整

的商店销售管理系统。下面来说一下本程序的各个模块的功能及数据库的结构。

一、本程序由封面、登录界面、主窗口、打印窗口及关于窗口五局部组成。主窗

口又由增添记录、编辑记录、查询信息、打印数据、管理功能组成。

封面:在启动主程序之前显示一个软件封面,停留大约二秒钟,用于说明本软件

的功能版本信息,消除用户等待主程序启动的焦虑(一般用于主程序启动需要较长

时间的软件中)

登录界面:登录界面产生一个用户的下拉列表,用户可选择相应的用户名称,输

入对应的密码进入,选择“取消〃终止程序运行。防止用户以外的人看到密码,密

码输入框内的密码用“*〃屏蔽。

主窗口:主窗口是本软件的核心,百分之九十的功能代码都在这里实现。主窗口

上方是一组下拉菜单,实现功能的切换和数据的处理。下面一组标签页实现相应的

功能。最下方的状态条显示当前的时间和日期。

打印窗口:实现所要打印的数据输出之前的预览,可以通过上面的一排功能按钮

调整预览效果。

关于窗口:一个小对话框,显示的是本软件的说明信息。

添加记录:该标签页由上面的一组数据明细和下面的控制按钮组成,输入框前的

文本提示输入框内存储的内容,输入框内是我们要输入的数据信息,下方的“第一

条〃,“上一条〃,“下一条〃,“最后一条〃用于浏览数据,右下方的两个按钮用于

数据的添加和存储。

编辑记录:该标签页和“添加记录〃很相似,增加了一个“删除记录〃按钮和“修

改记录〃按钮。删除记录前会有一个删除确认对话框出现,防止用户误删数据。

查询信息:由上面的一组查询组件和下面的数据表格组成。首先在下拉框中选择

要查询的字段,然后在右边的文本框内输入要查询的内容,单击“查询〃按钮即可

在下面的数据表格中显示所需要的信息。支持模糊查询,可以只输入查询信息的一

局部。单击“全部〃按钮将显示全部记录。

打印数据:界面和“查询信息〃标签相似,增加了一个“打印数据〃按钮。这样,

既可以打印全部信息,又可以只打印查询出来的信息,所打印的数据就是下方数据

表格中的数据。

管理功能:包括用户管理和系统初始化功能。用户管理我们可以增加和删除用户,

修改用户登录口令。初始化功能将清空数据表。

二、数据库的结构设计

本程序用到了两个数据表,一个是记的流水帐表,另一个是用户表,全部存在于

一个ACCESS2000数据库中(XMJL.MDB)。下面来说明一下数据表的数据结构

XMB表

字段名类型长度

序号文本10

收入货币自动

支出货币自动

日期日期/时间自动

经手人文本8

合计货币/计算自动

New表

字段名类型长度

Us文本50

Ps文本50

程序结构图

程序流程图:

附程序源代码:

programxmjl;

uses

Forms,

windows,

mainin*main,pas>{Forml),

dmin'dm.pas'{dm2:TDataModu1e},

aboutin'about,pas'{AboutBox),

reportin'report,pas'{qrl:TQuickRep),

logDsrcin*logosrc.pas*{logo},

loginin'login,pas,(donglu);

{$R*.res)

begin

Application.Initialize;

logo:=tlogo.Create(application);

logo.Show;

logo.Update;

Application.CreateForm(Tdm2,dm2);

/\pplication.CreateForm(Tdenglu,denglu);

siepp(1000):

1ogo.Hide;

logo.Free;

Application.Run;

end.

unitlogosrc;

interface

uses

Windows,Messages,SysUtiIs,Variants,Classes,Graphics,Controls,Forms,

Dialogs,jpeg,ExtCtrls;

type

Tlogo=class(TForm)

Image1:TImage;

private

{Privatedeclarations)

public

{Publicdeclarations}

end;

var

logo:Tlogo;

implementation

{$R*.dfm}

end.

unitlogin;

interface

uses

Windows,Messages,SysUti1s,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls,Mask,Buttons;

type

Tdenglu=class(TForm)

BitBtnl:TBitBtn:

BitBtn2:TBitBtn;

CnmhoRox1:TComhoRox:

MaskEditl:TMaskEdit;

Label1:TLabel;

Labe12:TLabel;

procedureBitBtn2Click(Sender:TObject);

procedureFormCrcatc(Sender:TObject);

procedureBitBtnlClick(Sender:TObject);

private

{Privatedeclarations)

public

{Publicdeclarations}

end;

var

denglu:Tdenglu;

implementation

usesdm,main;

{$R♦.dfm}

procedureTdenglu.BitBtn2Click(Sender:TObject);

begin

application.Terminate;

end;

procedureTdenglu.FormCreate(Sender:TObject);

begin

withdm2.ADOTableldo

begin

open;

first;

whilenoteofdo

begin

combobox1.Items.Add(fields[0].Value);

next;

end;

combobox1.Itemlndex:=0;

end;

end;

procedureTdenglu.BitBtnlClick(Sender:TObject);

begin

withdm2.ADOTableldo

begin

iflocate(*us*,comboboxl.Text,[])then

begin

ifmaskeditl.text.=fields[1].Valuethen

begin

hide;

withtforml.Create(self)do

showmodcil;

end;

application.Terminate;

end;

end;

end;

end.

unitmain;

interface

uses

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

Dialogs,ComCtrls>TooIWin,Menus,DBActns,ActnList,l)B,

ExtCtrls,StdCtrls,Mask,DBC:rls,ImgList,Buttons,Grids,DBGrids;

type

TForml=class(TForm)

PageControll:TPageControl;

StatusBarl:TStatusBar;

TabSheet1:TTabSheet;

TabSheet2:TTabSheet;

TabSheetB:TTabSheet;

TabSheet5:TTabSheet;

MainMenu1:TMainMenu;

N1:TMenuItem;

N2:TMenuItem;

N4:TMenuItem;

N5:TMenuItem;

N8:TMenuItem;

N9:TMenuItem;

N10:TMenuItem;

N12:TMenuItem;

N13:TMcnuItem;

N14:TMenuItem;

N15:TMenuItem;

N16:TMenuItem;

N17:TMenuItem;

N18:TMenuItem:

DalaSourcel:TDataSource;

ActionList1:TAc.tionl.ist:

DataSetFirs11:TDataSetFirs:;

DataSetPriorl:TDataSetPrior;

DataSotNcxtl:TDataSetNoxt;

DataSetUistl:TDataSetLast;

DataSctlnscrtl:TDataSetlnscrt;

DalaSetDeletel:TDataSetDelete;

DataSetEditl:TDataSetEdit;

DataSetPostl:TDataSetPost;

Panel1:TPancl;

Panel2:TPanel;

Label1:TLabel;

Labe12:TLabel;

Label3:TLabel;

Label4:TLabel;

Label5:TLabel;

DBEditl:TDBEdit;

DBEdit2:TDBEdit;

DBEdit9:TDBEdit;

DBEditlO:TDBEdit;

DBEditll:TDBEdit;

Panel3:TPanel;

BitBtnl:TBitBtn;

BitBtn2:TBitBtn;

BitBtn3:TBitBtn;

BitBtn4:TBitBtn:

ImageListl:TImagcList;

BitBtn5:TBitBtn:

BitBtnlO:TBitBtn;

Labe125:TLabel;

Labe126:TLabel;

Pane14:TPanel;

BitBtn6:TBitBtn:

BitBtn7:TBitBtn;

BitBtn8:TBitBtn:

BitBtn9:TBitBtn;

BitBtnll:TBitBtn;

BitBtnl2:TBitBtn;

BitBtnl3:TBitBtn;

Panel8:TPanel;

DBGridl:TDBGrid;

Panel9:TPanel;

Labcl27:TLabel;

ComboBox1:TComboBox;

Labe128:TLabel;

Editl:TEdit;

RitRtnl4:TRitRtn:

BitBtnl5:TBitBtn;

Panell3:TPanel;

DBGrid3:TDBGrid;

Panel14:TPanel;

Labe159:TLabel;

Labe160:TLabel;

ComboBox3:TComboBox;

Edit3:TEdit;

BitBtnl8:TBitBtn;

BitBtnl9:TBitBtn;

BitBtn21:TBitBtn;

Timcrl:TTimor;

Label6:TLabel;

DBEdit3:TDBEdit;

Panel5:TPanel;

Label?:TLabel;

Label8:TLabel;

Labe19:TLabel;

Label10:TLabel;

Labelll:TLabel;

Label12:TLabel;

Label13:TLabel;

Label14:TLabel;

DBEdit4:TDBEdit;

DBEdit5:TDBEdit;

DBEdit6:TDBEdit;

DBEdit7:TDBEdit;

DBEdit8:TDBEdit;

DBEditl2:TDBEdit;

TabSheet4:TTabSheet;

Panel6:TPanel;

GroupBox1:TGroupBox;

SpeedButton1:TSpcodButton;

DBGrid2:TDBGrid;

DBEditl3:TDBEdit;

DBEditl4:TDBEdit;

DBNavigatorl:TDBNavigator;

Label15:TLabel;

Label16:TLabel;

DataSource2:TDataSource;

procedureN9Click(Sender:TObject);

procedureN10Click(Sendcr:TObject);

procedureN12Click(Sender:TObject);

procedureN8C1ick(Sender:TObject);

procedureN14Click(Sender:TObject);

procedureN5C1ic.k(Sender:TOhject):

procedureBitBtn5MouseUp(Sender:TObject;Button:TMouseliutton;

Shift:TShiftState:X,Y:Integer);

procedurefi1Idata(sender:tcombobox);

proceduresearch(fl:tcombobox;tl:tedit);

proceduredispall;

procedureFormActivate(Sender:TObject);

procedureBitBtn14C1ick(Sender:TObject);

procedureBitBtnl5Click(Sender:TObject);

procedureBitBtnl3Click(Sender:TObject);

procedureBitBtnl7Click(Sender:TObject);

procedureBitBtn21Click(Sender:TObject);

procedureTimerITimer(Sender:TObject);

procedureBitBtnlIMouseUpCSender:TObject;Button:TMouseButton;

Shift:TShiftState;X,Y:Integer);

procedureBitBtn18C1ick(Sender:TObject);

procedureSpeedButtonlClick(Sender:TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Forml:TForml;

implementation

usesabout,dm,report,login;

{$R*.dfm}

procedureTForml.N9Click(Sender:TObject);

begin

tabsheet2.Show;

end;

procedureTForml.N10C1ick(Sender:TObject);

begin

tabsheet3.Show;

end;

procedureTForml.N12Click(Sender:TObject);

begin

tabshoet5.Show;

end;

procedureTForml.N8C1ick(Sender:TObject);

hpgin

tabsheet1.Show;

end;

procedureTForml.N14C1ick(Sender:TObject);

begin

application.Terminate;

end;

procedureTForml.N5Click(Sender:TObject);

begin

withtaboutbox.Create(self)do

ShowModal;

end;

procedureTForml.BitBtn5MouseUp(Sender:TObject;Button:TMouseButton;

Shift:TShiftState;X,Y:Integer);

begin

dbeditl.Text:-inttostr(dm2,adoqueryl.RecordCount+1);

dbedit2.SctFocus;

end;

procedureTForml.filldata(sender:tcombobox);

var

iCount:Integer;〃将从数据模块中取得的数据库表的字段名填入ComboBox中

begin

sender.Items.Clear;〃首先清空ComboBox中Items的值

foriCount:=0toDM2.ADOQueryl.Fields.Count-2do

begin

sender.Items.Add(DM2.ADOQueryl.Fields[iCount].FieldName);〃参加字段名

DM2.ADOQueryl.Next;〃向下移动到下一个字段

end;

sender.Itemlndex:=0;〃设置表单刚出现时ComooBox的值为第一个

end;

procedureTForml.search(fl:tcombobox;11:tedit);〃自定义过程search(在数据库中搜寻指定条件的

数据)

var

SearchField:string;〃要查找的字段名

SearchValue:string;〃要查找的字段值

begin

SearchField:=Trim(fl.Text);〃将ComboBox的值赋给SearchField

ScarchValuc:=+Trim(tl.Text)+〃将Edit的值赋给SearchField

withDM2.ADOQuery1do

begin

close;〃先关闭数据模块中的ADOQuery

sql.Clear:〃清空ADOQuery中的SQL值

sql.Add(Jselect*fromxmbwhere'+SearchField+'1ike'''+

SearchValue+//进行数据查询的SQL语句(SearchFidel和SearchValue

//分别赋到SQL语句中

end;

Dm2..ADOQuery1.Open;翻开数据模块中的ADOQuery

end;

procedureTForml.FormActivatc(Sender:TObjcct);

begin

filldata(combobox1);

filldata(combobox3);

tabsheetl.Show;

end;

procedureTForml.BitBtnl4Click(Sender:TObject);

begin

search(combobox1,edit1);

end;

procedureTForml.BitBtnl5Click(Sender:TObject);

begin

dispall;

end;

procedureTForml.dispall;

begin

withdm2.ADOQuery1do

begin

close;

sql.clear;

sql.Add('select*fromxmb');

open;

end;

end;

procedureTForml.BitBtnl3Click(Sender:TObject);

begin

ifMessageDlg(,你确信要删除记录?',mtwarning,[mbok,mbcancel],0)=mrok

then

DM2.ADOQuery1.Delete;

end;

procedureTFnrm!.RitRt.n17Click(Sender:TOhjeet):

begin

dispall;

end;

procedureTForml.BitBtn21Click(Sender:TObjcct);

begin

withtqrl.Create(self)do

Preview;

end;

procedureTForml.TimerlTimer(Sender:TObject);

begin

statusbarl.PaneIs[3].Text:=:imetostr(now);

statusbarl.Panels[4].Text:=zormatdatetimeCyyyy年MM月dd日',now);

end;

procedureTForml.BitBtnlIMouseUp(Sender:TObject;Button:TMouseButton;

Shift:TShiftState;X,Y:Integer);

begin

dbedit12.SetFocus;

end;

procedureTForml.BitBtnl8Click(Sender:TObject);

begin

search(combobox3,edit3);

end;

procedureTForml.SpccdButtonlClick(Sender:TObjcct);

begin

withdm2.ADOQueryldo

begin

close;

sql.Clear;

sql./\dd(*delete*fromxmb*);

ExecSQL;

close;

sql.Clear;

sql.Add(Jselect*fromxmb');

open;

end;

end;

end.

unitdm;

interface

uses

SysUtils,Classes,ADODB,DB;

type

Tdm2=class(TDataModulc)

ADOConnectionl:TAIMXJonnection;

ADOQuery1:TADOQuery;

ADOQueryIDSDesigner:TWideS:ringField;

ADOQuery1DSDesigner2:TBCDField;

ADOQuery1DSDesigner3:TBCDField;

ADOQuery1DSDesigner4:TDateTimeField;

ADOQuery1DSDesigncr5:TWidcStringFicld;

ADOQuery1lolai:TCurrencyField;

ADOTablel:TADOTable;

procedureADOQueryICalcFields(DataSet:TDataSet);

private

{Privatedeclarations)

public

{Publicdeclarations}

end;

var

dm2:Tdm2;

implementation

{$R*.dfm}

procedureTdm2.ADOQuery1Ca1cEie1ds(DataSeI:TDataSet);

begin

adoqueryltotal.Value:=AD0QuerylDSDesigner2.Value-

ADOQuery1DSDesigner3.value;

end;

end.

unitreport;

interface

usesWindows,SysUtiIs,Messages,Classes,Graphics,Controls,

StdCtrls,ExtCtrls,Forms,QuickRpt,QRCtrls,DB,ADODB;

type

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论