vfp6.0中表单的密码问题
- 格式:doc
- 大小:29.00 KB
- 文档页数:6
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中的加密算法一、前言在应用软件中,数据库管理软件是应用的最广泛的软件。
数据库管理软件的安全性、保密性是开发、应用人员较为关心的。
如何防止无关人员浏览数据库,如何防止数据库被非法修改、破坏?常用的方法是给数据库、管理程序加上密码。
那么,加了密码就安全了吗?怎样才能使密码安全呢?二、传统的密码加密方法从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的加密函数【原创实用版】目录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的加密函数摘要: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表单创建登录界面作者:董大伟来源:《消费电子·理论版》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,在“文件”―“新建”下点击“表单”,此时进入表单设计器,所有的设计过程都将在表单设计器中进行。
密码问题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试题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 语言易学好用,其排序、检索速度之快,是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下一个表文件加密的破解
朱世杰;德宝库;白青海
【期刊名称】《内蒙古民族大学学报(自然科学版)》
【年(卷),期】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], 钟琳
因版权原因,仅展示原文概要,查看原文内容请购买。
密码问题
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。