微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题FOXBASE+菜单设计技巧一例
栏目软件操作与技巧
作者湖南 孟爱平
发布1993-04-09
  程序第30行和47行建立了一个s1内存变量,用于存放屏幕移动字幕的内容;第50行至58行为一循环;第45行建立i内存变量,作为实现INKEY()函数循环条件。运行时,当不按任何键时,INKEY()函数不断返回ASCII码0值,使循环条件成立,从而保证循环内字幕移动和时钟显示得以实现;51至56行用于保证移动字幕和时钟每秒变换一次。当程序运行时,首先在屏幕上显示一个固定的菜单,这与我们通常设计的菜单无多大区别,菜单显示完毕,程序进入50至58行组成的循环,在未接受到任何键盘输入时,循环条件成立,并不断对系统时钟以秒为单位进行检测,目的是防止字幕移动过快,每当经过一个整秒段,利用SUBSTR()函数将变量S1的前两个字符移到该变量末尾(因一个汉字占两个ASCII码字符位置,如为西文则只需移动一个字符),并将字幕和时钟送到指定位置显示,使字幕和时钟每秒变换一次,从而实现菜单的动感。一旦按下任一键,循环条件不成立而退出循环,进入菜单选择。程序第61、62行为按回车键时用按“0”键来处理,用以退出程序。其余部分与常规程序设计类似。
  附:源程序清单。(湖南 孟爱平)
  7:set talk off
  8:close data
  9:CLEAR
  10:set devi to scre
  11:set scor off
  12:set stat off
  13:set cata off
  14:bb1=chr(1)+chr(2)+chr(3)+chr(5)+chr(8)+chr(7)+chr(6)+chr(4)
  15:DO WHILE.t.
  16:SET COLOR TO G/,R/,N
  17:clear
  18:?"今天日期:"+str(year(date())-1900,2)+[年]+str(mont(date()),2)+[月]+str(day(date()),2)+[日]
  19:?[]+cdow(date())
  20:?"湖南省石化厅"
  21:SET COLOR TO R/,R/
  22:@4,11,6,64 BOX"&BB1."
  23:SET COLOR TO+6/5
  24:@5,13say[湖南省石油化工贸易公司工资管理系统]
  25:SET COLOR TO G/,R/
  26:?""
  27:?""
  28:?
  29:?"化工厅人教处微机室"
  30:sl=[省石油化工贸易公司]
  31:?"1990.4"
  32:?""
  33:?""+TIME()
  34:SET COLOR TO W/B
  35:@row()+1,20 SAY"本系统为您提供如下服务"
  36:SET COLOR TO+1
  37:@row()+1,20 SAY REPL(CHR(2),36)
  38:SET COLOR TO 2
  39:@row()+2,8 SAY "1___人员变动2___工资调整3___工资输入4___工资计算"
  40:@row()+2,8 SAY "5___打印6___查询7___文件管理0___退出系统"
  41:al=[0]
  42:@row()+2,10 say"请输入相应编号:"
  43:set color to br*/
  44:@20,30 say[0]
  45:i=0
  46:ti=time()
  47:sl=sl+sl+sl+sl
  48:set color to gr+/G
  49:@24,0 say s1
  50:do while i=0
  51:if time()<>ti
  52:ti=time()
  53:sl=subs(s1,3,78)+subs(s1,1,2)
  54:@12,34 say time()
  55:@24,0 say s1
  56:endif
  57:i=inkey()
  58:enddo
  59:set color to BR*/
  60:@20,30 say chr(i)
  61:if i=13
  62:A1=[0]
  63:else
  64:al=chr(i)
  65:endif
  66:set color to G/
  67:DO CASE
  68:CASE A1="1"
  69:DO RYBD
  70:CASE A1="2"
  71:DO GZDZ
  72:CASE A1="3"
  73:DO GZSR
  74:CASE A1="4"
  75:DO GZJS
  76:CASE A1="5"
  77:DO GZDY
  78:CASE A1="6"
  79:DO GZJX
  80:CASE A1="7"
  81:DO wjgl
  82:CASE A1="0"
  83:set scor on
  84:set func7 to [doGZ;]
  85:CLEAR
  86:@3,18 SAY"湖南省石油化学工业厅工资管理应用软件运行结束"
  87:SET COLOR TO BG/,R/,n
  88:@6,35 SAY"再见!"
  89:set color to g/n,w/b
  90:CLOSE DATA
  91:set cata TO GZ
  92:set stat on
  93:set talk on
  94:RETURN
  95:END CASE
  96:@10,0 CLEAR
  97:END DO