翰文个人计算机学习网
  • 翰文快讯
  • 翰文PC快讯
  • 综合软件区
  • 操作系统
  • 注册表解析
  • Windows系列
  • Unix/Linux
  • 其他系统
  • 应用软件
  • 微软MS Office
  • WPS Office
  • 多媒体软件
  • 图像处理
  • Photoshop
  • Painter
  • Illustrator
  • CorelDRAW
  • 三维空间
  • AutoCAD
  • 3DMAX
  • 3DMAYA
  • 硬件资源
  • 攒机指南
  • 硬件超频
  • 维修指南
  • 网络资源
  • 在线通讯
  • 网上冲浪
  • 浏览器中心
  • 网络故障解析
  • 病毒资料
  • 病毒通报
  • 病毒防治
  • 病毒常识
  • 黑客技巧
  • SQL/MySQL
  • Oracle
  • Delphi
  • 编程资源
  •  C/C#/C++/VC++/VC.NET
  •  Basic/VB/VB.NET/VBScript
  •  FoxBasic/FoxPro/VF/VF.NET
  •  Java/JavaScript
  • PowerBuilder
  • 热门词:
  • 翰文计算机学习网首页
  • >
  • FoxBasic/FoxPro/VF/VF.NET
  • >
  • 在VFP中用伪代码开发数据表维护屏幕
  • 在VFP中用伪代码开发数据表维护屏幕

  • 资源来源:
  • HW-PCS.ORG
  • 资源作者:
  • 翰文计算机学习网
  • 人气指数:
  • [5046]
  •   为了保证数据表中存储数据的准确与及时,并提供正确和及时的查询,必须对数据表进行人工维护(包括数据录入),因此必须开发数据表维护屏幕作为人机对话的界面。而数据表维护屏幕要求有新增(增加新记录)、编辑(记录修改)、删除(记录删除)以及漫游(指记录指针上移、下移、到顶、到底和各种查找记录定位)功能。同时必须对用户输入的数据进行合法性检查,特别是对关键字的合法性。这些需求给开发数据表维护屏幕增加了复杂性,为此笔者使用伪代码来解决上述问题。数据表维护屏幕的代码虽然比较复杂,但它们都有很强的共性,可以预先编写一套可被各种不同的数据表维护屏幕套用的伪代码,以后编写数据表维护屏幕代码时就不必从零开始,而是从伪代码开始。伪代码虽然不能被直接编译运行,但大部分开发人员都能把伪代码改写成正式代码。

      下面介绍在Visual Foxpro中使用伪代码开发数据表维护屏幕的方法。伪代码由一个Custom类和一些Procdure构成。为了方便套用伪代码,尽可能地把Form中的嵌入代码外移,在嵌入代码中使用do...下面的伪代码在使用时绝大部分无需修改,仅是需修改一小部分,而这一小部分又非常简单。下面是使用伪代码设计数据表维护屏幕的具体步骤。

      准备工作

      1.先建立如下一个工作面表格

    编号工作面名称主索引名称注释
      1
      2
      3
      4
      .
      .
      .
      16

      这个表格适用于整个应用程序。这里所说的工作面与平时所说的有些不一样,它把处于同一工作面但不同主索引的情况也作为不同的工作面,使用不同的编号。2.根据工作面表格改写以下伪代码,使之成为可以编译与运行的正式代码。

    { 伪 代 码 开 始}
    public theWorkStat
    theWorkStat=CreateObject(“WorkStat”)

    * *== 以 下 是 工 作 状 态 类== * *
    define class WorkStat as custom
    curWS=1
    declare Ai[16],Or[16]
    * * 以 下 是 工 作 状 态 定 义
    * *1
    {
    Ai[1]=“A1” & & 工 作 面
    Or[1]=“O1” & &ORDER 序
    Ai[2]=“A2” & & 工 作 面
    Or[2]=“” & & 自 然 序, 无 主 索 引
    ...
    * *16
    Ai[16〗=“A16”
    Or[16〗=“O16”
    }

    func Get
    retu curWS
    endfunc

    proc Set
    para p
    sele (Ai[p])
    set order to (Or[p])
    curWS=p
    endproc

    func KeyExist
    para pws,pk
    local n,y,rec
    set exact on
    n=this.Get();
    this.Set(pws)
    if eof().or.bof()
    rec= -1
    else
    rec=recno()
    endif
    seek pk
    if found()
    y=.t.
    else
    y=.f.
    endif
    if rec!= -1
    go rec
    endif
    this.Set(n)
    retu y
    endfunc

    func Find
    para pws,pk,IsExact
    local n,y,rec

    if IsExact
    set Exact on
    else
    set Exact off
    endif

    n=this.Get();
    this.Set(pws)
    if eof().or.bof()
    rec= -1
    else
    rec=recno()
    endif
    seek pk
    if found()
    y=.t.
    else
    y=.f.
    if rec!= -1
    go rec
    endif
    this.Set(n)
    endif
    retu y
    endfunc
    endfine
    { 伪 代 码 结 束}

      在程序的适当入口处运行这段代码,运行之后,当要用的数据表被打开时就可以调用以下对象:

      x=theWorkStat.Get()取得当前工作面号;
      theWorkStat.Set(n)把当前工作面设置成n号;
      x=theWorkStat.KeyExist(n,key)测试在n号工作面中是否存在关键字key,存在回送T;不存在回送F,此函数不改变现状;
      x=theWorkStat.Find(n,key,IsExact)在n号工作面中查找关键字key。查到则定位之并回送T;查不到则不改变现状并回送F;IsExact为T或F决定是否按精确匹配方式查找。

      以上这些对象方法在以后的伪代码中也可以由用户根据需要使用。

      判定数据表维护屏幕模式

      笔者把数据表维护屏幕分为以下三种:

      1.新增

      在该下只有新增(增加新记录)功能,主要用于数据录入(也有不少数据录入要求对已录入的内容有返回修改的功能,这就必须使用新增+编辑)。

      2.编辑

      在该下只有编辑、删除与漫游功能而无新增功能。

      3.新增+编辑

      在该下有新增、编辑、删除与漫游功能,可以说是全功能的。这种使用面最广,占所有数据表维护屏幕的一半以上。

      改写伪代码

      根据选定的改写伪代码,使之成为可以编译与运行的正式代码。

      经过上述步骤,一个数据表维护屏幕设计的有关代码就基本完成。

    感谢您对翰文计算机学习网的支持

  • 关于我们
  • 联系方式
  • 成功案例
  • 技术报价
  • RSS索引
  • 网站地图
  • 翰文电脑学习网
  • MSN:LNDDYGYC9@HOTMAIL.COM Powered by 翰文个人计算机学习网 版权所有,未经允许不得转载
    ICP备案号码:[沪ICP备12020678号] Copyright 2008-2020 HW-PCS.ORG, All Rights Reserved.