vfp6.0中表单的密码问题

合集下载

okVFP系统错误信息

okVFP系统错误信息

Visual FoxPro 6.0 系统错误信息1 文件不存在。

78 ** 或 ^ 定义域错误。

216 显示方式不可用。

3 文件正在使用。

91 文件没有使用 LOAD 命令装入内存。

221 含缩进值的左页边距必须小于右页边距。

4 已到文件尾。

94 必须指定额外参数。

222 行号必须小于页长。

5 记录超出范围。

95 在交互方式下不能使用此语句。

223 列号必须在 0 到 255 之间。

6 打开的文件太多。

96 嵌套错误。

225 “名称”不是变量。

7 文件已存在。

101 打不开文件。

226 “名称”不是文件变量。

9 数据类型不匹配。

102 不能创建文件“文件”。

227 框大小定义无效。

10 语法错误。

103 超出允许的 DO 嵌套层次。

228 制表位必须按递增顺序。

11 函数参数的值、类型或数目无效。

104 不能识别的功能键。

230 数组维数无效。

12 找不到变量“变量”。

107 操作符/操作数类型不匹配。

231 SET 函数中使用了无效参数。

12 找不到变量“变量”。

108 其他用户正在使用文件。

232 “名称”不是数组。

13 找不到别名。

109 其他用户正在使用记录。

255 不是一个有效的 RapidFile 数据库。

15 不是一个表。

110 文件必须以独占方式打开。

256 不是一个有效的 Framework II 数据库或电子表格。

16 不能识别的命令谓词。

111 不能更新临时表。

279 菜单没有入栈。

17 表编号无效。

112 无效的关键字长度。

287 菜单尺寸太小。

18 行太长。

114 索引与表不匹配。

291 ASIN( ) 中的表达式超出范围。

19 索引文件与表不匹配。

115 .DIF 文件头无效。

292 不能使用 0 或负数作为 LOG10( ) 参数。

20 记录不在索引中。

116 .DIF 矢量无效 - .DBF 字段不匹配。

293 ACOS( ) 中的表达式超出范围。

21 变量字符串的长度超过了内存容量。

VFP中的数据加密技术

VFP中的数据加密技术
第 $卷 第 &期 年 "月 " # # >
淮北职业技术学院学报 } ~ noN =k~ 0~ N= k=Nj; M " lN m " =k " ~ k k M OM
/ 8 ^ < $N8 < & 0 Q 4 $ " # # >
# ## # # ## # # ## # # ## # # ## # # # ## # # ## # # ## # # ## # # ## # # # ## # # ## # # ## # # ## # # ## # # # #
/0 1中
的 数 据 加 密 技 术
冯 伟
" 2 $ # # # ,
淮北职业技术学院 计算机科学与技术系 -安徽 淮北 (
摘要 ! 如何在 /0 方法有多种 本文主要 介绍利用随机伪码 3 位操作 1系统中实现对 数据表文件进行加密和解密 函数 4 低级文 件函数实现加密和解密 ( , 3 . 5 6 7 8 9 关键词 ! /0 1 :数据表 :加密 :解密 中图分类号 ! ; 1 2 # ) < * 文献标识码 ! = 文章编号 ! & > * & % ’ " * $ ( " # # > , # & % # # ’ & % # "
? @ A @B C D E F G A H I CH CJ K L
0 M N O PQ 5
RS T A E @ D A !;U Q 9 Q V 9 QWV X YWQ 6 U 8 Z [V 4 8 \ 6 U 8 ]6 89 Q V ^ 5 _ QQ X ‘ 9 Y a 6 [V X ZZ Q ‘ 9 Y a 6 [ 6 U QZ V 6 V 4 V [ Qb 5 ^ Q5 X 6 U Q/0 1[ Y [ 6 Q W<; U 5 [6 U Q [ 5 [WV 5 X ^ Y5 X 6 9 8 Z \ ‘ Q [9 Q V ^ 5 _ 5 X cQ X ‘ 9 Y a 6 5 8 XV X ZZ Q ‘ 9 Y a 6 5 8 X4 Y\ 6 5 ^ 5 _ 5 X c [ 6 8 ‘ U V [ 6 5 ‘a [ Q \ Z 8 d‘ 8 Z Q -^ 8 ‘ V 6 5 8 X8 a Q 9 V 6 Qb \ X ‘ 6 5 8 X4 5 6 7 8 9 ( ,V X Z^ 8 ]% c 9 V Z Qb 5 ^ Qb \ X ‘ 6 5 8 X < ef FgI E h T !/0 1 :6 V 4 ^ Q :Q X ‘ 9 Y a 6 5 8 X :Z Q ‘ 9 Y a 6 5 8 X & 前 言 其 排 序3 检索速度之快/0 1语 言 易 学 好 用 是 /i和 j 所 不及 的 但其 保密 性差是 也大 M k 1 lm 家公 认的 . 只要 稍为 懂一 定数 据库 知识 的人 一打 开数 据表 其内 容便 一目 了然 且可 任意 更改 其保 密性 和安 全性可 想而 知 这还 只是 其一 . 其二 ! 随着 nX b 8 7 a 9 8 < Q 7 Q和 oQ b 8 7 * < Q 7 Q等 反 编 译 软 件 的 出 现我们即使将程序编译成< 一经p Q 7 Q文 件 nNq 或p 则 煞费 苦心 设置 的 口令 3 密 码等 都如 同虚 q o M 设 .那 么 /0 1的 保 密 性 差 的 弱 点 就 没 办 法 避 免 吗 r答案 是否 定的 s最有 效的 办法 就是 将数据 表文 件进 行 加 密 这里 就 介 绍 几种 / 0 1中 比 较 可 靠的 数据 表加 密方法 . " 利 用可 靠的 随机 伪码 实现 对数 据表的 加解 密 用随 机 伪 码的 方 法 可 以实 现 对 数据 表 进 行简 单可 靠 的加 密 这 种 方法 的 特 点 是实 现 简 单 加密 可靠 不 易 破解 可 将 一 个 &至 *位 的用 户 密 码转 换为 " 且 每次 重 新 设定 密 码 时所 #位 的随 机 伪 码 产生 的 伪码 都 不 相同 通 过 变 换 生成 的 " #位 伪码 没有 任何 规律性 即 使从 数据 表中 擦除 伪码也 无法 进入 系统 从而 实现 了可 靠的 密码 权限 控制 . 从用 户 密 码到 数 据 表 中的 随 机 伪码 之 间 的变 换由 两 个函 数 完 成 一个 是 加 密 函数 一 个 是 解密 函数 . 加密 函数 的思 想是 对用 户密 码 ( 真 码, 进 行复 杂化 3 隐蔽 化处 理 也 就是 将真 码淹 没在 " 位 伪码 #

VFP中的加密算法

VFP中的加密算法

VFP中的加密算法一、前言在应用软件中,数据库管理软件是应用的最广泛的软件。

数据库管理软件的安全性、保密性是开发、应用人员较为关心的。

如何防止无关人员浏览数据库,如何防止数据库被非法修改、破坏?常用的方法是给数据库、管理程序加上密码。

那么,加了密码就安全了吗?怎样才能使密码安全呢?二、传统的密码加密方法从dBASE 到dBASEIII ,从 FOXBASE 到FOXBASE +,从FOXPRO 到VISUAL FOXPRO,常用加密码的方法给程序、数据库加密。

常见的密码有以下几种:固定密码,简单加密的固定密码,加密变化的密码,具体分析如下:1、固定密码固定密码,就是系统只有一个密码,而且是固定的,不可变的。

常见于用Dbase、FOXBASE、FOXBASE +、FOXPRO2.X 开发的数据库管理系统。

常用如下语句:I=1DO WHILE .T.PWD=SPACE(8)SET CONS OFF@12,35 SAY " 口令!!!"ACCEPT TO PWDIF TRIM(PWD)< >"123456"IF I >=3@20,32 SAY "口令错误,您不能使用!"RETURNENDIF@12,30 SAY "第" +STR(I,1)+"次口令错!"I =I +1ELSE@20,28 SAY "欢迎使用本系统!"EXITENDIFENDDO从以上语句不难看出,其核心是:变量PWD 与输入值的比较。

密码“1234” 是程序设计时设定的,以后应用时是无法修改的,如果修改,就要改变源程序。

当然,也可以编写一段子程序用来修改密码,修改前,其判断旧密码是否正确,也用 IF TRIM(PWD)< >"123456" 语句。

其灵活性很差,在pctool 等工具出现后,保密性就显得差了。

vfp的加密函数

vfp的加密函数

vfp的加密函数【原创实用版】目录1.VFP 加密函数的概述2.VFP 加密函数的实现原理3.VFP 加密函数的具体应用4.VFP 加密函数的优缺点分析5.VFP 加密函数的未来发展趋势正文一、VFP 加密函数的概述VFP(Vendor-Specific Function)加密函数是指由特定供应商或组织开发的加密函数,通常在硬件或软件中实现。

这些加密函数主要应用于数据加密、安全通信和数字签名等领域,以保证数据的安全性和完整性。

二、VFP 加密函数的实现原理VFP 加密函数的实现原理主要包括以下几个方面:1.数据加密:通过对原始数据进行特定的算法处理,生成一段密文。

解密时,通过同样的算法将密文还原为原始数据。

2.密钥管理:加密和解密过程中需要使用密钥,密钥可以是对称密钥或非对称密钥。

对称密钥加密和解密使用相同的密钥,非对称密钥加密和解密使用不同的密钥。

3.算法实现:VFP 加密函数通常采用国际通用的加密算法,如 AES、RSA 等。

加密算法的选择取决于具体应用场景和需求。

三、VFP 加密函数的具体应用VFP 加密函数在实际应用中具有广泛的应用前景,例如:1.数据加密:在存储和传输数据时,通过 VFP 加密函数对数据进行加密,保证数据的安全性和完整性。

2.安全通信:在网络通信过程中,通过 VFP 加密函数对通信数据进行加密,防止数据被截获和篡改。

3.数字签名:通过 VFP 加密函数生成数字签名,验证数据的真实性和完整性。

四、VFP 加密函数的优缺点分析1.优点:(1)安全性高:VFP 加密函数通常采用国际通用的加密算法,具有较高的安全性。

(2)性能优越:VFP 加密函数通常在硬件或软件中实现,具有较快的运算速度。

(3)应用广泛:VFP 加密函数可应用于多种场景,如数据加密、安全通信和数字签名等。

2.缺点:(1)兼容性较差:不同供应商或组织开发的 VFP 加密函数可能存在兼容性问题。

(2)技术门槛较高:使用 VFP 加密函数需要具备一定的专业知识和技能。

vfp的加密函数

vfp的加密函数

vfp的加密函数摘要:1.引言2.了解VFP 的加密函数3.使用VFP 加密函数的注意事项4.总结正文:VFP(Visual FoxPro)是一种数据库管理系统,提供了许多功能强大的工具和函数,其中包括加密函数。

在本文中,我们将介绍VFP 的加密函数以及如何使用它们。

首先,我们需要了解VFP 中可用的加密函数。

VFP 提供了两种加密函数:DES 加密函数和RC2 加密函数。

DES 加密函数使用DES 算法对数据进行加密,而RC2 加密函数使用RC2 算法对数据进行加密。

使用VFP 加密函数时需要注意以下几点:1.确保密钥长度足够。

密钥长度越长,加密强度就越高。

VFP 中的DES 加密函数默认使用64 位密钥,而RC2 加密函数默认使用128 位密钥。

2.注意数据长度。

加密函数要求输入数据长度必须是8 的倍数。

如果数据长度不是8 的倍数,应在数据末尾添加足够的零,使其成为8 的倍数。

3.了解加密函数的返回值。

VFP 加密函数返回一个字符串,表示加密后的数据。

如果加密失败,函数将返回一个空字符串。

以下是一个使用VFP DES 加密函数的示例:```vbnetDim strData As StringDim strKey As StringDim strEncryptedData As StringstrData = "Hello, World!"strKey = "12345678" " 64 位密钥strEncryptedData = DES(strData, strKey)If strEncryptedData = "" ThenMsgBox "加密失败!"ElseMsgBox "加密后的数据:" & strEncryptedData End If```以下是一个使用VFP RC2 加密函数的示例:```vbnetDim strData As StringDim strKey As StringDim strEncryptedData As StringstrData = "Hello, World!"strKey = "1234567812345678" " 128 位密钥strEncryptedData = RC2(strData, strKey)If strEncryptedData = "" ThenMsgBox "加密失败!"ElseMsgBox "加密后的数据:" & strEncryptedDataEnd If```总之,VFP 提供了DES 和RC2 两种加密函数,用于对数据进行加密。

使用VFP6.0表单创建登录界面

使用VFP6.0表单创建登录界面

使用VFP6.0表单创建登录界面作者:董大伟来源:《消费电子·理论版》2013年第12期摘要:VFP是面向对象程序设计语言,VFP中的表单是可视的容器对象类,可容纳几乎所有基本类对象。

一般情况下,开发一个VFP应用软件,重头戏是制作表单(Form)。

本文将介绍使用VFP表单设计器创建登录界面。

关键词:VFP;表单;登录界面中图分类号:TP311.13 文献标识码:A 文章编号:1674-7712 (2013) 24-0000-01一、引言VFP6.0是一个功能强大的数据库管理系统(DBMS),VFP6.0的优点比较明显:简单、快速、有效、灵活。

它能迅速而又简单地建立用户的数据库,从而方便地使用和管理数据。

因此VFP6.0具有广泛的使用基础,高校非计算机专业基本都开设这门数据库编程语言,并且也是在校学生报考计算机等级考试的优选科目。

对于一些应用型软件,在打开或登录时都会有一个登录界面,提示用户输入用户名和密码,用户只有输入正确的用户名和密码之后,才能打开相应的应用软件,设置登录界面一是有个友好的交互方式,二是保证了使用软件的安全性。

因此我们在编写应用程序的时候,要考虑到这一点,并把登录界面的设计放在首位。

本文通过VFP6.0提供的表单设计器和表单控件来实现登录界面的设计。

二、设计思路在表单设计器中,添加所需要的控件,并设置相关的属性,如果需要自行新建属性和方法,则正确操作。

然后为相应的控件编写CLICK事件代码。

在运行登录界面表单后,输入正确的用户名和密码,应该关闭登录界面,调出其它的应用程序,例如主界面表单。

如果输入的用户名和密码不正确,给出相应的提示,允许登录者再次重新输入用户名或密码,如果错误次数达到3次,则提示错误次数达到顶限,不允许继续操作,并关闭表单。

三、实现过程(一)创建表单界面启动VFP6.0,在“文件”―“新建”下点击“表单”,此时进入表单设计器,所有的设计过程都将在表单设计器中进行。

vfp6.0中表单的密码问题

vfp6.0中表单的密码问题

密码问题1、编写程序判断用户输入密码是否正确(用户名为:WDZG密码为:GSBYB),如果用户输入正确显示“欢迎使用本系统!”否则显示“密码错误请重新输入!”~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:RETURN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2、编写一程序检验用户输入密码是否正确,密码是“123456”,如果用户输入正确显示“欢迎使用本系统!”否则显示“密码错误请重新输入!”。

当第三次输入错误时显示“你是非法用户!”最多只允许用户输入错三次。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:方法一:CLEARN=0DO WHILE .T.ACCEPT”请输入你的密码:” TO MMIF ALLTRIM(MM)==”123456”?”欢迎使用本系统!”EXITELSE?”密码错误请重新输入!”N=N+1IF N=3?“你是非法用户!”EXITENDIFENDIFENDDO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 方法二:CLEARFOR N=1 TO 3ACCEPT”请输入你的密码:” TO MMIF ALLTRIM(MM)==”123456”?”欢迎使用本系统!”EXITELSE?”密码错误请重新输入!”IF N=3?“你是非法用户!”EXITENDIFENDIFENDFOR3、编写一程序检验用户输入密码是否正确,密码是“abcd”,如果用户输入正确显示“欢迎使用本系统!”再打开xsda.dbf,否则显示“密码错误请核对后输入!”。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:CLEARACCEPT”请输入你的密码:” TO MMIF ALLTRIM(MM)==”abcd”?”欢迎使用本系统!”use xsda.dbfELSE?”密码错误请核对后输入!”ENDIFRETURN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~4、有一个存放用户名和密码的表zcxx.dbf,其中有字段YHMC(8,) ,MM C(6),请编写程序检验用户输入的用户名或密码是否符合zcxx.Dbf中的某一条记录,如果与某条记录匹配则说明用户密码正确提示“欢迎使用本系统!”否则提示“你输入的用户名或密码有误!”~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:CLEARACCEPT”请输入你的用户名:” TO kkACCEPT”请输入你的密码:” TO ssuse zcxx.dbflocate for alltrim(kk)==alltrim(YHM) and alltrim(ss)== alltrim(MM)IF found()?”欢迎使用本系统!”ELSE?”你输入的用户名或密码有误!”ENDIFRETURN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5、编写一个注册程序能够让用户将注册信息填写到有一个存放用户名和密码的表zcxx.dbf,其中有字段YHM C(8,) ,MM C(6)。

vf6.0试题

vf6.0试题

vf6.0试题1、对于现实世界中事物的特征,在实体-联系模型中使用a)属性描述b)关键字描述c)二维表格描述d) 实体描述2、把实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中是通过a)建立新的属性来实现b)建立新的关键字来实现c)建立新的关系来实现d)建立新的实体来实现3、专门的关系运算不包括下列中的a)联接运算b)选择运算c)投影运算d)交运算4、对关系S和关系R进行集合运算,结果中既包含S中元组也包含R中元组,这种集合运算称为a)并运算b)交运算c)差运算d)积运算5、关于Visual FoxPro的变量,下面说法中正确的是a)使用一个简单变量之前要先声明或定义b)数组中各数组元素的数据类型可以不同c)定义数组以后,系统为数组的每个数组原素赋以数值0d)数组元素的下标下限是06、在下面的表达式中,运算结果为逻辑真的是a)EMPTY(.NULL.) b)LIKE("edit","edi?")c)A T("a","123abc") d)EMPTY(SPACE(10))7、Visual FoxPro内存变量的数据类型不包括a)数值型b)货币型c)备注型d)逻辑型8、为了设置两个表之间的数据参照完整性,要求这两个表是a)同一个数据库中的两个表b)两个自由表c)一个自由表和一个数据库表d)没有限制9、数据库表可以设置字段有效性规则,字段有效性规则属于域完整性范畴,其中的“规则”是一个a)逻辑表达式b)字符表达式c)数指表达式d)日期表达式10、通过指定字段的数据类型和宽度来限制该字段的取值范围,这属于完整性中的a)参照完整性b)实体完整性c)域完整性d)字段完整性11、用命令“INDEX on 姓名TAG index_name”建立索引,其索引类型是a)主索引b)候选索引c)普通索引d)惟一索引12、执行命令“INDEX on 姓名TAG index_name”建立索引后,下列叙述错误的是a)此命令建立的索引是当前有效索引b)此命令所建立的索引将保存在.idx文件中c)表中记录按索引表达式升序排序d)此命令的索引表达式是“姓名”,索引名为“index_name”13、查询订购单号(字符型,长度4)尾字符是“1”的错误命令是a)SELECT * FROM 订单WHERE SUBSTR(订购单号,4)="1"b)SELECT * FROM 订单WHERE SUBSTR(订购单号,4,1)="1"c)SELECT * FROM 订单WHERE "1"$订购单号d)SELECT * FROM 订单WHERE RIGHT(订购单号,1)="1"14、以下关于空值(NULL)叙述正确的是a)空值等同于空字符串b)空值表示字段或变量还没有确定值c)VFP不支持空值d)空值等同于数值015、两表之间“临时性”联系称为关联,在两个表之间的关联已经建立的情况下,有关“关联”的正确叙述是a)建立关联的两个表一定在同一个数据库中b)两表之间“临时性”联系是建立在两表之间“永久型”联系基础之上的c)当父表记录指针移动时,子表记录指针按一定的规则跟随移动d)当关闭父表时,子表自动被关闭16、在SQL语句中,与表达式“工资BETWEEN 1210 AND1240”功能相同的表达式是a)工资>=1210 AND 工资<=1240b)工资>1210 AND 工资<1240c)工资<=1210 AND 工资>1240d)工资>=1210 OR 工资<=124017、在SQL语句中,与表达式“仓库号NOT IN("wh1","wh2")”功能相同的表达式是a)仓库号="wh1" AND 仓库号="wh2"b)仓库号!="wh1" OR 仓库号#"wh2"c)仓库号<>"wh1" OR 仓库号!="wh2"d)仓库号!="wh1" AND 仓库号!="wh2"18、打开表并设置当前有效索引(相关索引已建立)的正确命令是a)ORDER student IN 2 INDEX 学号b)USE student IN 2 ORDER 学号c)INDEX 学号ORDER studentd)USE student IN 219、查询设计其中“联接”选项卡对应的SQL短语是a)WHERE b)JOIN c)SET d)ORDER BY20、在SQL SELECT语句中用于实现关系的选择运算的短语等a)FOR b)WHILE c)WHERE d)CONDITION21、执行下列一组命令之后,选择“职工”表所在工作区的错误命令是CLOSE ALLUSE 仓库IN 0USE 职工IN 0A)SELECT 职工B)SELECT 0 C)SELECT 2 D)SELECT B22、在Visual FoxPro中有如下程序:*程序名:TEST.PRG*调用方法:DO TESTSET TALK OFFCLOSE ALLCLEAR ALLmX="Visual FoxPro"mY="二级"DO SUB1 WITH mXmY+mXRETURN*子程序:SUB1.PRGPROCEDURE SUB1PARAMETERS mX1LOCAL mXmX="Visual FoxPro DBMS 考试"mY="计算机等级"+mYRETURN执行命令DO TEST后,屏幕的显示结果为A)二级Visual FoxProB)计算机等级二级Visual FoxPro DBMS考试C)二级Visual FoxPro DBMS考试D)计算机等级二级Visual FoxPro23、有关连编应用程序,下面的描述正确的是A)项目连编以后应将主文件视做只读文件B)一个项目中可以有多个主文件C)数据库文件可以被指定为主文件D)在项目管理器中文件名左侧带有符号Ф的文件在项目连编以后是只读文件24、新创建的表单默认标题为Form1,为了修改表单的标题,应设置表单的A)Name属性B)Caption属性C)Closable属性D)AlwaysOnTop 属性25、有关控件对象的Click事件的正确叙述是A)用鼠标双击对象时引发B)用鼠标单击对象时引发C)用鼠标右键单击对象时引发D)用鼠标右键双击对象时引发26、关闭当前表单的程序代码是ThisForm.Release,其中的Release是表单对象的A)标题B)属性C)事件D)方法27、以下叙述与表单数据环境有关,其中正确的是A)当表单运行时,数据环境中的表处于只读状态,只能显示不能修改B)当表单关闭时,不能自动关闭数据环境中的表C)当表单运行时,自动打开数据环境中的表D)当表单运行时,与数据环境中的表无关28、如果菜单项的名称为“统计”,热键是T,在菜单名称一栏中应输入A)统计(\<="" p="">29、Visual FoxPro的报表文件.FRX中保存的是A)打印报表的预览格式B)已经生成的完整报表C)报表的格式和数据D)报表设计格式的定义30、在DO WHIL E……ENDDO循环结构中,EXIT命令的作用是A)退出过程,返回程序开始处B)转移到DO WHILE语句行,开始下一个判断和循环C)终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行D)终止程序执行To be continue31、一条没有指明去向的SQL SELECT语句执行之后,会把查询结果显示在屏幕上,要退出这个查询窗口,应该按的键是A)ALT B)DELETE C)ESC D)RETURN第(32)-(35)题使用如下三个表:学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8)课程.DBF:课程编号C(4),课程名称C(10),开课院系C(8)学生成绩.DBF:学号C(8),课程编号C(4),成绩I32、查询每门课程的最高分,要求得到的信息包括课程名称和分数。

关于VFP的加密

关于VFP的加密

关于VFP 的加密出处:网络Vfp 语言易学好用,其排序、检索速度之快,是VB 和D ELPHI 所不及的,但其保密性差是也大家公认的。

只要稍为懂一定数据库知识的人,一打开数据表,其内容便一目了然,且可任意更改,其保密性和安全性可想而知,这还只是其一。

其二:随着UNFOXpro.exe 和Refox7.exe 等的出现,你辛辛苦苦编的程序,即使编译成EXE 文件,一经UN 或RE 则你煞费苦心设置的版权符、验证关、口令、密码等都如同虚设。

那么Vfp 的保密性差的弱点就没办法避免吗?NO !办法肯定有,这里就先谈谈“数据表的加密问题”,以下就是我的一点粗浅看法,请网友们踊跃讨论。

数据表加解密常见的有以下两种方式:1、直接在磁盘上加解密,即在关闭数据表文件后,对已保存在磁盘上的数据表文件进行加密,在每次打开数据表文件前,先在磁盘上对数据表解密,然后再供 Vfp 将其打开,其优点是加解密容易,一般程序员用Vfp 提供的低级文件函数都能编出加解密程序;缺点是:在WIN 的多任务环境下,很容易取得解密后的数据,另外一旦系统出错,还未来得及加密就重新启动系统,那保留在磁盘上的就是解密后的数据,对保密性能要求稍微高一些的程序员,一般不会采用此方式。

2、在内存中对数据表的字段进行加解密,这又可分两种:A 、象《远程续缘》1999年第一期 第8个问题那样用ASCII 码进行+、-、*、/运算加解密,但这种方法有个缺点即当加或乘时,其值容易大于255(FFH)即大于ASCII 码的最大值,这时无法用CHR()换成字符保存,如对大于255的数据不加密,则解密时又会带来麻烦,即同是254,哪个是加密后的254,哪个是未加密的254?这也就是为何有人问汉字解密后会出现许多同音汉字的原因。

B 、完全利用Vfp3.0以上版本提供的位操作函数bitxor()进行加密,该加密方法是C 语言及汇编语言常用的加密方法,其原理是将一字节的8位二进制数与另一个二进制数进行异或操作,如用6个以上密匙(口令)进行加密,则在不知其密匙的情况下,是很难解密的。

对VFP6.O下一个表文件加密的破解

对VFP6.O下一个表文件加密的破解

对VFP6.O下一个表文件加密的破解
朱世杰;德宝库;白青海
【期刊名称】《内蒙古民族大学学报(自然科学版)》
【年(卷),期】2005(020)004
【摘要】通过为通辽市某单位一个在VFP6.0下加密的表文件解密过程,探讨了在VFP6.0下的表结构,并对通过分析表结构进行加密的方法,给出一种解密方法,该方法可以推广到利用表结构的其它字段进行加密解密的工作中.
【总页数】3页(P378-379,388)
【作者】朱世杰;德宝库;白青海
【作者单位】内蒙古民族大学,数学与计算机科学学院,内蒙古,通辽,028043;内蒙古民族大学,数学与计算机科学学院2001级,内蒙古,028043;内蒙古民族大学,数学与计算机科学学院,内蒙古,通辽,028043
【正文语种】中文
【中图分类】TP309.7
【相关文献】
1.基于VFP的表文件加密技术 [J], 许芳芳
2.对一种文件加密算法的破解 [J], 王贵竹;田朝晖
3.破解微软的神话——EFS文件加密系统 [J], 平生一笑;zwh1015
4.你会是下一个“朴槿惠”吗?--领导者如何破解亲信死结? [J],
5.TWS耳机、智能手表、智慧眼镜,谁将是下一个市场风口? [J], 钟琳
因版权原因,仅展示原文概要,查看原文内容请购买。

VFP6.0中表单数据环境设置浅析

VFP6.0中表单数据环境设置浅析

动。 由于 设置正 常表 单的数据 环 境时 , 先 添加 主表后 添 子 句 , 因此 设 计 表 单 时 , 无 需 在 数 据 环 境 中 为两 表 建
加子 表 , 因此 , 图 2中正 常表单 的 当前 工作 区为 主表 所 立 表 间关系 , 本文 在此 暂不 作讨 论 。
在工 作区 , 主 表记 录指针 移动 , 子表记 录指 针会 发生 关 联移 动 , 从而 使表 格 中的信 息能 正确 显示 。 而设 置 异常
( 上接 第 2 0 6页)
以看 懂 , 但 是 当这些 指 令 放 在 一 起 时 , 学 生 就 不 知 道
汇 编语 言 作 为一 门重 要 的专 业 基础 课 , 其 重 要意
这段 程序 完 成 了什 么功 能 。只 有 通过 上 机 实践 , 才 能 义 不 言而 喻 。但 是 由于其 自身 的特 点 , 在 教与 学 的过
[ 3 ] 尚俊 平 , 刘合兵. 基于V F P的查询表单 的设 计与实现 [ I ] . 电
脑 知 识 与技 术 2 0 0 9 ( 3 6 ) : 1 0 1 6 9 — 1 0 1 7 1
S Q L — S E L E C T语 句将 满 足 条件 的记 录查 询 出来 , 并 将
认识 到 这 段 程序 其 实 是 执 行 了一个 I N T 0的 中 断 调 程 中 , 总是有 许 多 问题 。当在 教学 效果 不理 想 的时候 ,
用。 通 过 这简 单 的 5条 指令 , 既可 以使 学 生理解 R E T F 作 者 总是认 真 分析 其 原 因 , 然 后 根据 找 到 的原 因制 定
区打 开 。另外 , 数据 环 境 中的表 间关系 是 临时关 系 , 表 对 应数据 源类 型 为表 , 1 对 应 数据源 类 型为 临 时表 。 将

探究VFP数据库中密码加密实现

探究VFP数据库中密码加密实现
为突出代码 的复用 性, 可 以按照这种算法编写一个类 , 来 实现对数据库 中用户密码 的加解密处理 。 ( 1 ) 在V i s u a l F o x P r o 中创建 c u s t o m 类, 雷鸣为 c r y p t , 作为类文件记录在 c r y p t . V C X
Ni + L = z x 2 5 6 + t i ( 3 )
分 子 针 对 数 据 库 的 窃 取 主 要 从 两 个方 面入 手 : 一是 直 接 获 取
数据库 中的原有信息, 二是盗取操作者的权限来修改、 复制和 破坏数据库里的信 息。 为 了提高数据库中的信息的安全系数, 尤其是用户名和密码的安全 系数 ,就必须对这些文本进行加
在相应的程序编译中 ,为 了强化加密的复杂性和解密的
难度系数, 也 可 以进 行 多 次 加 密 。 比如 , 可 以对 密 钥 进 行 下 面
的运算:
L =( Lx DI + D2 ) mo d D3 (6 )
管理数据库 , 参与数据计算, 作为财务软件方面的得力助手而
应用 。 V i s u a l F o x P r o是 Mi c r o s o t公司研发 的具有可视化特性 f 的数据库平台, 是3 2位数据库系统中的佼佼者 。 V i s u a l F o x P r o 具有完备 的功能 , 其应用界面友好 , 数据存取简便快捷 , 并且 可 以跨平 台应用 , 兼容性 良好 , 安全性强 , 可编译性也非常卓 越, 在 目前常见的数据库管理系统 中是首选数据库 。
1 V i s u a l F o x P r o数 据库概 述
Vi s u a l F o x P r o数据库是 信息产业 常用 的数据库之一 ,该 数据库 是 Mi c r o s o f t 公司通在 F o x软件 公司研 发的数据库 F 0 . x B a s e的基础上, 经过多次升级完善 , 最 后在 Wi n d o ws 操作系 统上拓展 了兼容性后 的数据库产 品。V i s u a l F o x P r o可 以用来

浅谈对VFP数据表几种加解密方法

浅谈对VFP数据表几种加解密方法

浅谈对VFP数据表几种加解密方法
刘长勇
【期刊名称】《武夷学院学报》
【年(卷),期】2001(020)004
【摘要】本文针对数据表在保密性和安全性的问题,浅谈了对数据表进行加解密的三种方法:直接在磁盘上加解密、在内存中对数据表的字段进行加解密和在内存中直接对整个数据表文件(.DBF)加解密,并分析了它们各自的优缺点.
【总页数】3页(P85-87)
【作者】刘长勇
【作者单位】福建南平师范高等专科学校计算机系,南平,353000
【正文语种】中文
【中图分类】TP311.132
【相关文献】
1.关于提高VFP中数据表安全性的几种方法 [J], 路世静;史大新;张秀滢
2.在Delphi5中连接导入Excel数据表的几种方法 [J], 朱正月
3.如何在VFP数据表中成批替换图像数据的输入方法 [J], 袁志军
4.Word、Excel、Access、VFP6.0数据表相互转换的方法 [J], 周艳
5.VFP中使用备注字段减少数据表冗余的一种方法 [J], 张长君
因版权原因,仅展示原文概要,查看原文内容请购买。

VisualFoxpro6.0密码设计方法

VisualFoxpro6.0密码设计方法

Visual Foxpro6.0密码设计方法2004年10月电脑学习第5期摘要关键词AbstractKeywordVisualFoxpro6.0密码设计方法张俊兰张波一刘翼讨论了在VisualFoxpro6.0数据库应用软件开发中.基于数据库密码设计的技术和方法.以实例说明密码设计,修改的过程以及事件驱动的代码编写.密码设计数据库更换密码VisualFoxpro6.0CodeDesignofVisualFoxpro6.0ProgrammingZhangJunlanZhangBoLiuYi Thepaperdiscussesthetechniquesandmethodsofcodedesignbasedonthedatabaseintheope nningofappl-iedsoftwareofVisualFoxpro6.0.Italsointroducescodedesign,coderevisionandtheprogra mofincident-driv-ingcode.CodeDesignDatabaseCodeRevisionVisualFoxpro6.0通常开发者要给自己所开发的应J{j软件设置用户密码,以增强应用软件的安全性.在设置用户密码时,如设置成固定密码,则一旦用户密码被他人得知就不具备保密性.设置的密码如能更新就比较安全一点.在设置可更新密码时,一般都采用数据库存储密码,但足大家都知道数据库的弱点就在于安全性太差,只要打开数据库密码就能看.因此我们就有必要将存储的密码加密.加密方法很多,这哩我们就介一种方便易学的方法.1设计思路先新建一密码数据库,设计更换密码模块.更换密码模块设计时,用旧密码有无或是否正确,新密码和确定新密码是否丰lI蚓,来判断密码的更换权限.更换权限由输入新密码的文本框和"确定"按钮的有效性属性来决定. 当密码数据库中为空时,输入新密码的有效性属性enabled=_t.,待输入新密码和确定新密码相同时,设置确定"按钮的有效性属性enabled=…t 然后将密码存储起来:当密码数据库中不为空时,首先需输入旧密码,若旧密码正确,并且新密码和确定新密码卡}】川时,才能将密码更换.2实例设计2.1新建一密码数据库新建一个密码数据库mn1.dbf (mnl,字符,20),用来存储密码,以数据库中的密码来判断密码的正确性, 在此基础上更新密码.2.2设置更换密码模块设置一个更换密码的表单,设置3个标签,3个文本框,3个按钮.请输入旧密码"对应为textl文本框;请输入新密码对应为text2文本框;请输入确定密码对应的为text3文本框.2.3控件的有效性设置当密码数据库中为空时,输入新密码的有效性enabled=…t待输入的新密码和确定新密码相同时,确定按钮的有效性enabled=…t将密码存储起来:当密码数据库中不为空时,先需输入旧密码,若旧密码正确,且新密码和确定新密码相同时,才能将密码更换.2.4事件过程代码(1)窗体的(activate)代码use"data~aniflen(alhrim(1111311))=Omessagebox(请重新输入密码)thisform.text2.enabled=.t.elsethisform.text1.enabled=.t.endif张俊兰陕两延安大学计算机学院教授(716000) 张波陕西安康铁路分局公安处(725o0o)USCmand1.enabled=_f.(2)窗体的(1oad)代码publicii=0text1(keypress)代码:publicPifnkeycode=l3iflen(alltrim(thisform.text1.value))=Op=messagebox("密码不能为空,请重新输入!.4+16)ifp=6thisform.text1.value--n-thisform.text1.enabled=.t.thisform.text2.enabled=.f.thisform.text1.8e~ocu8elsereleaseallthisform.releaseendifelsethisform.text2.enabled=.t.,endifendiftext2(keypress)代码:thisform.text3.enabled:.t.text3(1osffocus)代码:publics(1).s(2)s(1)=len(alltrim(thisform.text2.value))s(2)=len(alhrim(thisform.text3.value))ifs(1)=Oands(2)=Omessagebox(新密码和确认密码不能为空, 收稿日期:2004-01-0857请重新输入")--i+1i-i+1messagebox(请将密码查证后再输!) thisfom.releaseendifthisfom.text2.value="thisform.text3.valRe="thisform.text3.enabled=工thisform.text2.enabled=.t.thisform.text2.~tfocuselsethisform,command1.enabled=.t.endif(3)确定"(click)代码publici(1),l(1),a(1),b(1),i(2),l(2),a(2),b(2),a(3),b(3),i(3),l(3)b(1)="b(2)=b(3)=""u8edataLmml(1)=len(alhrim(Fnm))ifl(1)=Oif(thisform.text2,value=thisform.text3.valRe) and(1en(alltfim(thisform.text2.valRe))&lt;&gt; 0orlen(alhrim(thisform.text3.valRe))&lt;&gt;0)l(1)=len(alltfim(thisform.text3.value))f0ri(1)=1tol(1)step1a(1)=chr(a8c(substr(alltriIn(thisform.text3.value),i(1),1))-11)b(1)=b(1)+a(1)deleallpackappefromarrayb(1)messagebox(密码已经成功更改!) thisform.text1.value:"thisform.text2.value=thisform.text3.value=""thisform.text1.enabled=.t.thisformtext2.enabled=工thisform.text3.enabled=.f.mand1.enabled=.f. thisform.text1.~tfocusU8eelsemessagebox(你输入的新密码和确认密码不相同.请重新输入)--i+1ifi=3messagebox(输入密码错误次数太多,请查58证后再输")releaseallthisform.releaseendifthisform.text2,value=nnthisform.text3,valRe=thisform.text2.enabled=.t.thisform.text3.enabled=.£thisform.text2.~tfocusmand1.enabled=.£endifelsel(2)=len(alltfim(thisform.text1.value))fori(2)=1tol(2)step1a(2)=chr(agc(substr(alltriIn(thisform.text1.value),i(2),1))一l1)b(2)=b(2)+a(2)endforifb(2)=alkriIn(mm)if(thisform.text2.value=thisform.text3.valu—end(1en(alhrim(thisform.text2.valRe))&lt;&gt;Oorlen(alltrim(thisform.text3.value) &lt;&gt;O)l(3)=len(alltfim(thisform.text3.value))fl0ri(3)=1tol(3)step1a(3)=chr(asc(sul~tr(alhrim(thlsform.text3.value),i(3),1))一l1)b(3)=b(3)+a(3)endforreplmmwithb(3)messagebox(密码已经成功更改!) thisform.text1.value=thisform.text2.valRe=thisform.text3.value=thisform.text1.enabled=.t.thisform.text2.enabled=.f|hisform.text1.setfocusmand1.enabled=.f.endifendifmessagebox(密码已经成功更改!) thisform.text1.value=thisform.text2.value=thisform.text3.valRe=thisform.text1.enabled=.t.thisform.text2.enabled=.f.thisform.text3.enabled=.f.mand1.enabled=.f. thisform.text1.setfocusUseelsemessagebox(你输入的新密码和确认密码不相同.请重新输入)i=i+lifi=3messagebox(输入密码错误次数太多,请查证后再输)releaseallthisform.releaseendifthisform.text2.valRe=nnthisform.text3.value=thisform.text2.enabled=.t.thisform.text3.enabled=工thisform.text2.setfocusmand1.enabled=.f.endifelsemessagebox(你输入的旧密码不正确,请重新输入")i=i+1ifi=3messagebox(输入密码错误次数太多,请查证后再输)releaseallthisform.releaseendifthisform.text1.value=this_form.text2.value=tmthis_form.text3.value=this_form.text2.enabled=.f.thisform.text3.enabled=.f.thisform.text1.enabled=.t.(4)"取消(click)代码releaseallclosallthisform.release3结束语上述密码设计方法是我们在用VFP开发应用程序采用的方法,该方法方便,有效,实用,易学,我们把事件驱动的完整代码提供给大家,大家不妨用用看.参考文献1王国芳,郭金泉,段小勇等.VISUAL FOXPRO实践开发指南.北京:中国.铁道出版社,1999,3.2章立民.VISUALFOXPRO程序设计问题篇.北京:中国铁道出版社, 1999,3.3王博,童长武,杨柳,王广云等.VI—SUALFOXPRO6.0计算机语言函数应用.北京:科学出版社,2000,3.。

巧用VFP6.0编写密码程序

巧用VFP6.0编写密码程序

巧用VFP6.0编写密码程序
徐兵
【期刊名称】《电脑知识与技术-经验技巧》
【年(卷),期】2003(000)014
【摘要】随着计算机在我们日常生活中大规模的运用,特别是在数据中的使用,
有时为了数据保密的需要,我们必须为每个数据库应用系统编写一个密码验证程序,以防止非法操作者进入系统对数据的破坏和更改操作。

以前在使用数据库FOXBASE和FOXPRO中也可以编写密码程序,不过得使用命令SET CONSOLE OFF/ON(屏幕是否显示输入的信息)来控制,这种命令式的操作在面向对象的VFP6.0中使用显得太繁锁,下面我介绍巧用VFP6.0编写密码程序的过程。

【总页数】2页(P56-57)
【作者】徐兵
【作者单位】无
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.巧用MasterCAM编写宏程序 [J], 郑小倩;陈华健
2.运用汇编语言程序设计中DOS系统功能调用编写密码检测程序 [J], 王新春
3.用VB编写密码查看程序 [J], 邓双成;焦向东;张沛
4.防君子的密码保护——巧用屏幕保护程序设置Win98/Me开机密码 [J],
5.巧用真值表法编写PLC时序控制程序 [J], 王学军;陆青玲
因版权原因,仅展示原文概要,查看原文内容请购买。

vfp表单所有习题参考标准答案

vfp表单所有习题参考标准答案

vfp表单所有习题参考答案————————————————————————————————作者:————————————————————————————————日期:VFP表单实验参考讲义一、标签和文本框(一)题目要求:(1)该表单的名称为“Form1”,标题为“密码输入窗口”,高度为190,宽度为300;(2)定义一个名称为“Label1”、标题为“请输入密码”、字号为10磅的标签;(3)定义一个名称为“Text1”的文本框,用于输入密码,当输入密码时,屏幕显示“*”;(4)定义一个名称为“Label2”的标签,标题为空,自动调整控件大小;(5)定义一个名称为“Command1”,标题为“显示密码”的按钮,当单击该按钮时,标签“Label2”显示输入的密码,编写Click事件代码(6)定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单。

(不得退出VFP系统)操作要点:1)注意将text1的属性passwordchar设置为:*2)label2的属性autosize设置为:.T.3)“显示密码”按钮Command1的Click事件代码:写法一:bel2.Caption=Thisform.Text1.Value写法二:X=Thisform.Text1.Valuebel2.Caption=X3)“关闭”的按钮Command2的Click事件代码:Thisform.Release(二)Command1 的CLICK事件代码:if thisform.text1.value="abc"bel2.caption="欢迎使用"elsebel2.caption="密码错误"EndifCommand2 的CLICK事件代码:thisform.release(三)代码编写:1)“确定”按钮Command1的Click事件代码:If Thisform.text1.value=”ABCD”Messagebox(“欢迎光临”,65,“密码正确“)ElseMessagebox(“禁止进入“,65,”密码错误“)Endif2)“关闭”的按钮Command2的Click事件代码:Thisform.Release(四)代码编写:1)“确定”按钮Command1的Click事件代码:r=val(thisform.text1.value)s=3.1415926*r*rmessagebox(str(s,5,2),65,”面积”)2) “关闭”的按钮Command2的Click事件代码:Thisform.Release(五)题目要求:(1) 该表单的名称为“Form1”,标题为“温度转换”,高度为260,宽度为400;2) 定义一个名称为“Label1”标题为“摄氏温度”的标签;再定义一个名称为“Label2”标题为“华氏温度”的标签,两个标签的字号均为11磅;3) 定义一个名称为“Text1”的文本框,用于输入摄氏温度,再定义一个名称为“Text2”的文本框,具有只读属性,用于显示华氏温度; 4) 定义一个名称为“Command1”,标题为“转换”的按钮,当单击该按钮时,将输入的摄氏温度转换成华氏温度并显示在Text2文本框中,编写其Click事件代码;其中:华氏温度=9/5*摄氏温度+32 5) 定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单(不得退出VFP系统)。

VFP表单和类库的简单加密 爱思尼

VFP表单和类库的简单加密    爱思尼

VFP表单和类库的简单加密爱思尼03.22 09:08返回群论坛首先看下表单和类库的结构:表单和类库文件在结构上是完全相同的.下面简要说明一下表单和类库的字段和含意:字段名字段类型说明PLATFORM C 说明此文件运行的平台,在VFP 中,总是WIndowsUNIQUEID C 此字段的一个唯一标识TIMESTAP N 该对象的时间印CLASS M 此对象的类名CLASSLOC M 此对象所在的类库名BASECLASS M 此类的基类OBJNAME M 该对象的对象名PARENT M 该类的父类名PROPERTIES M 该对象的属性代码PROTECTED M 此字段只对类库有效,用于说明此类中的哪些对象是受保护的METHODS M 此对象的方法代码,对于去掉调试信息编译的表单或类库,此字段的内容为空OBJCODE M 此对象的方法代码编译后的代码,它的内容相当于一个fxp 文件RESERVED1 M 通常,表单和类库的第一条记录的此字段内容用于说明此文件的版本或说明此记录是一个自定义类RESERVED2 M 说明此类中包含的对象数RESERVED3 M 说明此类中包含的自定义方法及其名称RESERVED6 M 说明此类中包含的对象使用的显示单位RESERVED8 M 说明此类使用到的包含文件名USER M 是给用户使用的,用户可以保存任何信息到此字段中我们完全可以像打开DBF一样使用use 表单名.scx来浏览一个表单。

备注字段的结构表单和类库中的主要内容是保存在备注字段中的,因此有必说明一下备注字段的结构.在scx 和vcx 文件中,备注字段的内容只是一个四字节长的指针(DWORD 型),它指向相应的备注文件中的相应的位置,换句话说,备注字段的值就是该字段内容在sct 或vct 文件中的偏移值.用户是没有办法用一般的方法来修改这个指针值的.在scx 和vcx 文件中的备注字段所指向的sct 或vct 的位置,开始四字节用于说明此备注字段的类型,它可能是以下值:0 –图片(图片字段类型)1 –文本(备注字段类型)2 –对象对于scx 和vcx 文件来说,此值只能是1接下来的四字节是备注长度,再接下来才是备注字段的真正的内容.因此,可以按以下方法来读取一个备注字段的内容:从dbf 中(也就是scx 和vcx 文件)中读取此字段在.fpt 文件中的偏移从该偏移中读四字段来判断此备注字段的类型读取接下来的四字节以确定此字段内容的长度根据此字段的长度来读取相应长度的内容对表单和类库进行加密的目的是让解密者不能编辑和修改加密后的表单和类库,所采用的方法主要是采用修改备注字段的指针,标志和长度.由于VFP 的表单和类库在运行时,并不会全面检查该表单和类库的结构是否正确.对于没有使用到的字段它是不去理会的.因此加密者可以任意修改VFP 没有使用到的备注字段的结构和内容.其次, VFP 似乎具有很强的容错性,对于要用到的字段,即使有些信息不正确,它也会进一步采用其它方法来得到正确的信息.对于一个表单和类库的备注字段的俱体加密方式是:修改scx 或vcx 中的备注字段指针值.如果此字段是VFP 未用到的, 则可以把此指针值修改为一非法值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

密码问题
1、编写程序判断用户输入密码是否正确(用户名为:WDZG密码为:
GSBYB),如果用户输入正确显示“欢迎使用本系统!”否则显示“密码错误请重新输入!”
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:
RETURN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2、编写一程序检验用户输入密码是否正确,密码是“123456”,如果用
户输入正确显示“欢迎使用本系统!”否则显示“密码错误请重新输入!”。

当第三次输入错误时显示“你是非法用户!”最多只允许用户输入错三次。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:方法一:
CLEAR
N=0
DO WHILE .T.
ACCEPT”请输入你的密码:” TO MM
IF ALLTRIM(MM)==”123456”
?”欢迎使用本系统!”
EXIT
ELSE
?”密码错误请重新输入!”
N=N+1
IF N=3
?“你是非法用户!”
EXIT
ENDIF
ENDIF
ENDDO
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 方法二:
CLEAR
FOR N=1 TO 3
ACCEPT”请输入你的密码:” TO MM
IF ALLTRIM(MM)==”123456”
?”欢迎使用本系统!”
EXIT
ELSE
?”密码错误请重新输入!”
IF N=3
?“你是非法用户!”
EXIT
ENDIF
ENDIF
ENDFOR
3、编写一程序检验用户输入密码是否正确,密码是“abcd”,如果用户
输入正确显示“欢迎使用本系统!”再打开xsda.dbf,否则显示“密码错误请核对后输入!”。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:
CLEAR
ACCEPT”请输入你的密码:” TO MM
IF ALLTRIM(MM)==”abcd”
?”欢迎使用本系统!”
use xsda.dbf
ELSE
?”密码错误请核对后输入!”
ENDIF
RETURN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4、有一个存放用户名和密码的表zcxx.dbf,其中有字段YHM
C(8,) ,MM C(6),请编写程序检验用户输入的用户名或密码是否符合zcxx.Dbf中的某一条记录,如果与某条记录匹配则说明用户密码正确提示“欢迎使用本系统!”否则提示“你输入的用户名或密码有误!”
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序:
CLEAR
ACCEPT”请输入你的用户名:” TO kk
ACCEPT”请输入你的密码:” TO ss
use zcxx.dbf
locate for alltrim(kk)==alltrim(YHM) and alltrim(ss)== alltrim(MM)
IF found()
?”欢迎使用本系统!”
ELSE
?”你输入的用户名或密码有误!”
ENDIF
RETURN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5、编写一个注册程序能够让用户将注册信息填写到有一个存放用户名
和密码的表zcxx.dbf,其中有字段YHM C(8,) ,MM C(6)。

CLEAR
?”请输入你要注册的信息(用户名和密码)”
ACCEPT”请输入要注册的用户名:”TO KK
ACCEPT”请输入要注册的密码:”TO SS1
ACCEPT”请确认要注册的密码:”TO SS2
USE ZCXX.DBF
LOCATE FOR ALLTRIM(YHM)==ALLTRIM(KK)
IF FOUND()
?”你输入的用户已经被注册!”
CANCEL
ENDIF
IF ALLTRIM(SS1)==ALLTRIM(SS2)
INSERT INTO ZCXX.DBF (YHM,MM) V ALUES(KK,SS1) ELSE
?”对不起,你两次输入的密码不一致!请重新输入。


ENDIF
RETURN。

相关文档
最新文档