急求,vf的结构化程序设计vf实验报告告

急求,vf的结构化程序设计实验报告
急求,vf的结构化程序设计实验报告
马上要让交,我真的是不会,摆脱帮忙写份吧。
结构化程序设计实验报告: 实验项目名称:结构化程序设计 实验目的: 1、 掌握结构化程序设计的基本思想 2、 熟练掌握三种基本程序结构 3、 掌握利用VF结构化程序设计思想解决数据处理的方法 4、 掌握VF程序调试的基本方法,能进行基本的程序设计(编程) 实验内容及步骤: 1. 内容:实验教材实验7实验8相关实训 2. 步骤:
本实验项目的大致实验步骤为: 1) 在启动的VFP环境下新建、修改程序文件 (此处填写具体操作方法) 2) 在程序代码窗口编写、修改程序语句 3) 保存程序文件(扩展名为.prg)
(此处填写具体操作方法) 4) 运行程序
(此处填写具体操作方法)
实训7-4,7-6,7-8,7-10,7-11,8-1,8-2,8-3具体代码
实验总结: 1. 实验收获 此项除含有个人收获外必须包含以下内容: 1) 选择结构、循环结构语句格式、功能 2) 全局变量、局部变量、本地变量的建立方法 3) 过程、过程文件的建立方法 4) 过程调用方法。 2. 实验建议
等待您来回答
编程领域专家扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
VF程序设计复习资料
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口急求VF程序设计!管理系统!_百度知道
急求VF程序设计!管理系统!
从下面列出几个应用题目任选一个(也可以自选题目)。1.学籍管理系统2.仓库管理系统3.设备管理系统4.家庭财务管理系统5.人事管理系统6.宿舍管理系统7.图书管理系统8.超市进销存管理系统9.职员信息管理系统10.办公用品管理系统11.公交查询系统12.酒店管理系统13.企业工资管理系统14.酒店管理系统15.餐馆点菜系统16.车辆管理系统程序要求:运用所学的VF知识来完成系统开发。(1)尽可能用到所学的知识点。(2)系统设计美观、简洁。(3)系统要能够完成一定的查询、浏览和信息录入功能。(4)要有一定的复杂程度,不能过于简单。程序功能要求:(1)界面要求美观,布局合理。(2)菜单:主菜单项不少于5项,要有二级菜单。(3)表单:不少于10个,每个表单实现一定的主题,创建的表单中要包含多种控件的使用。(4)数据库:至少建立一个数据库,至少建立三个数据库表,并根据需要建立表间关联。每表至少有15条记录,要用到字符型、数值型、日期型、逻辑型和备注型字段,其他字段类型可根据需要选用。(5)程序设计完成后,必须上机调试通过。(6)鼓励大家进行创新,自学一些新技术。评分标准:(1) 系统开发70分。(2) 创新知识10分。(3) 系统介绍及问题回答20分。
加qq或发我邮箱 附带一个一二百字的系统介绍
提问者采纳
采纳率100%
其他类似问题
程序设计的相关知识
按默认排序
其他1条回答
逻辑设计设计从分析输入数据着手,输入数据中的某类相关数据可以归纳为一个表,对需要同时调用的若干表,应使它们符合关联要求。数据库设计好后,可以通过分析输出数据来验证其可用性,若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。本例根据学生信息表和课程基本信息表、教师信息表等输入单据中归纳出包括2个表的数据库,现将这些列出如下:(1)学生单:xs (学号,姓名,性别,出生日期,是否团员,电话,通信地址,邮编,总成绩,备注)(2)课程单:kc (课程号,课程名,学期,学分,教师,所在系)(3)教师单:js (编号,姓名,性别,学历,职称,所授课程,联系方式,备注)以上括号外的符号串是表名,括号外为字段名表,有下划线的字段为关联关键字,根据系统数据处理的需要,这些表的关联情况如图1.1所示。图中用矩形框表示表,需要关联的两个表用线段连接,在线的一端标出了关联关键字,表明必须在这一端的表中建立索引。
老师学时数课程成绩学生图1.1
表间关联的设计① 同时调用不同表中的数据,须将它们关联,故而有时要在表中补充字段。② 数据库设计须注意合理性。若将不同类的数据放进同一个表中,可能会产生数据余。表的分拆往往能减少数据余,但表的个数增多又会增加程序的复杂性,因为须在不同的工作区打开这些表,而且为了实现数据联用定要对表进行关联。1、物理设计下面列出学生学籍管理系统所有表的结构与必须的索引,以便于读者理解本例系统,顺便也列出表的部分记录,详细见xs, kc,js。1.学生单(XS.DBF)字段名类型宽度字段名小数位数学号C字符型4学号 姓名C字符型8姓名 性别C字符型2性别 出生年月D日期型8出生年月 是否党团员L逻辑型1是否党团员电话C字符型16电话通信地址C字符型30通信地址邮编C字符型6邮编总成绩N数值型6总成绩2备注M备注型备注2.课程单(KC.DBF)字段名类型宽度索引课程号C字符型8V课程名C字符型30学期C字符型2学分D日期型2教师C字符型30所在系C字符型303.教师单(JS.DBF)字段名类型宽度索引编号C字符型4V姓名C字符型8性别C字符型2职称D日期型20学历L逻辑型10所授课程C字符型50联系方式C字符型30备注M备注型 学生学籍管理系统的运行环境是Windows 9x/Me/2000/XP+Microsoft Visual FoxPro 6.0。
学生学籍管理系统的具体设计如下:1、学生学籍管理系统主程序(A:\main.prg)功能:提供程序的主界面和进入系统各功能模块的接口,包括一个自右向左滚动的飞字程序。源程序:set talk off &&关闭人机对话set escape off &&设置ESC脱离键不起作用,即误按该键不会终止程序的执行clear all &&清屏set colo to 0/7,7/0 &&设置VFP系统的默认颜色clear &&清屏@4,42 clear to 30,92set colo to 7+/0+ &&从第4行第42列到第30行第92列产生白字黑底的色块@4,42 clear to 30,92 &&显示色块@3,40 clear to 29,90set colo to 7+/4 &&从第3行第40列到第29行第90列产生白字黑底的色块@3,40 clear to 29,90 &&显示色块@4,42,28,88 box space(9) &&从左上角第4行第42列到右下角第28行88列产生线框@7,52 say'==学生学籍管理系统==' &&在第7行第52列显示学生学籍管理系统的字样@8,50 say'-------------------------------' &&在第8行第50列显示分隔线条@9,57 say'==1.录入数据==' &&在第9行第57列显示1.录入数据字样@11,57 say'==2.修改数据==' &&在第11行第57列显示2.修改数据字样@13,57 say'==3.查询数据==' &&在第13行第57列显示3.查询数据字样@15,57 say'==4.统计数据==' &&在第15行第57列显示4.统计数据字样@17,57 say'==5.显示数据==' &&在第17行第57列显示5.打印数据字样@19,57 say'==6.删除数据==' &&在第19行第57列显示6.退出数据字样@21,57 say'==7.退
&&在第21行第57列显示7.退出字样x=1 &&设初值x=1b1=&◆欢迎您使用学生学籍管理系统,请按任意键继续◆重庆工学院吴天美、谭茂燕、袁瑶、王洪梅、曾玲研制。 &&将字符串赋给变量b1do while.t.
&&当条件成立时计算机做下面的语句hz1=substr(b1,x,29)
&&取字符串b1从第1个字符到第29个字符赋给变量hz1@25,51 say hz1
&&在第25行第51列显示字符串hz1bb=inkey(0.6)
&&将等待0.6秒击键的inkey 函数赋给bbif bb&&0
&&变量bb不等于0,即有击键动作发生exit
&&那么,不显示字符串endi
&&与if条件判断语句相配对x=x+2
&&将变量x的值加2赋给xif x&83
&&如果变量x大于83个字符x=1
&&那么,将1赋给变量x,即从头开始显示字符串endi
&&与if条件判断语句相配对endd
&&与do while循环语句相配对@27,51 say'请选择1--7:'
&&在第27行51列显示请选择1-7:的字样wait ' ' to k
&&计算机等待用户从键盘输入一个字符给变量kdo case
&&做选择语句case k='1'
&&当变量k的值等于1时do a:\input
&&计算机跳转到a:\input子程序case k='2'
&&当变量k的值等于2时do a:\modify
&&计算机跳转到a:\modify子程序case k='3'
&&当变量k的值等于3时do a:\search
&&计算机跳转到a:\search子程序case k='4' &&当变量k的值等于4时do a:\total &&计算机跳转到a:\total子程序case k='5'
&&当变量k的值等于5时do a:\dp
&&计算机跳转到a:\dp子程序case k='6'
&&当变量k的值等于6时do a:\del
&&计算机跳转到a:\del子程序case k='7'
&&当变量k的值等于7时set colo to 0/7,7/0
&&设置VFP系统的默认颜色clear
&&清屏retu
&&返回VFP主程序endcase
&&与do case选择语句相配对2、环境配置程序名称:SETTING.PRGset sysmenu offset sysmenu toset status bar offset talk offset notify offset clock statusset palette offset bell on set safety offset escape onset keycomp to windowsset carry onset confirm onset exact onset near onset ansi offset lock onset exclusive offset multilocks onset deleted onset optimize onset refresh to 0,5set collate to ‘stroke’set default to sys(5)+curdir()set path to sys(5)+curdir()set sysformats offset seconds onset century offset currency leftset currency to ‘nt$’set hours to12set date to usaset decimals to 2set fdow to1set fweek to 1set mark to ‘.’Set separator to ‘.”Set point to ‘.’环境还原程序名称:RESET.PRGset sysmenu to defaultset sysmenu onset talk onset notify onset exclusive onset safety onmodity window screen3.密码功能的设置密码功能包括输入密码、修改密码、添加用户、删除用户。只有当用户正确输入本人的密码后才能进入系统,更改密码也只允许更改自己的密码。只有单位的主管人员才有权添加用户和删除用户。为此设置了用户等级,这也是由主管人员设定的。用户等级不同,权限就不同。如用户等级为4,仅能进行档案输出的操作。(一)设计思路:(1)建立一个数据库:密码库,(2)并创建表checker.dbf,(3)其中字段公别为Cpassword(密码)、Name(合法用户名)、Rank(权限等级)。(二)输入密码表单的设计:&1&通过组合框(combo box)选择合法用户,并在其Interactivechange事件中编写代码令输入密码的文本框得到焦点(允许输入值了),该事件发生在当控件的value值改变时。&2&在“确定”按钮的click事件中编程,先在表中寻找用户名(用locate for语句),再通过判断输入密码与数据库中相应值是否相等来判断密码是否正确。若错误可重新输入,但设置局部变量I来累计输入次数,可设定只能输入三次,当I大于3就释放该表单。并弹出消息框说明不能进入本系统。在主程序中设有全局变量yhdj,若输入密码正确则给yhdj赋值为用户等级字段。&3&添加“说明”标签,说明密码输入的规定。为增加美观性,可使用Active X控件Three Frame Control。&4&Active X控件的添加方法与添加自定义类的方法相同。&5&将标签添加其中,构成说明框。&6&若希望当鼠标在按钮上停留一秒后有提示框,则可设置表单的Show Tips属性为.T.,按钮的Tooltip Text属性为希望显示在提示框中的内容。&7&若希望鼠标在按钮上时改变形状,则可设置按钮的Mouse Pointer属性为:99-自定义,Mouse Icon属性为希望出现的图标文件。(三)密码表单的设计&1&修改密码部分与上一表单相同,当输入密码正确后方可输入新的密码或进入系统:若用户等级较高则还可进入增删用户表单。这些均在输入密码文本框的Lostfocus事件中编程。该事件在该文本框失去焦点时发生。&2&输入新密码后检验密码不能为空,这在该文本框的Lostfocus事件中编程实现。&3&还设置了确认密码框,防止偶然输入错误。当输入密码与确认密码不同时让用户重新输入。这些是按钮“确定”的Click事件中编程解决的。若无错误,单击“确定”钮后,用replace……with语句代替原来密码。设置缓冲区环境,可以通过前述的tableupdate()和tablerevert()函数真正修改或放弃修改密码。(四)密码设置表单的设计密码设置表单的设计,包括增加用户和删除用户。&1&用页框分别完成这两项工作。一页增加用户,另一页删除用户。&2&增加用户时未使用缓冲区,而用skip-1、ship代替,这样做同样可以把结果直接存入相应的表中。4.权限设置:关于用户的权限问题,因在主程序中设置了全局变量,又在输入密码和修改密码表单中为其赋了值,故在表单操作中只需判断其值就可以完成权限的配置。而在菜单中也需要限制,它也是通过这个全局变量的值,使用菜单的跳过(skip)项实现的,具体将在菜单的设计中介绍。5、录入模块子程序(A:\input.prg)功能:提供卡片式的录入数据界面。源程序:set talk offuse a:\xj &&打开a:\xj.dbf数据库文件go bott &&将记录指针移到数据库的末尾skip &&跳到下一条记录hk=recn() &&将当前记录号赋给变量hkhk1=str(hk,3) &&将变量hk值的前三位,由数值转换为字符串赋给hk1c1=.t. &&将逻辑型变量“真”赋给变量c1do while c1 &&当条件成立时计算机做下面的语句a1=spac(2)
&&将2个空格赋给变量a1a2=spac(6)
&&将6个空格赋给变量a2a3=spac(2)
&&将2个空格赋给变量a3a4=spac(8)
&&将8个空格赋给变量a4a5=spac(2)
&&将2个空格赋给a5a6=spac(8)
&&将8个空格赋给a6a7=spac(30)
&&将30个空格赋给a7a8=spac(6)
&&将6个空格赋给a8a9=spac(6)
&&将6个空格赋给a9a10=spac(50)
&&将50个空格赋给a10kk=.t.
&&将逻辑型变量“真”赋给变量kkdo while kk
&&当条件成立时计算机做下面的语句clea &&清屏@1,5 say&输入第&+hk1+&张卡片& &&在第1行第5列显示输入第&+hk1+&张卡片的字样,其中,hk1为宏替换hk=hk+1 &&变量hk的值增1hk1=str(hk,3) &&将变量hk的值取3位赋给hk1@row()+1,5 say&学号:&get a1 &&在当前行的下一行第5列显示学号字样@row(),40 say&姓名:&get a2
&&在当前行第40列显示姓名字样@row()+1,5 say&性别:&get a3
&&在当前行的下一行第5列显示性别字样@row()+1,5 say&出生年月(MM/DD/YY):&get a4
&&在当前行的下一行第5列显示出生年月字样@row()+1,40 say&是否团员:&get a5
&&在当前行的下一行第5列显示是否团员字样@row()+1,5 say&电话:&get a6
&&在当前行的下一行第5列显示电话字样@row()+1,40 say&通信地址:&get a7
&&在当前行的下一行第5列显示通信地址字样@row()+1,5 say&邮编 :&get a8
&&在当前行的下一行第5列显示邮编字样@row()+1,5 say&总成绩:&get a9
&&在当前行第40列显示是否总成绩字样@row()+1,5 say&备注:&get a10
&&在当前行的下一行第5列显示备注字样read
&&将键盘所输内容读入内存y=&y&
&&将字符y赋给变量y@12,5 say&输入正确吗?(Y/N)&get y
&&在第12行第5列显示输入正确吗字样read
&&并将输入的y或n读入内存if y=&Y&.or.y=&y&
&&如果变量y值为大写的Y或小写的ykk=.f.
&&那么,将逻辑否赋给变量kkendif
&&与if 相配对enddo
&&与do while相配对appe blan
&&添加新记录到空白记录replace 学号 with a1,姓名 with a2,性别 with a3,出生年月 with ctod(a4),是否团员 with a5replace 电话 with val(a6),通信地址 with val(a7),邮编 with val(a8),总成绩 with a9,备注with a10
&&替换键盘输入的内容到相应的字段中y=& &
&&将一空格赋给变量yclea@14,5 say&继续输入吗?(y/n)&get y
&&在第14行第5列显示继续输入吗字样read
&&并将输入的y或n读入内存if y=&N&.or.y=&n&
&&如果变量y值为大写的N或小写的nkk=.f.
&&那么,将逻辑否赋给变量kkexit
&&退出输入界面endif
&&与if相配对enddo
&&与do while相配对clear
&&清屏do a:\main
&&运行A:\main.prg主程序6、修改模块子程序(A:\modify.prg)功能:提供卡片式的修改数据的功能。源程序:set talk offset delimiter offuse a:\xj
&&打开数据库文件A:\xj.dbfkk=.t.do while kkcleargo topyy=space(2)@4,20 say&请输入学号& get yyreadloca all for 学号=yyif eof()@5,5 say& &wait&该记录不存在!请按任意键返回!&y=&y&clea@6,5 say&继续修改吗?(Y/N)& get yreadif y=&Y&.or.y=&y&loopendicleado a:\mainretuendicleakk=.t.do while kkclear@row()+1,1 say&学号:& get 学号@row(),40 say&姓名:& get 姓名@row()+1,1 say&性别:& get 性别@row()+1,1 say &出生年月:& get 出生年月@row(),60 say&是否团员:& get 是否团员@row()+1,1 say&电话:& get 电话@row()+1,25 say&通信地址:& get 通信地址@row(),25 say&&邮编:& get 邮编@row()+1,1 say&总成绩:& get 总成绩@row(),60 say&备注(双击文本框输入内容):& get 备注ready=& &@9,15 say&修改正确吗?(Y/N)& get yreadif y=&y&.or.y=&Y&kk=.f.elseloopendienddocleary=&&@5,15 say&继续修改吗?(Y/N)& get yreadif y=&n&.or.y=&N&kk=.f.endifenddocleado a:\main7、查询模块子程序(A:\search.prg)功能:提供按学号检索、按姓名检索、按学号和姓名检索和按学号、姓名、性别检索三个子模块的查询数据功能。表单上的按钮功能包括:输入查询条件、查询、显示查询条件、清除查询条件、打印预览、打印和放弃。起初,除输入查询条件、显示查询条件和放弃外按钮均是不能选择的。当单击“输入查询条件”按钮时,表单元上的字段均为空,用户可以输入任意知道的条件做为查询条件,这些条件均是“与”的关系。这时,按钮也可以被选择了,若单击查询,查询结果就显示在表单的逐条浏览页上,同时,在该页上还显示了共查询到几条记录及可用移动记录按钮逐条查看记录。显示查询条件按钮可以查看本次查询输入的条件;清除查询条件按钮可以清除本次查询的条件以备下一次查询;打印按钮将本次查询结果输出到打印机;放弃按钮则放弃本次查询并释放本表单元。为了方便查看,还可以在表单的浏览佤页中一次查看到全部查询到的记录;并能在浏览字段设定页中设定佤浏览时该字段的显示与否。设计思路:(1)利用拖放操作形成标(2)签对象和文本框对象。(3)通过BEGIN TRANSACTION命令开始一次事务处理,(4)通过ROLLBACK命令结束这一事务处理,(5)并且将对表所作的各种更改存储下来。(6)新增一条记录用于存储查询条件,(7)并新建一个过程parsecondition,它返回一个表达式,形如“字段名所输入的值”。而后在查询按钮的Click事件中运用循环语句判断在哪个字段中输入了值,并将所有输入的备件用AND连接,作为用SET FILTER TO命令过滤记录的表达式和计算记录数的FOR语句的内容。(8)在SET FILTER TO 语句和计算记录数的COUNT语句中都用到了宏代换符“&“,宏代换在编写代码时很有用,它返回一个变量的内容。在实时处理时都要用到。(9)为了将自己挑选的字段显示在佤浏览表格(Grid)中,首先建立一个页框(Pageframe),将上面利用拖放操作形成的标签和文本框放在第一页“逐条浏览”上,而后为每个字段名建立一个复选框,放置在页框的“浏览字段设定”页上,有对钩表示选中,无对钩,表示不选。默认状态下是全选(全部打对钩),单击后去掉对钩,表示不选。为动态反映,(10)建立一个全局变量数组存储。并在“全局浏览”页面被激活时给表格的每个column的header1.Caption和Controlsouce赋值为数组中的值即可。源程序:set talk offset delimiter offset safety off
&&重建索引时不提示覆盖use a:\xjinde on 学号 to a:\xh
&&按学号建立索引文件xh.idxinde on 学号+姓名 to a:\xhxm
&&按学号和姓名建立索引文件xhxm.idxinde on 姓名 to a:\xm
&&按姓名建立索引文件xm.idxstor.t.to cdo while ccleartext检索功能表0---退出检索系统1---按学号检索2---按姓名检索3---按学号和姓名检索4---按学号、姓名、性别检索endtdd=1@row()+1,17 say&请输入功能号& get dd pict &9& rang 0,4readdo casecase dd=0cleardo a:\mainretucase dd=1clearn1=spac(2)@4,20 say&请输入学号& get n1readuse a:\xj inde a:\xh
&&打开数据库文件xj.dbf并打开按学号建立的索引文件xh.idxfind &n1
&&查找字符串n1,&为宏替换case dd=2Clearn2=spac(6)@4,10 say&请输入姓名& get n2readuse a:\xj inde a:\xmfind &n2case dd=3clearn1=spac(2)n2=spac(6)@4,10 say&请输入学号& get n1@5,10 say&请输入姓名& get n2readuse a:\xj inde a:\xhxmn4=n1+n2find &n4case dd=4clearn1=spac(2)n2=spac(6)n3=spac(2)@3,10 say&请输入学号:& get n1@4,10 say&姓名:& get n2@5,10 say&性别:& get n3readloca for 学号=n1.and.姓名=n2.and.性别=n3
&&查找条件是学号为n1并且姓名为n2并且性别为n3的记录otherretuEndcif eof() &&如果已到文件尾clearwait'对不起!没找到。请按任意键返回!'loopendifcc=.t.y=& &do while ccset devi to scre &&设置屏幕显示字符clea@row(),5 say&学号:&+学号@row(),40 say&姓名:&+姓名@row()+1,5 say&性别:&+性别@row()+1,5 say&出生年月:&+dtoc(出生年月)@row()+1,40 say&是否团员:&+是否团员@row()+1,5 say&电话:&+电话@row(),40 say&通信地址:&+通信地址@row()+1,5 say&邮编:&+邮编@row()+1,5 say&总成绩:&+总成绩@row()+1,5 say&备注:&+备注@20,20 say&不继续查找打N,否则打任一键& get yreadif y=&N&.or.y=&n&clearstor.f.to ccloopelseEndifif.not.eof()loopEndifstor.f.to ccEnddostor.f.to cEnddousedo a:\main8、统计模块子程序(A:\total.prg)功能:提供统计人数、平均成绩和党员人数的功能。源程序:set talk offuse a:dd=0stor.t.to cdo while ccleartext统计功能表0---退出统计系统1---统计人数2---统计平均成绩3---统计党员人数endtdd=1@row()+1,17 say&请输入功能号& get dd pict &9& rang 0,3readdo casecase dd=0cleardo a:case dd=1clearcoun to aa
&&计算记录数并把值赋给aa@4,20 say&总人数:&??aa
&&显示变量aa的值a=' '@7,20 say&按任意键返回!&readif a=''loopendicase dd=2clearaver 总成绩 to aa
&&对总成绩求平均并把平均值分别赋给变量aa@4,20 say&求总成绩平均成绩为:&??aaa=' '@9,20 say&按任意键返回!&readif a=''loopendicase dd=3clearcoun for 是否团员=&是& to aa
&&统计党员数,并把值赋给aa@4,20 say&团员人数为:&??aaa=' '@9,20 say&按任意键返回!&readif a=''loopendiendcreturnendd9、显示模块子程序(A:\dp.prg)功能:提供卡片式的显示记录的功能。源程序:set talk offset devi to screuse a:\xjkk=.t.do while kkcleahk=recn()hk1=str(hk,3)@row(),5 say&您现在浏览的是第&+hk1+&张卡片&@row()+1,5 say&学号:&+学号@row()+1,5 say&姓名:&+姓名@row()+1,5 say&性别:&+性别@row()+1,5 say&出生年月:&+dtoc(出生年月)@row(),40 say&是否团员:&+是否团员@row()+1,5 say&电话:&+电话@row()+1,40 say&通信地址:&+通信地址@row()+1,5 say&邮编:&+邮编@row()+1,5 say&总成绩:&+总成绩@row()+1,5 say&备注:&+备注wait '请按n键浏览下一条记录,按l键浏览上一条记录,按y键返回主程序!' to kdo casecase k='n'if eof() &&如果已到文件尾go top &&将文件记录指针移到文件记录的首记录elseskip &&否则,跳到下一条记录endihk=hk+1case k='l'if bof() &&如果已到文件开头go bott &&将文件记录指针移到文件记录的最后一条记录elseskip -1 &&否则,跳到上一条记录endihk=hk-1case k='y'cleardo a:\mainkk=.f.endcendd10、删除模块子程序(A:\del.prg)功能:提供逻辑与物理删除的功能。源程序:set talk offset devi to screuse a:\xjyy=& &yn=& &de=spac(2)clear@4,20 say&请输入要删除记录的学号& get dereadloca all for 学号=deif eof()wait&查无此卡片!击回车键退出!&cleardo a:\xjretuendiif.not.eof()cleahk=recn()hk1=str(hk,3)@row(),5 say&您现在浏览的是第&+hk1+&张卡片&@row()+1,5 say&学号:&+学号@row()+1,5 say&姓名:&+姓名@row()+1,5 say&性别:&+性别@row()+1,5 say&出生年月:&+dtoc(出生年月)@row(),40 say&是否团员:&+是否团员@row()+1,5 say&电话:&+电话@row(),40 say&通信地址:&+通信地址@row()+1,5 say&邮编:&+邮编@row()+1,5 say&总成绩:&+总成绩@row()+1,5 say&备注:&+备注endif@13,20 say&是这个记录吗?(Y/N)& get ynreadif yn=&n&.or.yn=&N&cleado a:\xjretuendiif yn=&y&@14,20 say&真要删除吗?(Y/N)& get yyreadif yy=&y&.or.yy=&Y&delete &&删除当前记录(逻辑删除,但不是真正将当前文件记录从VFP中删除)endifendiclearstor & & to y@15,15 say&删除的记录从盘中彻底清除吗?(Y/N)& get yreadif y=&y&.or.y=&Y&pack &&真正删除当前记录(物理删除)endifcleado a:\xj
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 vf实验报告 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信