回 帖 发 新 帖 刷新版面

主题:请大家帮我看看程序出了什么问题!!!

本人最近在上会计电算化,下面是老师布置的作业,其中的退出命令按钮本人不知道怎么设置可以不出现提示框而直接退出!
望各路高人指教!
kmwj.bdf
kmdm c 10
kmmc c 20

kmhm.prg
clea
@10,20,20,80 box 
@8,35 say "科  目  代  码  录  入" font "华文彩云" ,14 style "b"
@12,25say "科目代码:"
@14,25say "科目名称:"
retu


kmlr.prg
set talk off
sele 1
use kmwj
do kmhm
vkmdm=space(10)
vkmmc=space(20)
@12,35 get vkmdm picture "9999999999" valid dmjy()
@14,35 get vkmmc  valid mcjy()
choice=0
quitit=.t.
@16,35 get choice pict "@*h 保存;退出"size 1.8,7.5,1 valid zbutton()
read cycle valid quitit

***************************************************************
*科目代码检验
***************************************************************
func dmjy
lenkm=len(alltrim(vkmdm))
if lenkm=0
   messagebox("请输入科目代码",48)
   retu 0
else
   go top 
   loca for kmdm=vkmdm
   if not eof()
      messagebox("重码",48)
      retu 0
      endi
   if lenkm=4 or lenkm=6 or lenkm=10
   else 
      messagebox("科目需满足4-2-2-2结构",48)   
      retu 0
   endif
   firstkmdm=subs(vkmdm,1,1)
   if firstkmdm="1"or firstkmdm="2" or firstkmdm="3" or firstkmdm="4" or firstkmdm="5"
   else
      messagebox("科目代码首位需满足1-5",48)     
      retu 0
   endi
endi
do case
   case  lenkm=6
         loca for alltrim(kmdm)=subs(vkmdm,1,4)
         if eof()
            messagebox("此科目的上级科目不存在,48")
            retu 0
          endi  
   case  lenkm=8
         loca for alltrim(kmdm)=subs(vkmdm,1,6)
         if eof()
            messagebox("此科目的上级科目不存在,48")
            retu 0
          endi  
   case  lenkm=10
         loca for alltrim(kmdm)=subs(vkmdm,1,8)
         if eof()
            messagebox("此科目的上级科目不存在,48")
            retu 0 
         endi
endc


****************************************************
* 科目名称校验
***************************************************
func mcjy
lenkmmc=len(alltrim(vkmmc))
if lenkmmc=0
   messagebox("请输入科目名称",48)
   retu 0
else
    go top
    locate for kmmc=vkmmc
    if not eof()
       messagebox("科目名称重复",48)
       retu 0
     endif
endif      
   
                 
********************************************************
*按钮设置
**********************************************************
func zbutton
do case 
   case choice=1
        append blank
        repl  kmdm with vkmdm,kmmc with vkmmc
        quitit=1
        vkmdm=space(10)
        vkmmc=space(20)
        show gets
        retu quitit 
   case choice=2
        quitit=.f .
        retu quitit
        clea read
endc
[em2]

回复列表 (共3个回复)

沙发

这个编程和我们学的差不多啊,不过我们学的还要多点

板凳

.....
.....
.....
        retu quitit 
   case choice=2
        quitit=.f .
        retu quitit  &&&r把这里改能 clear events 
                     &&&这里加一个  quit
        clea read
endc
肯定退出 ,哈哈

3 楼

set safty off

我来回复

您尚未登录,请登录后再回复。点此登录或注册