新华书店进销存管理系统程序源代码_第1页
新华书店进销存管理系统程序源代码_第2页
新华书店进销存管理系统程序源代码_第3页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、新华书店进销存管理系统程序源代码1、主程序 MAIN.PRG程序代码毕业设计PUBLIC nkfgl,nxsgl,ncggl,nkcgl,nxtglSTORE .f. TO nkfgl,nxsgl,ncggl,nkcgl,nxtglPUBLIC nname,ndepartmentSTORE "" TO nname,ndepartmentDo Form loginfRead EventsDo Form mainRead EventsQuit2、主表单MAIN.SCX代码2.1 表单 Init 过程程序代码do mmenu.mpr with this,.T.this.label

2、2.caption = nnamethis.label4.caption = ndepartment3、系统登入表单LOGINF.SCX代码3.1 表单登入按钮 Click 事件程序代码SELECT userGO TOP* 检查用户名和密码是否输入 If empty(thisform.text1.value) then thisform.label3.caption = " 请输入用户名 " returnelseif empty(thisform.text2.value) then thisform.label3.caption = " 请输入密码 "

3、returnendif endif*操作USER表,查询满足条件记录locate for name = alltrim(thisform.text1.value) if !found()thisform.label3.caption=" 用户不存在 " returnelseif user.password != alltrim(thisform.text2.value) then thisform.label3.caption=" 密码错误 " returnendif endif nname = ndepartment = user.

4、department nkfgl = user.kfgl nxsgl = user.xsgl ncggl = user.cggl nkcgl = user.kcgl nxtgl = user.xtgl thisform.release clear events4、系统管理表单XTGLF.SCX代码4.1 表单 Init 过程程序代码thisform.text1.enabled = .f. thisform.text2.enabled = .f. thisform.text3.enabled = .f. bo1.enabled = .f. thisform.check1.enabled = .f

5、. thisform.check2.enabled = .f. thisform.check3.enabled = .f. thisform.check4.enabled = .f. thisform.check5.enabled = .f. thisform.label5.visible = .f. thisform.text3.visible = .f. mand10.enabled = .f. mand11.enabled = .f. thisform.dis_record thisform.dis_reccommand 4.2表单自定义过程 DIS_RECOR程序代码PUBLIC ne

6、wcommandSTORE .f. TO newcommand if reccount("user") = 0 thisform.text1.value = "" thisform.text2.value = "" bo1.value = "" thisform.check1.value = 0 thisform.check2.value = 0 thisform.check3.value = 0 thisform.check4.value = 0 thisform.check5.value = 0 else th

7、isform.text1.value = thisform.text2.value = user.password bo1.value = user.department if user.kfgl thenthisform.check1.value = 1elsethisform.check1.value = 0 endifif user.xsgl thenthisform.check2.value = 1 elsethisform.check2.value = 0 endifif user.cggl thenthisform.check3.value = 1 elseth

8、isform.check3.value = 0 endifif user.kcgl thenthisform.check4.value = 1 elsethisform.check4.value = 0 endifif user.xtgl thenthisform.check5.value = 1 elsethisform.check5.value = 0 endif endifthisform.refresh 4.3表单自定义过程 DIS_RECCOMMANS序代码 private nstore 0 to nn = reccount("user")if n=1 .or.

9、n=0 thenmand1.enabled = .f. mand2.enabled = .f. mand3.enabled = .f. mand4.enabled = .f.elseif recno("user")=1 thenmand1.enabled = .f. mand2.enabled = .f.mand3.enabled = .t. mand4.enabled = .t.elseif recno("user")=n then mand1.enabled = .t. mand2.enabled = .t. mand3.enabled = .f.

10、mand4.enabled = .f.elsemand1.enabled = .t. mand2.enabled = .t. mand3.enabled = .t. mand4.enabled = .t.endifendifendifthisform.refresh 4.4 表单保存按钮 Click 事件程序代码if empty(thisform.text1.value) then=messagebox(" 请输入用户名 ",0+48+0," 出错 ") thisform.text1.setfocusthisform.refreshreturnendif

11、if empty(thisform.text2.value) then=messagebox(" 请输入密码 ",0+48+0," 出错 ") thisform.text2.setfocusthisform.refreshreturnendifif .not.(alltrim(thisform.text2.value) alltrim(thisform.text3.value) then=messagebox(" 密码重复错误 , 请重新输入 ",0+48+0," 出错 ") thisform.text2.valu

12、e = ""thisform.text3.value = ""thisform.text2.setfocusthisform.refreshreturnendifif empty(bo1.value) then=messagebox(" 请选择所属部门 ",0+48+0," 出错 ") bo1.setfocusthisform.refreshreturnendifif thisform.check1.value=0.and.thisform.check2.value=0.and.thisform .check3.v

13、alue=0.and.thisform.check4.value=0.and.thisform.check5.value=0 then=messagebox(" 至少选择一个用户权限 ",0+48+0," 出错 ") thisform.check1.setfocusthisform.refreshreturnendifif thisform.check1.value=1.and.thisform.check2.value=1.and.thisform .check3.value=1.and.thisform.check4.value=1.and.this

14、form.check5.value=1 thenmesbox=messagebox(" 此用户将具有全部权限 , 请确认 ",4+48+0," 警告 ")if mesbox=7 thenthisform.check1.setfocusthisform.refreshreturnendifendif* 用户权限处理PRIVATE nname,npassword,ndepartment,nkf,nxs,ncg,nkc,nxtnname = alltrim(thisform.text1.value)npassword = alltrim(thisform.te

15、xt2.value)ndepartment = alltrim(bo1.value)if thisform.check1.value = 1 thennkf = .t.elsenkf = .f.endifif thisform.check2.value = 1 thennxs = .t.elsenxs = .f.endifif thisform.check3.value = 1 thenncg = .t.elsencg = .f.endifif thisform.check4.value = 1 thennkc = .t.elsenkc = .f.endifif thisform.check5

16、.value = 1 thennxt = .t.elsenxt = .f.endif*判断是新记录保存还是修改记录newcommandIf newcommandthen &&= .t. 是新记录保存locate for =alltrim(thisform.text1.value)if found() then=messagebox(" 用户已经存在 ",0+48+0," 出错 ")thisform.text1.setfocusthisform.refreshreturnendif* 数据表 user 保存记录insert

17、user(name,password,department,kfgl,xsgl,cggl,kcgl,xtgl) (nname,npassword,ndepartment,nkf,nxs,ncg,nkc,nxt)into values=messagebox(" 保存完毕 ",0+48+0," 提示 ") elseupdateusersetpassword=npassword,department=ndepartment,kfgl=nkf,xsgl=nxs,cggl=ncg,kcgl=nkc,xtgl=nxt where name= nname=messag

18、ebox(" 修改完成 ",0+48+0," 提示 ")endif* 表单初始化 thisform.text1.enabled = .f. thisform.text2.enabled = .f. thisform.text3.enabled = .f. bo1.enabled = .f. thisform.check1.enabled = .f. thisform.check2.enabled = .f. thisform.check3.enabled = .f. thisform.check4.enabled = .f. thisform.check

19、5.enabled = .f.mand1.enabled = .t. mand2.enabled = .t. mand3.enabled = .t. mand4.enabled = .t. mand5.enabled = .t. mand6.enabled = .t. mand7.enabled = .t. mand8.enabled = .t. mand9.enabled = .t. mand10.enabled =.f. mand11.enabled =.f. mand12.enabled = .t.thisform.label5.visible = .f. thisform.text3.

20、visible = .f.thisform.dis_reccommandthisform.dis_recordnewcommand = .f.thisform.refresh 4.5 表单浏览按钮 Click 事件程序代码noFLOAT CLOSEwindowDEFINE WINDOWbrowsewin FROM 1,1 TO 30,80 nominimize nogrow nozoom systembrow fields name,department,kfgl,xsgl,cggl,kcgl browsewin noappend nomodify nodeleterelease window

21、 browsewin5、图书管理表单TSGL.SCX代码5.1自定义过程AUTO_BOOKI程序代码select bookset order to bookidgo bottomprivate autoid1,autoid2,autoid3,autoid4autoid1 alltrim(str(val(substr(alltrim(book.bookid),2,6)+1,6,0) autoid2 = len(autoid1)if autoid2 != 6 thenfor n = autoid2 to 5autoid1 = "0" + autoid1endforendifau

22、toid4 = "B" + alltrim(autoid1) thisform.text1.value = autoid45.2 新建按钮 Click 事件程序代码thisform.text2.enabled = .t. thisform.text3.enabled = .t. thisform.text4.enabled = .t. thisform.text5.enabled = .t. thisform.text6.enabled = .t. bo1.enabled = .t. thisform.text7.enabled = .t. thisform.text8.e

23、nabled = .t.mand1.enabled = .f. mand2.enabled = .f. mand3.enabled = .f. mand4.enabled = .f. mand5.enabled = .f. mand6.enabled = .f. mand7.enabled = .f. mand8.enabled = .f. mand9.enabled = .f. mand10.enabled =.t. mand11.enabled =.t. mand12.enabled = .t.thisform.text2.value = "" thisform.tex

24、t3.value = "" thisform.text4.value = "" thisform.text5.value = "" thisform.text6.value = "" bo1.value = "" thisform.text7.value = 0 thisform.text8.value = 0 thisform.auto_bookidthisform.text2.setfocusthisform.newcommand = .t.thisform.refresh5.3 删除按钮

25、Click 事件程序代码if reccount("book")=1 then=messagebox(" 只有一条记录 , 不能删除 ",0+16+0," 出错 ") returnelsenbookid = alltrim(thisform.text1.value)nbookname = alltrim(thisform.text2.value)mesbox=messagebox(" 是否删除 "+nbookid+" 号图书 ",4+48+0," 警告 ") if mesbox

26、=7 thenreturnelseuse book EXCLUSIVEdelete from book where bookid=nbookidpack=messagebox(nbookid+" 图书已经删除 ",0+48+0," 提示 ")endifendifthisform.dis_recordthisform.dis_reccommandthisform.grid1.recordsource = "book"thisform.refresh5.4 保存按钮 Click 事件程序代码if empty(thisform.text2.

27、value)=messagebox(" 请输入书名 ",0+48+0," 出错 ")thisform.text2.setfocusthisform.refreshreturnendifif empty(thisform.text3.value)=messagebox(" 请输入书号 ",0+48+0," 出错 ") thisform.text3.setfocusthisform.refreshreturnendifif empty(thisform.text4.value)=messagebox(" 请输

28、入出版社 ",0+48+0," 出错 ") thisform.text4.setfocusthisform.refreshreturnendifif empty(thisform.text5.value)=messagebox(" 请输入作者信息 ",0+48+0," 出错 ") thisform.text5.setfocusthisform.refreshreturnendifif empty(bo1.value)=messagebox(" 请选择图书类型 ",0+48+0," 出错 &quo

29、t;) bo1.setfocusthisform.refreshreturnendifif thisform.text7.value = 0=messagebox(" 请输入价格 ",0+48+0," 出错 ") bo1.setfocusthisform.refreshreturnendifPRIVATE nbookid,nbookname,nbookno,nbookphouse,nbookwriter,nbookcd,nbookc lass,nbookprice,nbookdiscountnbookid = alltrim(thisform.text1

30、.value) nbookname = alltrim(thisform.text2.value) nbookno = alltrim(thisform.text3.value) nbookphouse = alltrim(thisform.text4.value) nbookwriter = alltrim(thisform.text5.value) nbookcd = alltrim(thisform.text6.value) nbookclass = alltrim(bo1.value) nbookprice = thisform.text7.value nbookdiscount =

31、thisform.text8.value*判断是新记录保存还是修改记录If thisform.newcommand then&&newcommand = .t. 是新记录保存* 数据表 book 保存记录insert into book (bookid,bookname,bookno,bookphouse,bookwriter,bookcd,bookclass,b ookprice,bookdiscount) values (nbookid,nbookname,nbookno,nbookphouse,nbookwriter,nbookcd,nbook class,nbookpr

32、ice,nbookdiscount)=messagebox(" 保存完毕 ",0+48+0," 提示 ") elseupdate book set bookname=nbookname,bookno=nbookno,bookphouse=nbookphouse,bookwri ter=nbookwriter,bookcd=nbookcd,bookclass=nbookclass,bookprice=nb ookprice,bookdiscount=nbookdiscount where bookid=nbookid=messagebox(" 修

33、改完成 ",0+48+0," 提示 ") endif* 表单初始化 thisform.text2.enabled = .f. thisform.text3.enabled = .f. thisform.text4.enabled = .f. thisform.text5.enabled = .f. thisform.text6.enabled = .f.bo1.enabled = .f. thisform.text7.enabled = .f. thisform.text8.enabled = .f.mand5.enabled = .t.mand6.enabled

34、 = .t.mand7.enabled = .t. mand8.enabled = .t.mand9.enabled = .t. mand10.enabled =.f. mand11.enabled =.f. mand12.enabled = .t.thisform.dis_record thisform.dis_reccommandthisform.newcommand = .f.thisform.refresh5.5 浏览按钮 Click 事件程序代码DEFINE WINDOWbrowsewin FROM1,1 TO 30,160 noFLOATCLOSEnominimize nogrow

35、 nozoom system brow fields bookid,bookname,bookno,bookphouse,bookwriter,bookcd,bookclass,bo okprice,bookdiscount window browsewin noappend nomodify nodelete release window browsewin6、会员输入表单KFGL_HYSR.SC程序代码6.1自定义过程 AUTO_VIPID程序代码 select vip set order to vipid go bottomprivate autoid1,autoid2,autoid3,

36、autoid4autoid1 = alltrim(str(val(substr(alltrim(vip.vipid),2,6)+1,6,0) autoid2 = len(autoid1)if autoid2 != 6 thenfor n = autoid2 to 5 autoid1 = "0" + autoid1endforendif autoid4 = "V" + alltrim(autoid1) thisform.text1.value = autoid46.2 保存按钮 Click 事件程序代码* 输入数据校验if empty(thisform.t

37、ext2.value)=messagebox(" 请输入会员姓名 ",0+16+0," 出错 ") thisform.text2.setfocusreturnendifif thisform.optiongroup1.value = 0=messagebox(" 请选择会员性别 ",0+16+0," 出错 ") thisform.optiongroup1.option1.setfocusreturnelseprivate nvipsexstore "" to nvipsexif thisform

38、.optiongroup1.value = 1store "男 " to nvipsexelsestor "女 " to nvipsexendifendifif empty(thisform.text4.value)=messagebox(" 请输入会员联系地址 ",0+16+0," 出错 ") thisform.text4.setfocusreturnendifif empty(thisform.text5.value)=messagebox(" 请输入会员联系电话 ",0+16+0,&quo

39、t; 出错 ") thisform.text5.setfocusreturnendifif empty(thisform.text6.value)=messagebox(" 请输入邮政编码 ",0+16+0," 出错 ") thisform.text6.setfocusreturnendif* 保存数据private nvipid,nvipname,nvipadd,nvipphone,nvipcode nvipid = alltrim(thisform.text1.value) nvipname = alltrim(thisform.text2

40、.value) nvipadd = alltrim(thisform.text4.value) nvipphone = alltrim(thisform.text5.value) nvipcode = alltrim(thisform.text6.value)vipinsert into (vipid,vipname,vipsex,vipadd,vipphone,vipcode,vipsum,vipdiscount) values (nvipid,nvipname,nvipsex,nvipadd,nvipphone,nvipcode,0,0) =messagebox(" 保存成功 &

41、quot;,0+48+0," 提示 ")nmesbox=messagebox(" 是否打印会员卡? ",4+32+0," 会员卡打印 ") if nmesbox = 6select vip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphone,vip.vip code from vip where vip.vipid = nvipid into cursor vipcardselect vipcardreport form vipcard.frx to printuse in vip

42、cardendifthisform.auto_vipid mand2.click6.3 清除按钮 Click 事件程序代码thisform.text2.value = "" thisform.optiongroup1.value = 0 thisform.text4.value = "" thisform.text5.value = "" thisform.text6.value = ""thisform.text1.setfocusthisform.refresh7、 会员查询表单KFGL_HYCX.SC程序代码

43、7.1表单自定义过程 DIS_GRID程序代码thisform.grid1.readonly = .t.thisform.grid1.columncount = 8thisform.grid1.column1.header1.caption = " thisform.grid1.column1.width = 80 thisform.grid1.column1.movable = .f. thisform.grid1.column1.resizable = .f.会员编号 "thisform.grid1.column2.header1.caption = " th

44、isform.grid1.column2.width = 80 thisform.grid1.column2.movable = .f. thisform.grid1.column2.resizable = .f.thisform.grid1.column3.header1.caption = " thisform.grid1.column3.width = 80 thisform.grid1.column3.movable = .f. thisform.grid1.column3.resizable = .f.会员姓名 "会员性别 "thisform.grid1

45、.column4.width = 250 thisform.grid1.column4.movable = .f. thisform.grid1.column4.resizable = .f.thisform.grid1.column5.header1.caption = " thisform.grid1.column5.width = 80 thisform.grid1.column5.movable = .f. thisform.grid1.column5.resizable = .f.thisform.grid1.column6.header1.caption = "

46、 thisform.grid1.column6.width = 80 thisform.grid1.column6.movable = .f. thisform.grid1.column6.resizable = .f.thisform.grid1.column7.header1.caption = " thisform.grid1.column7.width = 80 thisform.grid1.column7.movable = .f. thisform.grid1.column7.resizable = .f.联系电话 "邮政编码 "累计购书金额 &quo

47、t;会员优惠折扣 "thisform.grid1.column8.header1.caption = " thisform.grid1.column8.width = 80 thisform.grid1.column8.movable = .f. thisform.grid1.column8.resizable = .f.thisform.refresh7.2 表单 Init 过程程序代码public ncombo1,ncombo2,ntext1,chsql,cxsql store "" to ncombo1,ncombo2,ntext1,chsql,c

48、xsqlthisform.optiongroup1.value = 0thisform.optiongroup1.enabled = .f.selectcursorvip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphone,vip.vip code,vip.vipsum,vip.vipdiscount from vip into hycx_temptable order by vip.vipidthisform.grid1.recordsource = "hycx_temptable"thisform.dis_gridt

49、hisform.refresh.or.7.3 表单添加条件按钮 Click 事件程序代码if empty(bo1.value) empty(bo2.value) .or. empty(thisform.text1.value)=messagebox(" 请输入条件 ",0+48+0," 出错 ")bo1.setfocusreturnendifif thisform.optiongroup1.value = 1 chsql = " AND "endifif thisform.optiongroup1.value = 2 chsql =

50、" OR "endif chsql = chsql + ncombo1 + ncombo2 + ntext1thisform.edit1.value = thisform.edit1.value + chsql if .not.empty(thisform.edit1.value) thisform.optiongroup1.value = 1 thisform.optiongroup1.enabled = .t. endif bo1.value = "" bo2.value = "" thisform.text1.value = &

51、quot;"chsql = "" bo1.setfocusthisform.refresh7.4 表单条件查询按钮 Click 事件程序代码if empty(thisform.edit1.value) =messagebox(" 请输入查询条件 ",0+16+0," 出错 ") mand1.setfocusthisform.refreshreturnendifcxsql = alltrim(thisform.edit1.value)thisform.grid1.recordsource = Null select vip.v

52、ipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphone,vip.vip code,vip.vipsum,vip.vipdiscount from vip where &cxsql into cursor hycx_temptable order by vip.vipidthisform.grid1.recordsource = "hycx_temptable" thisform.optiongroup1.value = 0 thisform.optiongroup1.enabled = .f. bo1.value =

53、"" bo2.value = "" thisform.text1.value = "" thisform.edit1.value = "" store "" to ncombo1,ncombo2,ntext1,chsql,cxsql& 会员修改表单KFGL HYXG.SC程序代码8.1 表单 Init 过程程序代码LPARAMETERS nParl select vipset order to vipid locate for vip.vipid = nPar1 thisform.tex

54、t1.value = vip.vipid thisform.text2.value = vip.vipname if vip.vipsex = " 男"thisform.optiongroup1.value = 1 elsethisform.optiongroup1.value = 2 endif thisform.text4.value = vip.vipaddthisform.text5.value = vip.vipphonethisform.text6.value = vip.vipcode thisform.refresh8.2 保存按钮 Click 事件程序代码

55、* 输入数据校验if empty(thisform.text2.value)=messagebox(" 请输入会员姓名 ",0+48+0," 出错 ")thisform.text2.setfocusreturnendifif thisform.optiongroup1.value = 0=messagebox(" 请选择会员性别 ",0+48+0," 出错 ")thisform.optiongroup1.option1.setfocusreturn elseprivate nvipsexstore "&q

56、uot; to nvipsexif thisform.optiongroup1.value = 1store "男 " to nvipsexelsestor " 女 " to nvipsexendifendifif empty(thisform.text4.value)=messagebox(" 请输入会员联系地址 ",0+48+0," 出错 ") thisform.text4.setfocusreturnendifif empty(thisform.text5.value)=messagebox(" 请

57、输入会员联系电话 ",0+48+0," 出错 ") thisform.text5.setfocusreturnendifif empty(thisform.text6.value)=messagebox(" 请输入邮政编码 ",0+48+0," 出错 ") thisform.text6.setfocusreturnendif* 修改数据private nvipid,nvipname,nvipadd,nvipphone,nvipcodenvipid = alltrim(thisform.text1.value) nvipnam

58、e = alltrim(thisform.text2.value) nvipadd = alltrim(thisform.text4.value) nvipphone = alltrim(thisform.text5.value) nvipcode = alltrim(thisform.text6.value)= nvipsex, vip.vipcodeupdate vip set vip.vipname = nvipname, vip.vipsex vip.vipadd = nvipadd, vip.vipphone = nvipphone, nvipcode where vip.vipid = nvipid =messagebox(" 修改已完成 ",0+48+0," 提示 ") thisform.release8.3 删除按钮 Click 事件程序代码nvipid = alltrim(thisform.text1.value)mesbox=messagebox(" 是否删除 "

温馨提示

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

评论

0/150

提交评论