📄 文章.txt
字号:
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 + -