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

📄 文章.txt

📁 这是图书租借管理系统,但没有编译,还存在一点问题,请大家来帮忙解决一下
💻 TXT
📖 第 1 页 / 共 4 页
字号:
  if deleted()
  thisform.pageframel.pagel.textl.value='*',
  else
  thisform.pageframel.page1.text1.value=,,
  endif
  thisform.refresh
  ·  控件Command2(删除)——单击事件(Click)过程代码
begin transaction
dele

    *除”提交”、”撤销”钮外,其他按钮都置为不可用
    thisform.pageframel.pagel.commandl.enabled=.f.
    thisform.pageframel.pagel.command/.enabled=.f.
    thisform.pageframel.pagel.command3.enabled=.f.
    thisform.pageframel.pagel.command4.enabled=.t.
    thisform.pageframel.pagel.co~and5.enabled=.t.
    thisform.pageframel.pagel.command6.enabled=.f.
    thisform.pageframel.pagel.command7.enabled=.f.
    thisform.pageframel.pagel.command8.enabled=.f.
    ·  控件Command3(编辑)——单击事件(Click)过程代码
    begin transaction
    sete book
    thisform.pageframel.pagel.txt图书流水号.enabled=t
    thlsform.pageframel.pagel.txtlsbn.enabled=.t.
    thisform.pageframel.pagel.comb01.enabled=.t.
    thisform.pageframel.pagel.txt图书名称.enabled=t
    thisform.pageframel.pagel.txt出版社.enabled=.t.
    thisform.pageframel.pagel.txt单价.enabled=.t.
    thisform.pageframel.pagel.txt押金.enabled=.t.
    thisform.pageframel.pagel.txt复本数量.enabled=t
    thisform.pageframel.pagel.txt日租金.enabled=.t.
    thisform.pageframel.pagel.txt日罚金.enabled=.t.
    thisform.pageframel.pagel.txt图书流水号.setfocus
    thisform.pageframel.pagel.refresh
    thisform.pageframel.pagel.eommandl.enabled=.f.
    thisform.pageframel.pagel.command2.enabled=.f.
    thisform.pageframel.pagel.command3.enabled=.f.
    thisform.pageframel.pagel.c~xed4.enabled=.t.
    thisform.pageframel.pagel.command5.enabled=.t.
    thisform.pageframel.pagel.command6.enabled=.f.
    thisform.pageframel.pagel.command7.enabled=.f.
    thisform.pageframel.pagel.command8.enabled=.f.
    if deleted()
    thisform.pageframel.pagel.textl.value='*'
    else
    thisform.pageframel.pagel.textl.value=''
    endif
    thisform.refresh
    ·  控件Command4(提交)——单击事件(Click)过程代码
  sele book
  deleforlen(alltrim(book.图书流水号))=O.or.;
  len(alltrim(book.isbn)):OS&删除没有图书流水号或isbn号的记录
  **保证图书流水号不重复
  i=o  &&用来存放符合条件的记录个数
  loca for alltrim(book.图书流水号)==;
  alltrim(thisform.pageframel.pagel.txt图书流水号.value)
  r=recno() &&第一个符合条件的记录号
  **这个循环负责累计符合条件的记录个数
  do while.not.eof()
  i=i+1
  continue
  enddo    ·
  **locate语句查到的符合条件的记录包括当前正在编辑的记录
  **有超过1个的记录时,第一个记录才会被删除
  if i>l
  messagebox("这个图书流水号已经出现过,刚剐输入的信息已被删除",0,”提示!")
  skip—1&&指针回到当前记录
  dele    ·
  endif
  =tableupdate(t)&&实施对表的修改。前提是表必须设置了行缓冲或表缓冲
  endtransaction  &&结束事务。提示;在调试中,如果没有结束事务而非正常退出表单
  *可以在命令窗口中输人命令行:endtransaction.以便继续你的工作
  thisform.pageframe1.page1.txt图书流水号.enabled=.f.
  thisform.pageframe1.page1.txtisbn.enabled=.f.
  thisform.pageframe1.page1.comb01.enabled=.f.
  thisform.pageframe1.page1.txt图书名称.enabled=f
  thisform.pageframe1.page1.txt出版社.enabled=.f.
  thisform.pageframe1.page1.txt单价.enabled=.f.    、
  thisform.pageframe1.page1.txt押金.enabled=.f.
  thisform.pageframe1.page1.txt复本数量.enabled=.f.
  thisform.pageframe1.page1.txt日租金.enabled=.f.
  thisform.pageframe1.page1.txt日罚金.enabled=.f’
  thisform.pageframe1.page1.command1.enabled=.t.
  thisform.pageframe1.page1.command2.enabled=.t.
  thisform.pageframe1.page1.command3.enabled=.t.
  this.enabled=.f.
  thisform.pageframe1.page1.command5.enabled=.f.
  thisform.pageframe1.page1.command6.enabled=.t.
  thisform.pageframe1.page1.command7.enabled=.t.
  thisform.pageframe1.page1.command8.enabled=.t.

if deleted()
thisform.pageframe1.page1.text1.value='*'
else
thisform.pageframe1.page1.text1.value=''
endif
thisform.refresh
·  控件Command5(撤销)——单击事件(Click)过程代码
??CHR(7)&&计算机喇叭响一下
result=messagebox(”是否放弃修改?”,4十48十256,”信息窗口”)
lf result=6
ROLLBACK    ’
thisform.pageframe1.page1.txt图书流水号.enabled=f.
thisform.pageframe1.page1.txtisbn.enabled=f.
thisform.pageframe1.page1.comb01.enabled=f.
thisform.pageframe1.page1.txt图书名称.enabled=f.
thisform.pageframe1.page1.txt出版社.enabled=f.
thisform.pageframe1.page1.txt单价.enabled=f.
thisform.pageframe1.page1.txt押金.enabled=f.
thisform.pageframe1.page1.txt复本数量.enabled=f
thisform.pageframe1.page1.txt日租金.enabled=f.
thisform.pageframe1.page1.txt日罚金.enabled=f.
thisform.pageframe1.page1.commandl.enabled=t.
thisform.pageframe1.page1.command2.enabled=t.
thisform.pageframe1.page1.co~aed3.enabled=t.
thisform.pageframe1.page1.command4.enabled=f.
this.enabled=.f.
thisform.pageframe1.page1.couand6.enabledd=t.
thisform.pageframe1.page1.command7.enabled=t.
thisform.pageframe1.page1.command8.enabled=t.
endlf
thisform.refresh
·  控件Command6(前一条)——单击事件(Click)过程代码
sele book
thisform.pageframe1.page!.command7.enabled=T.
if.not.bof()
skip -1
thisform.refresh
else
messagebox(”已经是第一条记录”,0,”记录情况”)

  this.enabled=f.
  endif
  if deleted()
  thisform.pageframal.pagel.text1.value='*'
  else
  thisform.pageframel.pagel.textI.value='',
  endlf
  thisform.refresh
  ·  控件Command7(后一条)——单击事件(Click)过程代码
  sele book
  thisform.pageframel.psg01.command6.enabled=t.
  if.not.eof()
  skip
  thisform.refresh
  else
  messagebox("已经是最后一条记录!",0,”记录情况”)
  this.enabled=.f.
  endif
  if deleted()
  thisform.pagerramel.pagel.textl.value='*'
  else
  thisform.pageframel.pagel.textl.value’’,
  endif
  thlsform.refresh
  .  控件Corflrllalld8(退出)——单击事件(C1ick)过程代码
  ??CHR(7)
  result=messagebox(”是否退出?',4十46十256,'信息窗口")
  if result:6
    sele book
    =tablerevert(.t.)
    =cursorsetprop('buffering',1)
    use
    use databook excl
    set excl on
    pack
    set excl off
    use
    thisform.release
    endif

   2.页面2(客户表维护)所包含的控件、控件属性及相应代码
    页面2中包含8个命令按钮,单击8个命令按钮可以完成对数据表person.dbf中记录
的添加、删除、编辑等操作。其余控件是将数据源person.dbf表中的全部字段拖至表单中
形成的,设置所有控件的Enabled=.F.。表单运行时页面2效果如图4.13所示。
    圈4.13  sjwh.scx运行时页面2效果
    各控件的代码与页面l(图书表维护)相似,这里只给出“提交”按钮的代码。在添加、修
  改记录时,系统可以保证客户编号是不重复的。
    ··  控件Command4(提交)——单击事件(C1ick)过程代码
    sele person
    deleforlen(alltrim(person.客户编号))=O.or.  ;
    len(alltrim(person.客户姓名))=0&&删除没有客户编号或没有客户姓名的记录
    i=0 &&用来存放符合条件的记录个数
    loca for alltrim(person.客户编号)==;
    alltrim(thisform.pageframe1.page2.txt客户编号.value)
    r=recno()&&第一个符合条件的记录号
    **这个循环负责累计符合条件的记录个数
    do while.not.eof()
    i=i+1
    continue
    enddo
    **locate语句查到的符合条件的记录包括当前正在编辑的记录
    **有超过1个的记录时,第一个记录才会被删除
    if i>1
    messagebox(”这个客户编号已经出现过,刚刚输人的信息已被删除.”,0,"提示!')
    skip—1
    dele
    endif


   =tableupdate(.t.)&&实施对表的修改。前提是表必须设置了行缓冲或表缓冲
    endtransaction  &&结束事务。提示:在调试中,如果没有结束事务而非正常退出表单
    *可以在命令窗口中输人命令行endtransaction,以便继续你的工作
    thisform.pageframe1.page2.txt客户绢号.enabled=f.
    thisform. pageframe1.page2.txt客户姓名.enabled=f.
    thisform.pageframe1.page2.txt身份证号.enabled=f.
    thisform.pageframe1.page2.txt宅电.enabled=f.
    thisform.pa~eframe1.page2.txt手机.enabled=f.
    thlsform.pageframe1.page2.txt住址.enabled=f.
    thisform.pageframe1.page2.txt租金累计.enabled=f.
    thisform.pageframe1.page2.commandl.enabled=t.
    thlsform.pageframe1.page2。com~ld2.enabledd=t.
    thisform.pageframe1.page2.command3.enabled=t.
    this.enabled=f
    thisform.pageframe1.page2.command5.enabled=f
    thisform.pageframe1.page2.command6.enabled=t
    thisform.pagerrame1.page2.command.emabXed=t
    thisform.pageframe1.page2.command8.enabled=t.
    if deleted()
    thisform.pageframe1.page2.text1.value='*'
    else
    thisform.pageframe1.page2.text1.value=''
    endif
    thisform.refresh
    3.页面3(密码表维护)所包含的控件、控件属性及相应代码
    页面3中包含8个命令按钮,单击8个命令按钮可以完成对数据表password.db{中记
录的添加、删除、编辑等操作。其余控件是将数据源password.dbf表中的全部字段拖至表
单中形成的,设置所有控件的Enabled=F。表单运行时页面3效果如图4.14所示。
    各控件的代码与页面1(图书表维护)相似,这里只给出“提交”按钮的代码。在添加、修
改记录时,系统可以保证用户名和密码不会同时相同。
    .  控件Command4(提交)——单击事件(C1ick)过程代码
    sele password
    deleforlen(alltrim(password.密码)):0.Or.,
    len(alltrim(password.用户))=O &&删除没有用户名或密码的记录
    i=o &&用来存放符合条件的记录个数
    locaforalltrim(password.密码)==alltrim(thisform.pageframel.page3.txt密码.value);
    .and.alltrim(password.用户)==alltrim(thisform.pageframel.page3.txt用户.value)
    r=recno()Gs第一个符合条件的记录号
    **这个循环负责累计符合条件的记录个数
    do while.not.eof()
    i=i十1
    continue
    enddo
    **locate语句查到的符合条件的记录包括当前正在编辑的记录
    **有超过1个的记录时,第一个记录才会被删除
    if i>l
    messagebox(·这个用户名和密码已经出现过,刚刚编辑信息已被删除。",0,”提示!")
    skip—1
    dele
    endif
    =tableupdate(.t.)&&实施对表的修改.前提是表必须设置了行缓冲或表缓冲
    end transaction &&结束事务。提示:在调试中,如果没有结束事务而非正常退出表单
    *可以在命令窗口中输人命令行end transaction,以便继续你的工作
    thisform.pageframe1.page3.txt密码.enabled=f.
    thisform.pageframe1.page3。txt用户.enabled=f.
    thisform.pageframe1.paye3.commandl.enabled=t.
    thisform.pageframe1.page3.come.nd2.enabled=t.
    thisform.pageframe1.page3.command3.enabled=t.
    this.enabled=f
    thisform.pageframe1.page3.command5.enabled=f.
    thisform.pageframe1.page3.command6.enabled=t.
    thisform.pageframe1.page3.command7.enabled=t.
    thisform.pageframe1.page3.command8.enabled=t.
    if deleted()
    thisform.pageframe1.page3.text1.value='*'
    else

    thisform.pageframe1.page3.text1.value=''
    endif
    thisform.refresh
4.3.6  数据浏览查询
    数据浏览查询由表单llcx.SCX负责。表单llcx.SCX包含一个有四个页面的页框控件,
  该表单位于默认路径的forms文件夹中。
    通过该表单,完成对图书信息、客户信息的浏览查询功能。该表单用到的数据表book.
  dbf(图书表)、person.dbf(客户表)和图书分类表.dbf位于默认路径的Data文件夹中。

⌨️ 快捷键说明

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