当前位置: 网学 > 设计下载 > VFP毕业设计 > 正文

基于VFP的资料管理系统

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 佚名 来源: 网络 发布时间: 13/05/10

网学网为需要VFP毕业设计的朋友们搜集整理了基于VFP的资料管理系统相关资料,希望对各位网友有所帮助!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

4.3.1要使鼠标指针移动到按钮上方时鼠标指针发生变化,需要在按钮的“MouseMove”事件中添加代码。

*————修改控件上鼠标指针形状

LPARAMETERS nButton, nShift, nXCoord, nYCoord

This.MousePointer =  99                    &&————使用自定义的鼠标指针

This.MouseIcon =  "h_point.cur"             &&————鼠标指针文件

4.3.2 创建可视化类

单击【首记录】按钮时,只需要将记录指针移动到表的第一条记录即可,按钮的“Click”事件代码如下:

GO TOP             &&到首记录

THISFORM.REFRESH   &&刷新表单

单击【上记录】按钮时,首先判断记录指针是否位于第一条记录,如果是,则弹出警告,否则将记录指针向前移动一个位置,该按钮的“click”事件代码如下:

*——如果到了数据表首部

IF BOF() .OR. RECNO() = 1

   MessageBox("已到首记录",48,"移动记录")

ELSE

*——如果数据指针不位于数据表首部

   SKIP-1

ENDIF

*——刷新表单

THISFORM.REFRESH

单击【下记录】按钮代码:

*——如果记录指针位于数据表末尾

IF EOF() or RecNO() = RecCount()

   MessageBox("已到末记录",48,"移动记录")

*——如果记录指针不位于数据表末尾

ELSE

   *——记录指针下移                   

   SKIP

ENDIF

*——刷新表单

THISFORM.REFRESH()

单击【末记录】按钮代码:

GO BOTTOM               &&到数据表末尾

THISFORM.REFRESH       &&刷新表单

“MyMove”类的“Refresh”事件代码如下:

*——如果数据表为空或者只有一条记录

IF BOF() .AND. EOF() .OR. RECCOUNT()<=1

   THIS.Cmdtop.ENABLED=.F.

   THIS.Cmdpre.ENABLED=.F.

   THIS.Cmdnxt.ENABLED=.F.

   THIS.Cmdbtm.ENABLED=.F.

ELSE

   *——如果在记录指针在数据表的末尾

   IF RECNO()=RECCOUNT()  .OR. EOF()

       THIS.Cmdtop.ENABLED=.T.

       THIS.Cmdpre.ENABLED=.T.

       THIS.Cmdnxt.ENABLED=.F.

       THIS.Cmdbtm.ENABLED=.F.

   ELSE

   *——如果记录指针在数据表的首部

       IF RECNO()=1 .OR. BOF()

           THIS.Cmdtop.ENABLED=.F.

           THIS.Cmdpre.ENABLED=.F.

           THIS.Cmdnxt.ENABLED=.T.

           THIS.Cmdbtm.ENABLED=.T.

       ELSE

           *——如果记录指针不在数据表的首部也不在尾部

           THIS.Cmdtop.ENABLED=.T.

           THIS.Cmdpre.ENABLED=.T.

           THIS.Cmdnxt.ENABLED=.T.

           THIS.Cmdbtm.ENABLED=.T.

       ENDIF

   ENDIF

ENDIF

4.3.3“命令按钮工具栏”类

    【推出】按钮的“Click”事件代码:

LOCAL YN

YN=Messagebox("确定退出",4+32,"资料管理系统")

IF YN=6

THISFORM.Release

ENDIF

6.2 创建系统主表单

6.2.1 创建主程序

    *——系统环境设置

CLEAR

CLEAR ALL

SET ESCAPE OFF          &&  禁止运行的程序在按ESC键被中断

SET TALK OFF            &&  关闭命令显示

SET SAFETY OFF          &&  覆盖时不要确认

SET STAT BAR OFF        &&  将状态栏关闭

SET SYSMENU OFF         &&  可关掉VFP系统菜单区域

SET SYSMENU TO          &&  关闭系统菜单

SET CENTURY ON          &&  显示四位年代

SET DATE ANSI           &&  指定日期表达式的显示格式为yy.mm.dd

*——避免多次运行程序

*——声明API函数“FindWindow

DECLARE Integer FindWindow IN USER32.DLL String lpClassName,String lpWindowName

lpWindowName="资料管理系统"

IF .NOT. FindWindow(0,lpWindowName)==0 &&寻找窗口标题

   =MESSAGEBOX("程序已经运行了",48,"资料管理系统")

   QUIT

ENDIF

_Screen.Caption=lpWindowName

*——声明全局变量

PUBLIC cCurUser &&  声明全局变量,用来保存系统中的登录用户

PUBLIC bDataAdmin,bDataBrow,bUserAdmin,bUserBrow,bLendAdmin,bLendBrow,bSysUser,bUserPurv,bAct

*——调用登录表单

DO FORM Logon           &&  显示登录表单

*——进入事物处理

READ EVENTS             &&  进入事务处理

6.2.2 创建“AutoAdd程序

    *——作用:使“000000XX”形式的编号自动加1

FUNCTION AUTOADD(nCode)

    *——获取字符串长度

    nLen=Len(nCode)

    *——将字符型转换为数值型,即获取非0部分的数值

    nCode = VAL(nCode)

    *——非0部分数字加1

    nCode = nCode + 1

    *——转换为字符型

    nCode = ALLTRIM(STR(nCode))

    *——获取转换后的字符串的长度

    nLength = LEN(nCode)

    *——在数字之前加上前置“0

    nZero="0000000000"

    nCode = SUBSTR(nZero,1,nLen-nLength) + nCode

    *——返回结果

    RETURN nCode

ENDFUNC

 


 

 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号