您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VFP >> 辅导 >> 正文    
  VFP中BROWSE语句的妙用 【注册男护士专用博客】          

VFP中BROWSE语句的妙用

www.nanhushi.com     佚名   不详 

  运用BROWSE语句进行查询时,常常会碰到这样的情况:由于字段太多或者太长,一屏往往放不下。如果要查超过一屏的部分,只能用回车键一个字段一个字段地移,当后面的字段移入屏幕时,前面的字段就移出屏幕。但用户有时可能需要在屏幕上保持某些信息,例如姓名,当其它字段移入或移出屏幕时它们应该始终出现在屏幕上。

      BROWSE提供了LOCK选项完成这一功能。但这样一来,BROWSE窗口被分割成左右两部分,不好看。而且,只能一个字段一个字段地移,很不方便。

      笔者设计了一种方法,能巧妙实现BROWSE语句的左右翻屏。

      实现方法是定义二个功能键F5、F6,F6进行左移,F5进行右移,当功能键被触发时执行KEYBOARD CHR(23)语句,相当于按了CTRL+W键,退出当前BROWSE,然后再重新定义另一个BROWSE。

      用上述方法完全退出BROWSE,避免了BROWSE的嵌套问题。否则,切换来切换去,嵌套一深,容易出问题。

      上述方法操作方便,而且对用户是完全透明的。

下面举一例子说明。

      人事档案数据库包括姓名、性别、出生日期、职务、职称、党派、籍贯、所属部门、家庭地址、邮编、联系电话、备注等数据项,查询时一屏显示不下,于是分两屏显示,

第一屏为:
┌────┬──┬────┬────┬─────┬───┬────┬─────┐
│ 姓 名 │性别│出生日期│ 职 务 │ 职 称 │ 党派 │ 籍 贯 │ 所属部门 │
├────┼──┼────┼────┼─────┼───┼────┼─────┤
│ 张 三 │ 男 │70.01.28│ │ 工程师 │共产党│上海 │软件一室 │
│ 李 四 │ 女 │58.12.01│副所长 │高级工程师│ │广东广州│ │
│ 王 五 │ 男 │44.03.12│室主任 │副研究员 │民盟 │北京 │软件二室 │
│ ..... │ .. │ ...... │ .... │ ..... │ ... │.... │....... │
│ ..... │ .. │ ...... │ .... │ ..... │ ... │.... │....... │
│ ..... │ .. │ ...... │ .... │ ..... │ ... │.... │....... │
└────┴──┴────┴────┴─────┴───┴────┴─────┘
按F6键后切换为第二屏,第二屏为:
┌────┬───────────┬───┬───────┬─────────┐
│ 姓 名 │ 家庭地址 │邮 编 │ 联系电话 │ 备 注 │
├────┼───────────┼───┼───────┼─────────┤
│ 张 三 │广州市天河路34号 │510075│87769602-3806 │全国劳动模范 │
│ 李 四 │广州市天河路34号311房 │510075│87769602-3706 │ │
│ 王 五 │广州市解放路14号301房 │510043│88888888 │学术委员会委员 │
│ ..... │ .. │..... │ .... │ ..... │
│ ..... │ .. │..... │ .... │ ..... │
│ ..... │ .. │..... │ .... │ ..... │

泤程序如下:

USE person
@0,26 SAY "人员基本情况浏览"
DEFINE WINDOW CONTENT FROM 2,0 TO 22,79 FOOTER " Esc--退出,F5--左翻,F6--右翻 "
ACTIVATE WINDOW content

ON KEY LABEL F5 DO pan WITH "F5"
ON KEY LABEL F6 DO pan WITH "F6"

con_var=1
DO WHILE .T.
DO CASE
CASE con_var=0
EXIT
CASE con_var=1
DO right
CASE con_var=2
DO left
ENDCASE
ENDDO

NOTE 定义一个控制变量con_var,con_var为1时为预设状态,显示第一屏;
NOTE 按F6键时con_var为2,显示第二屏;
NOTE 按ESC键时con_var为0,退出。

ON KEY LABEL F5
ON KEY LABEL F6
USE
RELEASE WINDOW content
RETURN


PROC pan
PARA con
KEYBOARD CHR(23)
DO CASE
CASE con="F5"
con_var=1
CASE con="F6"
con_var=2
ENDCASE
RETURN

PROC left
BROW FIELDS name:H="姓名",sex:H="性别",birth:H="出生日期",leader:H="职务",;
profess:H="职称",party:H="党派",native:h="籍贯",dept:h="所属部门";
IN WINDOW content NODELETE NOAPPEND NOEDIT COLOR SCHEME 10
IF LASTKEY()=27
con_var=0
ENDIF
RETURN

PROC right
BROW FIELDS name:H="姓名",address:H="家庭地址",zip:H="邮编",telephone:H="电话";
note:H="备注";
IN WINDOW content NODELETE NOEDIT NOAPPEND COLOR SCHEME 10
IF LASTKEY()=27
con_var=0
ENDIF
RETURN

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。