⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 文章.txt

📁 这是图书租借管理系统,但没有编译,还存在一点问题,请大家来帮忙解决一下
💻 TXT
📖 第 1 页 / 共 4 页
字号:
sele 租借表
if 租借表.还期-租借表.借期+1<=预借天数
	repl 租借表.正常租金 with (租借表.还期-租借表.借期+1)*book.日租金
	repl 租借表.退还 with 预付租金-正常租金
	repl 租借表.补交 with 0
	repl 租借表.过期租金 with 0
else
	repl 租借表.正常租金 with 预借天数*book.日租金
	repl 租借表.过期租金 with (租借表.还期-租借表.借期+1-预借天数)*book.日罚金
	if 预付租金-正常租金-过期租金>=0
		repl 租借表.退还 with 预付租金-正常租金-过期租金
		repl 租借表.补交 with 0
	else
		repl 租借表.退还 with 0
		repl 租借表.补交 with 正常租金+过期租金-预付租金
	endif	
endif

	=tableupdate(.t.)
	thisform.refresh
	sele book
	loca for isbn=thisform.combo2.value
	repl book.复本数量 with book.复本数量+1
	sele person
	loca for 客户编号=thisform.combo1.value
	repl 租金累计 with 租金累计+租借表.正常租金+租借表.过期租金

thisform.command1.enabled=.t.
thisform.command2.enabled=.f.
thisform.command3.enabled=.f.
thisform.command4.enabled=.t.

thisform.combo1.enabled=.f.
thisform.combo2.enabled=.f.
thisform.txt还期.enabled=.f.

控件command3(恢复)——单击事件(click)过程代码
=tablerevert(.t.)
thisform.command1.enabled=.t.
thisform.command2.enabled=.f.
thisform.command3.enabled=.f.
thisform.command4.enabled=.t.

thisform.combo1.enabled=.f.
thisform.combo2.enabled=.f.
thisform.txt还期.enabled=.f.

控件command4(返回)——单击事件(click)过程代码
thisform.refresh

3.租借查询
	租借查询由表单zjcx.scx负责。本表单包含一个有两个页面的页框控件,数据源为数据表book.dbf(图书表)、租借表.dbf(租借表)和person.dbf(客户表)。表单zjcx.scx位于默认路径的forms文件夹中。
	(1)页面1所包含的控件、控件属性及相应代码
	页面1(查询图书去向)包含1个标签、1个组合框控件和2个命令按钮控件。其中表格控件包含4列,既属性columncount=4。将每列的标题caption依次设为:“客户姓名”、“手机”、“宅电”、“住址”。
	在本业面中,如果选择图书名,单击“查询”按钮,就可以查询到借阅该书的客户信息。








    ·  表单zjcx.SCX--Init过程代码
    thisform.pageframel.pagel.gridl.recordsource=""
    thisform.pageframel.page2.gridl.recordsouroe=""
    .  控件Commandl(查询)——单击事件(Click)过程代码
    sele租借表
    SELECTPerson.客户姓名,Person.宅电,Person.手机,Person.住址,,
    Person.客户编号;
    FROM tszj!parson INNER JOIN tszj!租借表,
    on  Person.客户编号=租借表.客户编号;
    WHERE租借表.isbn=thisform.pageframel.pagel.comb01.value.and.租借表.还期’{);
    GROUPBYPerson.客户编号;
    ORDERⅢPerson.客户编号;
    INTO CURSOR khtscx
    thisform.pageframel.pagel.gridl.recordsource=”khtscx”
    (2)页面2所包含的控件、控件属性及相应代码
    页面2(查询客户借阅信息)包含1个标签、1个组合框控件、1个表格控件和2个命令
    按钮控件。其中表格控件包含3列,即属性C01umnCount=3。将每列的标题Captlon依次
    设为:“图书名称”、“借期”、“还期”。
    在本页面中,选择客户名,单击“查询”按钮,就可以查询到该客户借阅图书的信息。表
    单运行时页面2效果如图4.25所示。
    图4.25  zjcx.scx运行时页面2效果
  .  控件Commandl(查询)——单击事件(C1ick)过程代码
  SELECTbook.图书名称,租借表。借期,租借表.还期,
  FROM  tszj!bookINNERJOINtszj!租借表;
    On  book.isbn=租借表.isbn~
    WHERE租借表.客户编号=tbisform.pageframel.page2.combo1.value;
    ORDER BY book.isbn;
    INT0 CURSOR tskhcx

   thisform.pageframel.page2.gridl.recordsource=”tskhcx·
4.3.8  打印
    打印由表单dycsd.SCX负责。该表单位于默认路径的{orms文件夹中,数据源为数据
  表book.dbf(图书表)、租借表.db{(租借表)和person.dbf(客户表)。这一表单能够显示或
  打印过期图书的催还单。所谓“过期图书”就是系统日期减去借书日期如果大于预借天数的
  图书。表单运行效果如图4.26所示。单击表单上浏览”按钮,效果如图4.27所示。
  图4.26  dycsd,scx运行效果
·  控件Commandl(浏览)——单击事件(Click)过程代码
khh-‘thisform.Comb01.value
reportformREPORTS\k-hcsd.frx ; &&事先制作好的报表文件
for客户编号=khh;
preview window forml
·  控件Command2(打印)——单击事件(Click)过程代码
messagehox(”打印机是否准备就绪?”十CHR(13);
+·如果打印机不能正确工作,请在打印设置中选择取消·,o,·确认打印·)
khhm=thisform.Combo1.value

    reportformREPORTS\khcsd.frx,SG事先制作好的报表文件
    for害户编号+khbm;
    tO printer prompt window form1
    ·  控件Command3(返回)--单击事件(Click)过程代码
    thisform.release
    ·  报表文件khcsd.frx的制作
    在命令按钮“浏览”和“打印”的代码中,用到了report命令,命令中引用的报表文件k卜
csd.frx是利用报表向导预先制作好的。在报表制作中用到的数据源是视图khcsd,视图
khcsd来源于数据表person.dbf(图书表)、book.dbf(客户表)和租借表.dbf(租借表)。它
们之间的关系如图4.28所示。
    图4.20  视田、数据表和报表之间关系
  ·  视图khcsd的制作
  今  Fields选项  person.客户编号,person.客户姓名,租借表.ISBN,book.图书名称,
    租借表.借期,租借表.预借天数。
  *  Join选项  person.客户编号=租借表.客户编号;租借表.ISBN=book.ISBN。
  *  Filte选项租借表.还书日期=<>.and..DATE()一租借表.租借日期+1一租借
    表.预借天数>o。
  *  OrderBy选项  租借表.ISBN。
  其他设置保持默认效果。
  ·  报表设计
  报表文件khcsd.frx位于系统默认路径的Reports文件夹中,设计效果如图4.29所示。
圈4.2 khcsd.frx设计效果
    4.4  系统测试
    根据系统模块的划分,同时对应用系统程序的功能和结构进行测试。在表单设计和编
码中就交替进行着不断的测试。
    注:  本示例在运行表单、使用数据表时都用了相对路径,因此在调试时不要忘记在命令
    窗p中输入“set defa to d:\VisualFoxPro 6.0课程设计指导\图书租借信息管理系
    统\”。
    下面是一些样本数据(记录),事实上,其中的一部分是在设计表单或编码时为了测试已
经输入到数据表中了。而在测试查询统计表单之前数据表中更需要有一定数量的原始数据
(记录),测试的效果才明显,易于发现问题。
    password.dbf(密码表)、分类表.dbf(分类表)不依赖任何其他表,表中的记录在建表之
初由管理员或设计者直接输入。
    book.dbf(图书表)中的数据在“图书信息维护”中进行管理,但其中“复本数量”字段在
图书租出时数量会被减1,而在图书归还时数量会被加1。
    person.dbf(客户表)中的数据在“客户信息维护”中进行管理,但其中“租金累计”字段
在用户归还图书时被调整,每次用户花费的租金会被累计。
    租借表.dbf(租借表)中的记录是在图书出租、归还两个过程中被管理的。
    以上数据表见表4.1一表4.5。
    表4.1  图书表(book.dbf)
表4.2  客户表(person.dbf)

表4.3  租借表(租借表.dbf)
  表4.4  密码表(passwor4.dbf)
  表4.5  分类表(分类表.dbf)
    4。5  项目连编及安装盘
  1.主控程序
  主控程序programl.pr8位于默认路径的PROGS文件夹,内容如下;
  clear
  set talk off
  setdefatoD:\VFP60课程设计指导\图书租借信息管理系统\
  do forms\begin.scx
  read events
  close all
  return
  2.设置主控程序
  要使programl.prg作为项目的主控程序,还必须在项目管理器中,进行相应的设置。

如图4.30所示。
    3.项目连编
    .  清理项目  在“项目”菜单下,选“清理项目”。
    ·  连编项目  点击项目管理器中的连编,分别作1、3两个选项,即先连编项目文件再
连编可执行文件,如图4.31所示。将生成的可执行文件“图书租借.exe”存放在
    D:\VFP 60课程设计指导\图书租借信息管理系统
  目录中。
    图4.30  设置主控程序    图4.31  连编可执行文件
    .  可执行文件的运行  如果运行“图书租借.exe”时出现问题,请将下列文件复制到
“图图书租借.exe”所在的目录中x
    config.fpw
    VFP 6r.dll
    VFP 6rchs.dll
    rFP 6renu.dll
    其中,config.{pw的原始位置是项目文件(图书租借.pix)所在的目录,其余3个文件在
windows\system下。
    注:  ①连编时,应先关闭所有的数据库、表及表单等,再去连编,否则容易出错。
    ②运行可执行文件“图书租借.exe”时,要关闭所有的数据库或正在运行的表单等。
    4.创建发布磁盘
    这是令人激动的工作部分。我们就要成为一个“软件”的提供者,将要提供一个很正规
的“软件”给用户安装。
    利用VisualFoxPro 6.o的“安装向导”来生成应用程序的发布磁盘和安装程序,首先在
D盘上建立一个文件夹,命名为ts。
    在本例中,创建发布磁盘的每个步骤选择如下:
    (1)定位文件  D:\VFP 60课程设计指导\图书租借信息管理系统\。
    (2)指定组件  VisualFoxPro运行时刻组件。
    (3)磁盘映像  目录->D:\ts\  1.44MB 3.5英寸  Web安装(压缩)。

    (4)安装选项  安装对话框标题一“正在安装,请稍候!",版权信息一“版权所有”,另外
  一项略。    ·
    (5)默认目标目录  \ts;程序组一Visual FoxPro应用程序;用户可以修改一目录与
程序组。
    (6)改变文件设置  没有改变。
    (7)完成  没有改变。
    结束之后,在D:\wy下可以看见一个Diskl44文件夹。Diskl44文件夹下有3个子文
件夹,其中Diskl中有安装文件Setup.exe一
    注:  生成安装盘的过程中应关闭项目管理器。
    5.项目文档
    利用“文档向导”,可以完成一份全面、细致的项目文档。Visual FoxPro 6.o菜单下选
“工具”一“向导”一“文档”,弹出对话框。
    ·  步骤(1)~(4)保持系统给出的默认选项。
    ·  步骤(5)如图4.32所示。
    田4.32选择报衰
    选择了报表类型后,向导会生成两个文本文件(可以用写字板打开进行查看):其一
“FILES.LST”列出了本项目中包含的所有文件名称及位置,对于数据表文件还列出了表结
构,如图4.33所示;其二“图书租借.LST"列出了项目中所有相关代码,十分详尽,每一部分
代码用“****”间隔开,如图4.34所示。
    ·  步骤6选择“将文件存放到单个目录中”。
    如此选择可以在第七步中指定一个目录用来存放"FILES.LST"和“图书租借.LST"。
    ·  步骤7选择d:\t3\,存放FILES.LST和“图书租借.LST”两个文本文件。
    “FILES.LST"的部分内容如下:
    FORMS\ZJCX.SCX
    mmm\zoch.scx
    GRAPHics\背景.JPG



REPORTs\标题.JPG
Re0RTS\khCSD.FRX
Database Database
    Version    10
Database TransactionLog
Database StroredProceduresSource
DatabaseStoredProceduresobject
Database StoredProceduresDependencies
Table    person
    Path    person.dof
    Field    客户编号    客户编号    C    6    0
    Field    客户姓名    客户姓名    C    8    0
    Field  身份证号    身份证号  C    18    0
    Field  宅电    宅电    C    8    0
    Field  手机    手机    C    11    0
    Field  住址    住址    C    30    0
    Field  租金累计    租金累计  N    10    2
  “图书租借.LST”的部分内容如下:
    REPORTformREPORTS\khcsd.frx:&&事先制作好的报表文件
    FOR客户编号  kh]m:&&学号的前两位表示专业,3至4位代表年级
    TOprinter prompt window Forml
    ENDPHOC
  ****** *D:\VFP 60课程设计指导\图书租借信息管理系统\FORMS\HSCLL.SCX
  Left=92
  Top  62
  Width=510
  Height=161
  Name="Dataenvironment",
  Left=10
  Top=20
  Width=104
  Height=90
  Alias="book"
  BrfferModeoverride=3
  Database=..\data\tszj.dbc
  CursorSource=”book”
  EXCLUSIVE=T.
  Name=”cursorl”










⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -