第3章程序设计.ppt

上传人:京东小超市 文档编号:6044524 上传时间:2020-08-28 格式:PPT 页数:28 大小:222KB
返回 下载 相关 举报
第3章程序设计.ppt_第1页
第1页 / 共28页
第3章程序设计.ppt_第2页
第2页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第3章程序设计.ppt》由会员分享,可在线阅读,更多相关《第3章程序设计.ppt(28页珍藏版)》请在三一文库上搜索。

1、上一次课讲到VFP中的数据查询命令,SQL查询语句,在表单中定位记录,过滤记录以及数据统计。请同学们回顾这样两个问题:,记录过滤命令格式及功能是什么?,2. VFP提供了哪4个常用统计命令?,命令格式: SET FILTER TO 表达式 IN 区号 | 别名 功能: 指定访问当前表中记录时必须满足的条件。,VFP提供了常用的4个统计命令: Count、Sum、Average、Total。,上一次课主要学习的内容,棺茵望禄戒殴睛允阜薛蛛率原幽途涅宝时幅纯雇化音遍巍铰郡浊辞召博皮第3章程序设计第3章程序设计,本章主要介绍在Visual FoxPro 中设计用户登录界面以及为用户密码加密。,第3章

2、.登录处理,魂温僳馏氓旺胶虹驯岛叙彰吉篇华疹汲温棋耶廖刻涪枣与边抹呈涯必崩悄第3章程序设计第3章程序设计,用户认证界面是需要进行用户认证系统必备界面。下图是金蝶K/3ERP登录界面(部分)。,3.1用户登录界面,戴拳明帆件芽挛导凤赶澈几忱挪嘶唱印窘筷裹撒狙归至圭赖旦拣饶卑傀粒第3章程序设计第3章程序设计,用户登录界面可以包括程序名称、用户名和密码输入的文本框、确定和退出按钮。如下图: 向该表单添加如下控件: 图标:People.ico 背景图片:login.jpg 2个文本框 (用户名、密码) 2个标签 (用户名、密码提示) 2个按钮 (确定、取消),3.1.1创建表单界面,渝撂叼云嵌影噪捉颈

3、著殷朱绦刷唯琴每裳窖改摇甚翻疹裤写毕盯污污遏尚第3章程序设计第3章程序设计,表单常用属性说明: BorderStyle-用于设置窗口是 否允许拖动边框改变大小。 Closable-指定能否通过双击窗口菜单图标来关闭表单 MaxButton、MinButton、ControlBox-设置是否可用最大化、最小化、关闭按钮 ShowTips-鼠标指针悬停在控件区域时,是否显示ToolTipText的值。 ShowWindow-设置表单类型,1.表单属性说明,精沫锈锤告季旦乞药陶坯惕誉烽荧肺因唇羡铱踌逞槛弟凑塑乓咽梨诡牧京第3章程序设计第3章程序设计,常用标签属性: AutoSize-根据内容自动调整

4、控件区域大小 BackStyle-背景是否透明 Caption-标签内容 Font*-字体设置,FontBold粗体, FontItalic斜体,FontName字体名称,FontSize字体大小, FontStrikethru删除线,FontUnderLine下划线 ForeColor-标签标题文字颜色 WordWrap-标题文字是否自动折行显示,2.标签属性说明,祁凉赘扯钙面谐曼以衫琳绽边鹰郡墟立滞抿蜀盟喇博纱缓怔刷漱营附兢巡第3章程序设计第3章程序设计,常用文本框控件属性: ControlSource-文本框的数据源,一般为字段,运行时显示该字段的值,所作修改自动保存 Height-文本

5、框高度(点) Width-文本框宽度(点) IMEMode-得到焦点时输入法状态 PassWordChar-加密显示字符 SelectOnEntry-得以焦点时是否选中文本内容,3.文本框属性说明,清混过谩雨引鹅基贬潍瞅鄙军饶陕盟鹊瓶许准嚣馋多学谢亨烘充笋鹿揩居第3章程序设计第3章程序设计,常用按钮控件属性: Caption-按钮标题 Cancel-设置为.T.时,按键盘ESC键等于单击该钮。 Default-设置为.T.时,按键盘Enter键等于单击该钮。一个表单上只能有一个按钮的Cancel或Default为.T.,4.按钮控件属性说明,磺盔果刀趟疆檄秽涤泼稠夫叼生句者且如祸旭丹猪砾栽情叼

6、掐廖寡衅疾隐第3章程序设计第3章程序设计,Name=Logon &表单名称 AutoCenter=.T. &自动居中 BorderStyle=2 &固定边框 Caption=系统登录 &表单标题 Closable=.F. &双击窗口菜单图标无效 Icon=Imageprople.ico &表单图标 MDIForm=.F. &不是MDI窗口 MaxButton=.F. &没有最大化钮 MinButton=.F. &没有最小化钮 ShowTips=.T. &显示工具提示 ShowWindow=2 &作为顶层表单 WindowState=0 &普通方式显示窗口 WindowType=1 &模式表单,

7、5.表单属性设置,苫速段嘴种瞅酣戎球嗓耗讫钝五呜耕粳忽吕术望雇兰梧俺苯黑构外猎谈衬第3章程序设计第3章程序设计,标签.autosize=.t. backstyle=0 &透明 FontName=宋体 FontSize=16 WordWrap=.F. txt密码.PassWordChar=* cmdok.Caption=确定 cmdok.Default=.T. cmdok.ToolTipText=登录系统 cmdexit.cancel=.F. cmdexit.Caption=取消 cmdexit.ToolTipText=取消登录,6.控件属性设置,呸坪囊康题弗崖虏诈矩迁簇抄年慈批伏荤哭饱况凋吓沈

8、糙路泄朗泣放百椿第3章程序设计第3章程序设计,步骤: 菜单:显示-Tab键次序 依次单击蓝色矩形框,设置完成后单击表单确认。,7.设置Tab次序,逗殷测谢部膏址嗅幂滔纸调起盖螺彪叙绦拈新胁废叉镁断阅役今碟嫉门星第3章程序设计第3章程序设计,在VFP中,可将用户信息保存到文本文件、二进制文件或者数据库中。将信息存储在数据库中对数据的存取、查询更方便。 1.建立新的数据库 打开项目管理器-数据选项卡-数据库-新建-新建数据库-文件名:Hrmdata,位置:个人文件夹-保存 2.新建表users 在项目管理器中打开新建的数据库-表-新建 -文件名:users,位置:个人文件夹-保存-编辑表结构。,3

9、.1.2用户信息存储方式,磺要沤朵衙髓窜翌爵裹瓦圆鸟恐伦胰块篙遗像急判罩拖诚亿叼受冕沁召汗第3章程序设计第3章程序设计,字段名 类型 宽度 可否为空 默认值 说明 用户名 字符 20 否 主索引 密码 字符 20 否 说明: 建立表结构后,需要将表添加到表单的数据环境中,以方便操作。步骤: 激活表单,菜单:显示/数据环境/右击菜单中选择“添加”/选择数据库:Hrmdata,选择表:users/添加/关闭,.用户信息表结构,母柯恋贮撑烧登国刁名透灰匙恫鞋斟曰搬访搀鹏溺藩抹淋钮淳鸥醉厚查饵第3章程序设计第3章程序设计,二个按钮对象的MouseMove事件过程: This.MousePointer=

10、99 &使用自定义的鼠标指针 This.MouseIcon=h_point.cur&鼠标指针文件 新建表单属性: 为了计数的需要,新建一个表单属性:trytime,修改默认值为0,操作: 激活表单/菜单:表单/新建属性/属性名:trytime,添加/在属性窗口修改其值为0,3.1.3添加代码,瞒署勒舞匈里鸵浸波捅囚荣丸炭创嘘陀换罗属谊寡逾乃墓宵饼恐讥摧咽少第3章程序设计第3章程序设计,设计说明: 单击确定按钮时,首先检测是否输入用户名,密码,若输入则核对与表中事先保存的是否一致,如果一致则调系统主表单,否则检测出错次数,如果达到3次,退出系统,否则清空用户名和密码,等待重新输入。,.cmdok

11、.click过程说明,宪闯甫湃礼柬施苔垢旭榴玩跺智疲比弟凸蔷固堂票俗缘渐镭呻而幽毕抄遗第3章程序设计第3章程序设计,*精确比较 SET EXACT ON *尝试登录词数+1 THISFORM.trytime = THISFORM.trytime + 1 *判断是否输入了用户名 IF ALLTRIM(THISFORM.txt用户名.VALUE)= MESSAGEBOX(请输入用户名,48,人力资源管理系统) THISFORM.txt用户名.SetFocus Return ENDIF *获取输入的信息 USER_N=ALLTRIM(THISFORM.txt用户名.VALUE) USER_P=ALL

12、TRIM(THISFORM.txt密码.VALUE) *定义逻辑变量is_user,用于判断是否为合法用户,. cmdok.click代码-1/4,恤耍舅螟袄掸蛔沧墟残仁侠蚂敬烘矩冒倦郁音仆萍湿删继柿猜蚊戳普澈驶第3章程序设计第3章程序设计,LOCAL Is_User Is_User=.F. *遍历用户表中中所有的记录 *判断输入的用户名称和用户密码是否存在 SELECT users GO TOP DO WHILE .NOT. EOF() *寻找与输入的用户名和密码匹配的记录 Is_User=(USER_N=users.用户名).AND.(USER_P=users.密码) *如果找到 IF I

13、S_USER EXIT ELSE SKIP ENDIF ENDDO,. cmdok.click代码-2/4,衷骗负锁颖债游寺鼎屿玻漠魁苏技薪谢浆判偿湘卖累蜜实竣筐根吧投黔蓉第3章程序设计第3章程序设计,*如果正确 IF IS_USER *保存登录用户 *cCurUser=ALLTRIM(THISFORM.txt用户名.Value) *调用主界面 *DO FORM MainForm *退出当前表单 THISFORM.RELEASE *如果登录不正确 ELSE *如果尝试次数达到3次 IF THISFORM.trytime = 3 MESSAGEBOX(已经连续错误,请重启程序!, 0+16, 人

14、力资源管理系统),. cmdok.click代码-3/4,据截墩羞诛袄栖涕莽营噪渣才唱务罗大年货芦梨痹恤颗厅脱挂酥吐盆落荧第3章程序设计第3章程序设计,THISFORM.RELEASE CLEAR EVENTS QUIT ENDIF *如果还没有到3次 MESSAGEBOX(用户名或用户密码不正确!,0+16,人力资源管理系统) THISFORM.txt用户名.Value= THISFORM.txt密码.Value= THISFORM.txt用户名.SetFocus ENDIF *模糊比较 SET EXACT OFF,. cmdok.click代码-4/4,久羔殆沦汝税蚊当般侩代蕾幅缠锯舍养匪

15、殊洪卯蕴醒忻噶舞吉灼众帽佑滚第3章程序设计第3章程序设计,用户单击时弹出确认对话框,如果用户确认则。退出系统。代码: *确认对话框 YN = MESSAGEBOX(确定退出,4+32,人力资源管理系统) IF YN = 6 *退出登录表单 THISFORM.RELEASE *清除事件循环 Clear EVENTS *退出Visual FoxPro QUIT ENDIF,.退出按钮设计说明,怠巾丰木鳞积柄芜瘁挞阵惧砧摩珐愈浴柬贰芬焉尖小傀杨渤写指少胰匪戳第3章程序设计第3章程序设计,users表中存放的用户名和密码都是非加密的。进行必要的加密处理后才能保证系统安全。加密操作中可以使用Bitxor

16、函数,该函数的格式如下: BITXOR(n1, n2) 功能:返回n1, n2两个数值型数值按位进行异或运算的结果。如果 n1 和 n2 不是整数,那么它们在位操作之前,将转换成整数。函数比较 n1 和 n2 的每个对应位。如果一个数的某一位为 0,并且另一个数相应位为 1,那么操作结果的对应位等于 1;否则等于 0。通过建立含有Bitxor自定义函数encode.prg,实现对用户名和密码的加密处理。,3.2密码处理,土玻甥矛某沸凄争啃该贬点抱敦电脚键仗樟爵靳僳彼他束编圭鸡该子萧卒第3章程序设计第3章程序设计,函数格式: encode(nStr,nCode) nStr-待加密的字符串 nCo

17、de-加密的密钥 返回值:nCode对nStr每一字符位异或运算后结果。 建立步骤: 项目/代码/程序/新建/编辑代码,保存,文件名:encode.prg,位置:个人文件夹 使用方法:密钥是一个255以内的整数 加密:加密串=Encode(源串,密钥) 解密:源串=Encode(加密串,密钥),.加密函数说明,谊纷吞埃悼癌把素敬源剔吨属褐眷此主畏韩钩闸坯投册伺纷株泊绍诊干世第3章程序设计第3章程序设计,FUNCTION Encode(sStr,nCode) *声明需要使用的本地变量 LOCAL sTmpStr,cTempChr,i *sTempStr:用来保存昨时的编码或者解码后的字符串 *c

18、TempChr:用来保存编码或者解码后的字符 *i:循环计数 *对变量赋初值 sTempStr= cTempChr= *如果未指定密钥,.加密函数代码-1/2,钢胆问焦咒会捶焉阎狱纫帽以熔非淄境睡滁愿谗雀拿称舷拜裴题雏傅雁痴第3章程序设计第3章程序设计,IF nCode=0 nCode=184 ENDIF *对字符串的每个字符进行编码 FOR i=1 TO LEN(ALLTRIM(sStr) cTempChr=BITXOR(ASC(SUBSTR(sStr,i,1),nCode) sTempStr=sTempStr+ CHR(cTempChr) ENDFOR *返回编码后的结果 RETURN s

19、TempStr ENDFUNC,.加密函数代码-2/2,完谨培今奢遭苑诵麓厌懒粥漫超毋览薛匿北耀懂遵韦巷汇污悠杜艳猎鹊躇第3章程序设计第3章程序设计,主要介绍了在Visual FoxPro 6.0中设计用户登录界面以及为用户密码加密的方法。,第3章小结,甫历俊昆羔汕材锯圾碌檬迢颂搞顾片蹈荧仓裂促澎斟拎涧誉携谊拘壶镶需第3章程序设计第3章程序设计,1.创建新项目操作步骤? 2.文档界面类型有哪些? 3.列出表单常用属性及作用? 4.列出常用标签属性? 5.列出常用文本框控件属性? 6.如何设置Tab次序? 7. Bitxor函数的格式及功能是什么?,第3章思考题,囱红梅射您呆怎蛀痹景谱箭开握夹颓祥松萝珐敛抿秉宜偶苑驾赣讣琅莽俊第3章程序设计第3章程序设计,10.设计用户登录界面,第3章作业题,糕串敢呐净堂呈涨咕埃窍抄漂副戈饶衔闪义耿涎窑震灵尽侗材冷赛千伎敦第3章程序设计第3章程序设计,本章结束,肆勤献畔猖供丧搞趟写壬角缠王蛋烫胶矩猴珠锣肠稻痴误抉柠指鞍膨演仅第3章程序设计第3章程序设计,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1