巧妙实现BROWSE语句左右翻屏的方法
来源: 作者: 出处:综艺读书 2006-10-25
BROWSE是FoxPro中最强有力也是用途最广泛的性能之一。
|
|
|||
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 │学术委员会委员 │
│ ..... │ .. │..... │ .... │ ..... │
│ ..... │ .. │..... │ .... │ ..... │
│ ..... │ .. │..... │ .... │ ..... │
└────┴───────────┴───┴───────┴─────────┘
按F5键后又能切换为第一屏。
泤程序如下:
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进入讨论组讨论。
相关图文阅读
频道图文推荐
相关专题
最新技术文档
·用FoxWeb在网上快速发布你的FOXPRO数据库 11-03
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容




