VFP实训报告文档格式.docx
《VFP实训报告文档格式.docx》由会员分享,可在线阅读,更多相关《VFP实训报告文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
在拼音方式中,字符a小于a,但是在机内码表示中,a是大于a的。
另外,不同数据类型不能进行比较。
int是取整函数,mod()函数是用于返回余数,值得注意的是除数为负数的情况,被除数表达式中的小数位数决定了返回值中的小数位;
除数表达式的正负决定了返回值的正负。
round()函数是返回圆整到指定小数位数的数值,需要四舍五入。
rand()函数是随机产生一个0~1的数值,小数位数可以通过setdecimalsto来确定。
2、字符函数。
alltrim()函数是截除字符串的前后空格,trim()是截除字符串末尾的空格,len()是计算字符串的长度,汉字算两个字符,at()函数是用于确定字符串首次出现的位置,substr()是取子字符串,要注意汉字的取法,不能去半个汉字,并且使用输入法时一定要在英文状态下输入各个符号,否则运行出错。
space()可用于设置所需要的空格。
用于显示一个星期中的第几天,day()mouth()year()分别用于显示日月年。
3、日期时间函数。
setdateto可以设置不同的时间输出类型,date(),time()等均是输出当前系统的时间,另外dow()
4、数据类型转换函数。
asc()函数是求首字符的ascii码值,对于汉字字符,则显示其机内码的十进制数表示。
chr()与asc()相反,是通过ascii码值求的对应的字符。
val()函数是将字符型转换成数值型,并且可以通过setdecito设置显示的有效小数位数,值得注意的是a+b是单纯的字符相加,而val(a)+val(b)就是数值的相加。
对于不能识别的内容,则输出0.00。
dtoc()函数是将日期型转换成字符型,同样可以有多种输出形式,ctod()与dtoc()相反,是将字符型转换成日期型,str()则是将数值型转换成字符型。
音条件下,有些字符的大小是不同的,(以下显示一部分
)5、其他常用函数。
between()函数是判断第一个数是否在第二个数和第三个数之间,同样需要注意的是在机内码条件和在拼
四,表达式
表达式通过运算符将常量,变量,函数,字段名等组合起来可以运算的式子,其求值结果为单个值。
(字符表达式示例输出失败,显示无函数名,一下分别是:
日期/时间表达式示例,算数表达式示例,关系表达式示例,逻辑表达式示例,名称表达式与宏替换示例)
一.创建程序文件。
是在项目管理器中代码选项卡下,单
机程序,点击新建即可。
在程序窗口中输入所要输入的
程序内容,输入完毕后点击保存按钮。
二,运行程序。
有好几种方法。
第一,在项目管理器中,选中所要运行的程序,点击右边的运行按钮。
第二,在命令窗口中输入
并执行命令:
domypro1。
第三,如果程序处于编辑状态,单击常用工具栏上的运行按钮即可。
三,编辑程序文件。
编辑程序文件时在项目管理器窗口,选中要编辑的文件,点击右边的修改按钮。
四,使用if…endif条件语句
五,使用docase…endcase条件语句
六,使用for…endfor循环语句
七,使用dowhile…enddo循环语句
八,循环语句与条件语句混合使用
九,在循环语句中使用loop语句
(loop与exit是对于循环的不同命令,loop是结束本次循环,进入下次循环,而exit是结束整个循环。
使用时要注意区别。
)十,在循环语句中使用exit语句
十一,
a)自定义函数的创建与使用将自定义函数以独立的程序文件保存。
在开发某一应用系统时,如仅需要创建一个自定义函数,则可以将其作为独立的程序文件保存。
对于这种情况,定义自定义函数时不需要使用function命令定义函数名,程序文件名即为函数名。
b)
c)
十二,
a)过程文件。
自定义函数位于程序底部。
程序的调试语法错误。
在开发某一应用系统时,如需要创建多个自定义函数,则可以将它们保存在一个程序文件中,称为“过程文件”。
如果创建一个或多个自定义函数仅供某一个程序使用,则可以在该程序的底部定义自定义函数。
程序的语法错误时容易发现的,系统会出现提示框(例下a,b),对于错误的方位,系统也会标注出来,只要根据系统提示进行修改保存,并且在此运行即可。
a
b)逻辑错误b
逻辑错误时之程序能够顺利的运行,但是不是预订的功能,即不能得到正确的结果。
所以对于这种错误,系统是不能识别并且提示的,所以,这种错误只能自己去寻找,并且修改,再次运行。
r需要注意的是loop和exit的区别使用。
实验结论:
掌握vfp基础语句、初步掌握结构化程序设计的方式.。
(了解了很多不同数值之间的转换关系。
实验过程中,输入命令时出现了些低级的但是很容易被忽略的错误,提醒自己下次注意。
对于很多表达式,只是见过,却不知如何使用,在实验中也得到了解答。
)篇二:
vfp实习报告
visualfoxpro及其应用系统开发
(实习报告)
班级:
一:
实习目的:
1、进一步系统把握vfp基本命令2、系统领会vfp的程序设计技巧
3、充分学习vfp面向对象的编程方法与思想
4、初步学习与领会、感知信息系统的开发,为后续课程《管理信息系统》的学习打好实践基础。
二:
实习要求:
1、认真复习vfp的基础知识与基本理论,按照实习大纲认真完成每项任务要求2、设计完成后每位同学认真完成书面设计报告上报任课教师,报告的基本内容应包括(主要对小型系统设计):
1)系统分析:
需求分析、数据分析、功能分析
2)系统设计:
系统总体结构,1~3个自由表的基本结构、代码设计思想3)系统使用说明书:
设计完成后每位同学将所设计的系统考入软盘并与设计报告一起上报任课教师。
三:
实习内容:
一、根据表1,做如下操作练习
表1职工工资表
1、建立工资表文件gz?
?
.dbf,备注定义为memo字段,其中?
?
为本人学号首先,选定“工具”菜单的“选项”命令?
在“选项对话框中选定“文
件位置”选项卡?
在列表中选定“默认目录”选项?
单击“修改”按钮?
在“更改文件位置”对话框中选定“使用默认目录”复选框,然后在“定位默认目录”文本框中输入路径“h:
\vfp实习”?
单击“确定”按钮返回“选项”对话框?
单击“确定”按钮关闭“选项”对话框,将系统默认路径设为h:
\vfp实习。
利用creategz20101003975命令创建.dbf表,其中gz20101003975(姓名c(4),分厂c
(2),基本工资n(4,2),奖金n(4,2),扣款n(4,2),应发工资n(4,2),备注m)。
依次输入数据,即得到工资表。
2、添加、插入、删除、修改练习
输入append命令打开数据输入窗口,即可输入或修改数据。
输入insert[blank]命令,可在表中插入数据。
删除命令deletefor&
lt;
条件&
gt;
+pack(恢复recallfor&
);
zap删除表中所有记录.
输入replace&
字段&
with&
新字段&
即可对表数据进行修改3、记录指针移动、检索操作练习
1)命令go+skip组合即可达到记录指针移动的目的。
如输入命令:
go1skip1
即可让记录指针移动到第二条记录2)顺序检索查询:
usegz20101003975locatefor基本工资&
=480displaycontinue?
found(),recno()displaycontinue
即可查询出基本工资&
=480的工人(程序窗口中将会显示李民和张良两条记录)。
索引查询命令:
usegz20101003975indexon姓名tagxmseek“胡立”?
recno()display
即可查询出“胡立”这一条记录4、排序、索引、统计操作练习1)排序:
usegz20101003975sorttojbgzon基本工资/dusejbgzlist
即可显示出按照基本工资降序排列的新表jbgz。
2)索引:
usegz20101003975indexon奖金tagjjlist
即显示出按照奖金升序排列的表。
3)统计:
(统计奖金大于等于80的人数)usegz20101003975countfor奖金&
=80tors?
’奖金大于等于80的人数:
’,rs
显示结果为“奖金大于等于80的人数:
3”
二、简单编程练习
1、已知半径r=10,计算周长c=2πr*实习2-1主程序ybj=0bj=10
do实习2-1子程序withbj,ybj?
ybj=,ybjreturn
*实习2-1子程序parametersr,cc=pi()*2*rreturn
2、假设银行一、二、三年定期存款的年利率分别为5.0%、5.5%、6.2%。
若储户存款为x元,期末偿还本息为y元,编写计算各种不同定期存款期末应付本息的程序
input请输入银行存款:
toxinput请输入储存年限:
toadocasecasea=1
y=x*a*0.05+xcasea=2
y=x*a*0.055+xcasea=3
y=x*a*0.062+x?
银行存款期末本息和:
yotherwise
wait请检查输入年限!
windowendcase
3、求二元一次方程ax^2+bx+c=0的根x=0
input请输入a的值:
toainput请输入b的值:
tobinput请输入c的值:
tocdocasecasea=0篇三:
vfp实习报告
visualfoxpro
及其应用系统开发
实习报告
学院:
经济管理学院
班级序号:
xxxxx
xxxxxx
xxxxx
xxxxxx
1.汽车修理管理系统
2.实习总结
汽车修理管理系统
一、系统分析
1.需求分析:
某汽车修理长根据业务发展的需要,决定建立一个“汽车修理管理系统”,以取代人工管理,开发目的如下。
(1)能对汽车修理有关的数据进行输入、修改与查询。
(2)编制季度零件订货计划。
(3)打印汽车修理发票和工资月报表。
数据分析:
在调研的过程,用户提供了该系统所需的输入、输出单据。
输入单据包括修车登记表、汽车修理单、零件库存表、领料单、修理工登记表;
输出单据包括季度零件订货计划单、汽车修理发票、修理工工资月报表。
2.功能分析:
(1)数据登记
登记功能用于把各种手填单据中的数据及时登记到系统将要定义的表中,还要求能进行修改。
这些单据包括修车登记单、汽车修理单、零件库存表。
(2)查询
能查询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。
(3)编制并显示季度零件订货计划
编制零件订货计划需要找出要订货的零件,订货条件为:
零件库存量&
最低库存量,订货量可由用户输入或修改。
(4)打印发票
发票中除了包含顾客、汽车及修理项目等数据外,还要算出修车费用。
修车费用和零件费,按夏磊各式计算:
零件费=∑(零件价格*好用数量)
修理费=小时工资*修理工时*3
总计=零件费+修理费
(5)打印修理工工资月报表
某修理工的月工资=∑修理小时*小时工资
二、数据库设计
数据库设计的任务是确定系统所需的数据库。
数据库是表的集合,通常一个系统只需一个数据库。
数据库设计可分为逻辑设计与物理设计两个步骤。
第一步确定数据库所包含的表及其字段。
第二步确定表的具体结构,即确定字段的名称、类型及宽度;
此外还要确定索引,为建立表的关联准备条件。
逻辑设计
小型dbas的逻辑设计可直接从分析输入数据着手,将输入数据着手,将输入数据中的各类相关数据归纳为不同的数据表。
对查询时需要同时调用的若干表,应使它们符合关联要求。
对初步设计好的数据表,可通过分析输出数据来验证其可用性。
若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。
(1)修理单:
xld(编号,牌号,工号,修理项目,修理小时,送修日期,完工日期)
(2)汽车:
qc(牌号,型号,生产厂,车主名)
(3)车主:
cz(车主名,地址,电话)
(4)修理工:
xlg(工号,姓名,地址,电话,出生日期,进场日期,小时工资)
(5)零件用量:
ljyl(编号,零件号,数量)
(6)零件库存:
ljkc(零件号,零件名,成本,价格,库存量,最低库存,订货量)三、应用程序设计
系统的总体结构可用层次图来表示。
这种图自上而下进行分层:
第一层为系统层,通常对应主程序;
第二层为子系统层,一般起分类作用;
第三层为功能层;
第四层为操作层。
下图为本例的总体结构:
1封面设计:
略
主文件(qcxl.prg)
settalkoff
cleaall
setviewtosjhj.vue
publicxldh,zljf
xldh=space(4)
doformfm
keyb{ctrl+f4}
modifywindscreentitl汽车修理管理信息系统
clear
doqcxlcd.mpr
readevent
quit
2、单程序结构
在菜单设计器中分别设计“登记”、“零件管理”、“查询”、“打印”和“退出”菜单项,在“登记”、零件管理“、”打印“结果项选择”子菜单“项,“退出”的结果项选择“过程”项;
编辑“登记”、“零件管理”、“打印“的”子菜单“,分别加入“修车登记”、“汽车修理“、“修理工管理”,同时对“修车登记”、“汽车修理”菜单项分别键入”doformxcdj”、”doformqcxl”;
“零件订货计划”、“零件入库管理”、“零件出库管理”,同时对“零件订货计划”菜单项键入”doformljdh”;
“发票”、“修理工工资月报”,同时对“发票”菜单项键入”doformdyfp”;
在“退出”的过程项中编辑“clearevent”。
从菜单文件生成菜单程序qcxlcd.mpr
菜单程序命令
“退出”菜单项的命令clearevents
按结构设置调用各表单的命令
生成菜单程序
qcxlcd.mpr
过程如下:
1)往命令窗口键入modifyformxcdj,使出现标题为xcdj.scx的表单设计器窗口;
属性设计:
form1的caption属性设置为“修车登记”,autocenter属性设置为.t.;
用数据环境把xld表的编号,送修日期,修理项目和牌号,qc表的型号,生产厂和车主名,cz表的地址和电话等字段拖拽到表单中相应位置。
2)分别设置牌号和车主名两个文本框valid事件代码
seleqc
locatefor牌号=xld.牌号
ifnotfound()
insertintoqc(牌号)values(xld.牌号)
endif
selectcz
locatefor车主名=xld.车主名
insertintocz(车主名)values(qc.车主名)
selectxld
docase
casethis.value=1
ifrecn()&
recc()
skip
endif
casethis.value=2
1
skip-1
casethis.value=3
gotop
casethis.value=4
gobottom
casethis.value=5
doformsrxldh
casethis.value=6
zy=messagebox(是要增页么?
1+48+256,确认增加修理单)ifzy=1
insertintoxld(编号)values(str(val(编号)+1,4))
casethis.value=7
sy=messagebox(是要删页么?
1+48+256,确认删除修理单)ifsy=1
delete
pack
casethis.value=8
selectqc
browtitl汽车修改+space(20)+单击行首可打删除标记,退出就删去pack
casethis.value=9
browtitl车主修改+space(20)+单击行首可打删除标记,退出就删去pack
casethis.value=10
thisform.release
endcase
thisform.refresh
寻页按钮gotfocus事件代码篇四:
vfp原理上机实验报告
上机报告
实验一visualfoxpro基础知识一、实验项目:
visualfoxpro基础知识
二、实验目的:
1、
2、
3、
4、
?
5、
6、
7、了解vfp的安装过程熟练掌握vfp的启动与退出方法熟练掌握vfp操作界面掌握visualfoxpro3种操作方式菜单操作方式命令操作方式程序工作方式了解vfp命令的语法规则熟练掌握项目管理器的使用了解vfp文件类型,熟练掌握前10种文件类型
三、实验平台:
windows操作系统、office办公软件、vfp软件
四、实验内容及要求:
1、vfp的启动与退出
2、熟悉vfp用户界面
3、掌握命令窗口的使用,利用?
|?
显示命令区分命令窗口与主显示窗口
4、练习工具栏的设置与自定义工具栏,设置一个“工资管理”用户自定义工具栏,
要求包括常用的基本按钮。
5、了解visualfoxpro状态栏操作提示
6、创建项目文件——工资管理.pjx
7、设定默认工作路径
8、独立完成上述内容,并提交书面实验报告
五、实验步骤及结果:
1、vfp的启动与退出:
(1)vfp的启动:
方法1:
选择【开始】→【程序】→【microsoftvisualfoxpro6.0】→[microsoftvisualfoxpro6.0],则出现visualfoxpro6.0的初始画面。
选择【关闭此屏】,则进入visualfoxpro6.0主界面。
方法2:
选择【开始】→【运行】,或在资源管理器中调用visualfoxpro6.0的运行文件,即c:
\programfiles\microsoftvisualstudio\vfp98\vfp6.exe.方法3:
在屏幕上创建visualfoxpro6.0的快捷方式图标,用鼠标双击visualfoxpro6.0的快捷方式图标。
(2)vfp的退出:
在visualfoxpro6.0主菜单中,选择【文件】→【退出】。
单击主窗口右上方的关闭按钮。
方法3:
在命令窗口中键入quit命令。
2、熟悉vfp用户界面:
(1)visualfoxpro6.0主界面:
它由标题栏(主界面的第一行,显示应用程序的名称)、菜单栏(主界面的第二行,显示visualfoxpro6.0系统主菜单)、工具栏(主界面的第三行,由一组常用工具组成)、状态栏(主界面的最下面一行,显示当前操作的状态以及帮组信息)和命令窗口(主窗口内的一个子窗口,供用户输入visualfoxpro命令)等几部分组成。
(2)visualfoxpro6.0的菜单系统:
8个选项分别为文件、编辑、显示、格式、工具、程序、窗口和帮助。
其中每一个选项均包括一个下拉式的菜单,当对菜单进行操作时,菜单项的后面有的带黑色箭头(表示该菜单项还有子菜单),有的带省略号(表示执行该命令将弹出一个对话框,供用户进行输入或选择),有的带英文字母(表示该命令的快捷键为ctrl+英文字母),有的菜单项呈灰色(表示该项目在当前状态下不能使用)。
(3)visualfoxpro6.0的工具栏:
分为常用工具栏和其他工具栏。
4、
5、了解visualfoxpro状态栏操作提示:
当选择了某一菜单选项时,就会在状态栏显示该选项的功能,使用户能及时了解所选命令的作用。
visualfoxpro命令执行后,系统在状态栏向用户反馈有关执行情况。
6、创建项目文件——工资管理.pjx:
方法1:
使用【新建文件】命令建立项目文件。
方法2:
利用visualfoxpro6.0的命令建立项目文件
(1)输入命令:
createproject工资管理
.pjx
(2)输入命令:
modifyproject工资管理.pjx
7、设定默认工