微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题用Foxpro设计动态安装程序
栏目软件操作与技巧
发布1995-06-23
  本程序运行时,屏幕中央的“安装窗口”中有“正在安装:'和“系统安装到:”两项提示,分别以文件名和百分比显示目前正在安装的内容和已经安装的比例。同时,还有一条不断延长的光带,动态显示安装的进度。
  安装前,先建一个安装文件数据库(install.dbf),该库只需一个字段(wjm,字符型,12个字节),然后一条记录一个文件名,把需要安装的文件输入库中。安装时,程序便按库中记录把提到的文件逐一安装。屏幕显示“正在安装:”的即是wjm字段的内容;而安装比例是当前记录与总记录数之比(即:bfs=dqjl/zjls)。动态光带长度是以安装比例乘以光带总长(程序中是50)获得,并以显示该长度的空格来实现。即:
  xs=(dqj1/zjls)*50
  @ x,y say space(xs)
  本程序如由批处理文件install.bat先拷贝到c:盘再运行,速度将更快,不过,这需在程序最后重新将它删除。下面是笔者为自己的“唐诗园”设计的安装程序。[程序清单]
  set talk off
  set start off
  clea
  set color to 7+/5,7+/5
  define window win51 from 9,12 to 14,60 doub shad color 7+/5
  acti window win51
  @ 1,2,3,45 box
  @ 0,5 say ' TSY安装选择'
  DATAD=" "
  @ 2,4 say ' 请输入源盘所在驱动器(A/B):'get DATAD pict "!"
  read
  @ 0,5 say ' TSY安装目标盘选择'
  d=" "
  @ 2,4 say ' 请输入目标盘(C/D/E/F/G):' get d pict "!"
  READ
  CLEAR WINDOWS
  IF UPPE(D)="C" &&&判断目的盘,并建立和进入子目录。(E/F/G:已省略)
  !C:
  !MD TSY
  !CD TSY
  ENDIF
  IF UPPE(D)="D"
  !D:
  !MD TSY
  !CD TSY
  ENDIF
  DISK=DATAD
  TD=d
  define window win51 from 10, 10 to 16,70;
  title '“唐诗园”系统安装程序'doub shad color 7+/5
  acti window win51
  @ 2,3,4,55 box
  @ 1,5 say '正安装:  系统安装进行到:'
  use &DISK:install  &&&打开安装文件数据库:install.dbf
  do while !eof()  &&&进入循环,将库中文件一一拷贝
  zjls=recc()  &&&总记录数
  dqj1=recn()  &&&当前记录
  bfs=dqj1/zjls
  bfb1=round(bfs,2)*100 &&&计算安装比例
  xs=ROUND((bfs*50),2)  &&&计算显示光带的长度
  wjml=upper(wjm)
  @ 1,15 say wjml  &&&显示正在安装的文件
  copy file &DISK:&wjml to &td:&wjml
  set colo to 6/7*
  @ 3,5 say space(xs)  &&&显示光带
  set color to +7/5,5/5
  @ 1,50 say ltrim(str(bfb1,3)+"%") &&显示安装比例
  skip
  enddo
  @ 3,4 say "[唐诗园]系统安装完毕,任意键结束。 "
  wait "
  clear windows
  ! CD\
  ! DEL C:INSTALL.*  &&&删除由批处理拷贝到c:盘的安装文件
  quit