财务管理系统应用程序设计.docx
- 文档编号:6595025
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:19
- 大小:43.17KB
财务管理系统应用程序设计.docx
《财务管理系统应用程序设计.docx》由会员分享,可在线阅读,更多相关《财务管理系统应用程序设计.docx(19页珍藏版)》请在冰豆网上搜索。
财务管理系统应用程序设计
财务管理系统应用程序设计
财务管理系统应用程序设计
本程序设计的是一个小型商店每天记的流水帐管理程序,没有具体到销售的每一样商品,只是记载了每一笔的收入和支出情况。
经过简单扩充就可以成为一个完整的商店销售管理系统。
下面来说一下本程序的各个模块的功能及数据库的结构。
一、本程序由封面、登录界面、主窗口、打印窗口及关于窗口五部分组成。
主窗口又由增添记录、编辑记录、查询信息、打印数据、管理功能组成。
封面:
在启动主程序之前显示一个软件封面,停留大约二秒钟,用于说明本软件的功能版本信息,消除用户等待主程序启动的焦虑(一般用于主程序启动需要较长时间的软件中)
登录界面:
登录界面产生一个用户的下拉列表,用户可选择相应的用户名称,输入对应的密码进入,选择“取消”终止程序运行。
防止用户以外的人看到密码,密码输入框内的密码用“*”屏蔽。
主窗口:
主窗口是本软件的核心,百分之九十的功能代码都在这里实现。
主窗口上方是一组下拉菜单,实现功能的切换和数据的处理。
下面一组标签页实现相应的功能。
最下方的状态条显示当前的时间和日期。
打印窗口:
实现所要打印的数据输出之前的预览,可以通过上面的一排功能按钮调整预览效果。
关于窗口:
一个小对话框,显示的是本软件的说明信息。
添加记录:
该标签页由上面的一组数据明细和下面的控制按钮组成,输入框前的文本提示输入框内存储的内容,输入框内是我们要输入的数据信息,下方的“第一条”,“上一条”,“下一条”,“最后一条”用于浏览数据,右下方的两个按钮用于数据的添加和存储。
编辑记录:
该标签页和“添加记录”很相似,增加了一个“删除记录”按钮和“修改记录”按钮。
删除记录前会有一个删除确认对话框出现,防止用户误删数据。
查询信息:
由上面的一组查询组件和下面的数据表格组成。
首先在下拉框中选择要查询的字段,然后在右边的文本框内输入要查询的内容,单击“查询”按钮即可在下面的数据表格中显示所需要的信息。
支持模糊查询,可以只输入查询信息的一部分。
单击“全部”按钮将显示全部记录。
打印数据:
界面和“查询信息”标签相似,增加了一个“打印数据”按钮。
这样,既可以打印全部信息,又可以只打印查询出来的信息,所打印的数据就是下方数据表格中的数据。
管理功能:
包括用户管理和系统初始化功能。
用户管理我们可以增加和删除用户,修改用户登录口令。
初始化功能将清空数据表。
二、数据库的结构设计
本程序用到了两个数据表,一个是记的流水帐表,另一个是用户表,全部存在于一个ACCESS2000数据库中(XMJL.MDB)。
下面来说明一下数据表的数据结构
XMB表
字段名
类型
长度
序号
文本
10
收入
货币
自动
支出
货币
自动
日期
日期/时间
自动
经手人
文本
8
合计
货币/计算
自动
New表
字段名
类型
长度
Us
文本
50
Ps
文本
50
程序结构图
程序流程图:
附程序源代码:
programxmjl;
uses
Forms,
windows,
mainin'main.pas'{Form1},
dmin'dm.pas'{dm2:
TDataModule},
aboutin'about.pas'{AboutBox},
reportin'report.pas'{qr1:
TQuickRep},
logosrcin'logosrc.pas'{logo},
loginin'login.pas'{denglu};
{$R*.res}
begin
Application.Initialize;
logo:
=tlogo.Create(application);
logo.Show;
logo.Update;
Application.CreateForm(Tdm2,dm2);
Application.CreateForm(Tdenglu,denglu);
sleep(1000);
logo.Hide;
logo.Free;
Application.Run;
end.
unitlogosrc;
interface
uses
Windows,Messages,SysUtils,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,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,Mask,Buttons;
type
Tdenglu=class(TForm)
BitBtn1:
TBitBtn;
BitBtn2:
TBitBtn;
ComboBox1:
TComboBox;
MaskEdit1:
TMaskEdit;
Label1:
TLabel;
Label2:
TLabel;
procedureBitBtn2Click(Sender:
TObject);
procedureFormCreate(Sender:
TObject);
procedureBitBtn1Click(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.ADOTable1do
begin
open;
first;
whilenoteofdo
begin
combobox1.Items.Add(fields[0].Value);
next;
end;
combobox1.ItemIndex:
=0;
end;
end;
procedureTdenglu.BitBtn1Click(Sender:
TObject);
begin
withdm2.ADOTable1do
begin
iflocate('us',combobox1.Text,[])then
begin
ifmaskedit1.text=fields[1].Valuethen
begin
hide;
withtform1.Create(self)do
showmodal;
end;
application.Terminate;
end;
end;
end;
end.
unitmain;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,ComCtrls,ToolWin,Menus,DBActns,ActnList,DB,
ExtCtrls,StdCtrls,Mask,DBCtrls,ImgList,Buttons,Grids,DBGrids;
type
TForm1=class(TForm)
PageControl1:
TPageControl;
StatusBar1:
TStatusBar;
TabSheet1:
TTabSheet;
TabSheet2:
TTabSheet;
TabSheet3:
TTabSheet;
TabSheet5:
TTabSheet;
MainMenu1:
TMainMenu;
N1:
TMenuItem;
N2:
TMenuItem;
N4:
TMenuItem;
N5:
TMenuItem;
N8:
TMenuItem;
N9:
TMenuItem;
N10:
TMenuItem;
N12:
TMenuItem;
N13:
TMenuItem;
N14:
TMenuItem;
N15:
TMenuItem;
N16:
TMenuItem;
N17:
TMenuItem;
N18:
TMenuItem;
DataSource1:
TDataSource;
ActionList1:
TActionList;
DataSetFirst1:
TDataSetFirst;
DataSetPrior1:
TDataSetPrior;
DataSetNext1:
TDataSetNext;
DataSetLast1:
TDataSetLast;
DataSetInsert1:
TDataSetInsert;
DataSetDelete1:
TDataSetDelete;
DataSetEdit1:
TDataSetEdit;
DataSetPost1:
TDataSetPost;
Panel1:
TPanel;
Panel2:
TPanel;
Label1:
TLabel;
Label2:
TLabel;
Label3:
TLabel;
Label4:
TLabel;
Label5:
TLabel;
DBEdit1:
TDBEdit;
DBEdit2:
TDBEdit;
DBEdit9:
TDBEdit;
DBEdit10:
TDBEdit;
DBEdit11:
TDBEdit;
Panel3:
TPanel;
BitBtn1:
TBitBtn;
BitBtn2:
TBitBtn;
BitBtn3:
TBitBtn;
BitBtn4:
TBitBtn;
ImageList1:
TImageList;
BitBtn5:
TBitBtn;
BitBtn10:
TBitBtn;
Label25:
TLabel;
Label26:
TLabel;
Panel4:
TPanel;
BitBtn6:
TBitBtn;
BitBtn7:
TBitBtn;
BitBtn8:
TBitBtn;
BitBtn9:
TBitBtn;
BitBtn11:
TBitBtn;
BitBtn12:
TBitBtn;
BitBtn13:
TBitBtn;
Panel8:
TPanel;
DBGrid1:
TDBGrid;
Panel9:
TPanel;
Label27:
TLabel;
ComboBox1:
TComboBox;
Label28:
TLabel;
Edit1:
TEdit;
BitBtn14:
TBitBtn;
BitBtn15:
TBitBtn;
Panel13:
TPanel;
DBGrid3:
TDBGrid;
Panel14:
TPanel;
Label59:
TLabel;
Label60:
TLabel;
ComboBox3:
TComboBox;
Edit3:
TEdit;
BitBtn18:
TBitBtn;
BitBtn19:
TBitBtn;
BitBtn21:
TBitBtn;
Timer1:
TTimer;
Label6:
TLabel;
DBEdit3:
TDBEdit;
Panel5:
TPanel;
Label7:
TLabel;
Label8:
TLabel;
Label9:
TLabel;
Label10:
TLabel;
Label11:
TLabel;
Label12:
TLabel;
Label13:
TLabel;
Label14:
TLabel;
DBEdit4:
TDBEdit;
DBEdit5:
TDBEdit;
DBEdit6:
TDBEdit;
DBEdit7:
TDBEdit;
DBEdit8:
TDBEdit;
DBEdit12:
TDBEdit;
TabSheet4:
TTabSheet;
Panel6:
TPanel;
GroupBox1:
TGroupBox;
SpeedButton1:
TSpeedButton;
DBGrid2:
TDBGrid;
DBEdit13:
TDBEdit;
DBEdit14:
TDBEdit;
DBNavigator1:
TDBNavigator;
Label15:
TLabel;
Label16:
TLabel;
DataSource2:
TDataSource;
procedureN9Click(Sender:
TObject);
procedureN10Click(Sender:
TObject);
procedureN12Click(Sender:
TObject);
procedureN8Click(Sender:
TObject);
procedureN14Click(Sender:
TObject);
procedureN5Click(Sender:
TObject);
procedureBitBtn5MouseUp(Sender:
TObject;Button:
TMouseButton;
Shift:
TShiftState;X,Y:
Integer);
procedurefilldata(sender:
tcombobox);
proceduresearch(f1:
tcombobox;t1:
tedit);
proceduredispall;
procedureFormActivate(Sender:
TObject);
procedureBitBtn14Click(Sender:
TObject);
procedureBitBtn15Click(Sender:
TObject);
procedureBitBtn13Click(Sender:
TObject);
procedureBitBtn17Click(Sender:
TObject);
procedureBitBtn21Click(Sender:
TObject);
procedureTimer1Timer(Sender:
TObject);
procedureBitBtn11MouseUp(Sender:
TObject;Button:
TMouseButton;
Shift:
TShiftState;X,Y:
Integer);
procedureBitBtn18Click(Sender:
TObject);
procedureSpeedButton1Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form1:
TForm1;
implementation
usesabout,dm,report,login;
{$R*.dfm}
procedureTForm1.N9Click(Sender:
TObject);
begin
tabsheet2.Show;
end;
procedureTForm1.N10Click(Sender:
TObject);
begin
tabsheet3.Show;
end;
procedureTForm1.N12Click(Sender:
TObject);
begin
tabsheet5.Show;
end;
procedureTForm1.N8Click(Sender:
TObject);
begin
tabsheet1.Show;
end;
procedureTForm1.N14Click(Sender:
TObject);
begin
application.Terminate;
end;
procedureTForm1.N5Click(Sender:
TObject);
begin
withtaboutbox.Create(self)do
ShowModal;
end;
procedureTForm1.BitBtn5MouseUp(Sender:
TObject;Button:
TMouseButton;
Shift:
TShiftState;X,Y:
Integer);
begin
dbedit1.Text:
=inttostr(dm2.adoquery1.RecordCount+1);
dbedit2.SetFocus;
end;
procedureTForm1.filldata(sender:
tcombobox);
var
iCount:
Integer;//将从数据模块中取得的数据库表的字段名填入ComboBox中
begin
sender.Items.Clear;//首先清空ComboBox中Items的值
foriCount:
=0toDM2.ADOQuery1.Fields.Count-2do
begin
sender.Items.Add(DM2.ADOQuery1.Fields[iCount].FieldName);//加入字段名
DM2.ADOQuery1.Next;//向下移动到下一个字段
end;
sender.ItemIndex:
=0;//设置表单刚出现时ComboBox的值为第一个
end;
procedureTForm1.search(f1:
tcombobox;t1:
tedit);//自定义过程search(在数据库中搜寻指定条件的数据)
var
SearchField:
string;//要查找的字段名
SearchValue:
string;//要查找的字段值
begin
SearchField:
=Trim(f1.Text);//将ComboBox的值赋给SearchField
SearchValue:
='%'+Trim(t1.Text)+'%';//将Edit的值赋给SearchField
withDM2.ADOQuery1do
begin
close;//先关闭数据模块中的ADOQuery
sql.Clear;//清空ADOQuery中的SQL值
sql.Add('select*fromxmbwhere'+SearchField+'like'''+
SearchValue+'''');//进行数据查询的SQL语句(SearchFidel和SearchValue
//分别赋到SQL语句中
end;
Dm2.ADOQuery1.Open;//打开数据模块中的ADOQuery
end;
procedureTForm1.FormActivate(Sender:
TObject);
begin
filldata(combobox1);
filldata(combobox3);
tabsheet1.Show;
end;
procedureTForm1.BitBtn14Click(Sender:
TObject);
begin
search(combobox1,edit1);
end;
procedureTForm1.BitBtn15Click(Sender:
TObject);
begin
dispall;
end;
procedureTForm1.dispall;
begin
withdm2.ADOQuery1do
begin
close;
sql.clear;
sql.Add('select*fromxmb');
open;
end;
end;
procedureTForm1.BitBtn13Click(Sender:
TObject);
begin
ifMessageDlg('你确信要删除记录?
',mtwarning,[mbok,mbcancel],0)=mrok
then
DM2.ADOQuery1.Delete;
end;
procedureTForm1.BitBtn17Click(Sender:
TObject);
begin
dispall;
end;
procedureTForm1.BitBtn21Click(Sender:
TObject);
begin
withtqr1.Create(self)do
Preview;
end;
procedureTForm1.Timer1Timer(Sender:
TObject);
begin
statusbar1.Panels[3].Text:
=timetostr(now);
statusbar1.Panels[4].Text:
=formatdatetime('yyyy年MM月dd日',now);
end;
procedureTForm1.BitBtn11MouseUp(Sender:
TObject;Button:
TMouseButton;
Shift:
TShiftState;X,Y:
Integer);
begin
dbedit12.SetFocus;
end;
procedureTForm1.BitBtn18Click(Sender:
TObject);
begin
search(combobox3,edit3);
end;
procedureTForm1.SpeedButton1Click(Sender:
TObject);
begin
withdm2.ADOQuery1do
begin
close;
sql.Clear;
sql.Add('delete*fromxmb');
ExecSQL;
close;
sql.Clear;
sql.Add('select*fromxmb');
open
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 财务管理 系统 应用 程序设计