序号 |
留言内容 |
D:2011-3-29 T:7:20:00 IP:192.168.8.40
作者: 张顺海 | 2011.3.29 星期二 1、2节
上机内容:
1.复习第79条留言内容,知道程序设计的基本概念、分类、基础知识。
2.明白常量、变量、函数、表达式的相关知识。
3.变量(内存型变量、字段变量、数组)。内存型变量的定义、显示、保存、删除、恢复等。
4.程序设计的三种常用的设计结构。(顺序、选择、循环)
5.过程文件的概念、建立、调用、运行。
6.带参数的子程序的调用,参数的传递,变量在传递过程中的作用域。
7.全局型、私有型、本地型,外加同名变量保护型(private型),在程序设计中的作用域。
8.相关的程序设计段落。
1)循环次数的计算;
2)三种选择结构(单分支、双分支、多分支)
3)三种循环结构(do...enddo、for...endfor、scan...endscan)
4)顺序排序法、气泡排序法的程序设计。(数组、双重循环的控制使用)
5)简单的二维图形的设计(其实是双重循环的使用)
6)简单的控制数据表信息查询(do whil .not.eof()..skip...enddo的使用)
9.查看相关章节的内容留言,并写相关的作业(多做、多练、多总结)。‘做’是多做不同类型的题达到广,‘练’是多练同一道题达到熟,‘总结’是多积累经验达到举一返三。
|
D:2011-3-24 T:14:03:00 IP:192.168.8.40
作者: 张顺海 | 2011.3.25 3、4节课 授课内容
内容:VisuallFoxPro程序设计
知识要点:
一、常量和变量
1.常量(字符型常量、数值型常量、日期及日期时间型常量、逻辑型常量、货币型常量)
2.变量(内存变量、字段变量、数组变量、系统变量)
二、常用函数
1.数值型函数(abs()、int()、sqrt()、max()、min()、round()、mod()、exp()、log()、pi())
2.字符型函数(space()、substr()、len()、left()、right()、stuff())
3.日期和时间型函数(date()、time()、datetime()、year()、month()、day()、dow()、cdow())
4.转换函数(str()、val()、upper()、lower()、asc()、chr()、ctod()、dtoc())
5.测试函数(type()、iif()、bof()、eof()、found()、recn()、reccount()、dbf()、sele())
三、表达式
1.数值表达式(+ - * / ** ^)
2.字符表达式(+ -)
3.日期表达式(+ -) D+N D-N D-D
4.关系表达式(> >= < <= <> != # = == $)
5.逻辑表达式(not and or)
四、程序文件的建立与运行
1.建立程序文件(程序文件是文本文件)
a.项目管理器-代码-程序-新建
b.命令菜单-文件-新建-程序-新建
c.通过命令:modify command [<程序文件名>]
2.保存程序文件
按组合键:Ctrl+W
按钮:单击工具栏上的‘保存’按钮或‘文件’菜单中的保存命令。
形成的文件扩展文件名为:.prg
3.编辑程序文件
可以使用项目管理器选中文件,单击‘修改’按钮。
使用命令:modify command 程序文件名
注:modi comm具有新建新文件功能,也具有打开旧文件的功能。
分号“;”的使用:续行符
星号“*”的使用:整行注解(即注释行,不执行)
末端注释:&&(用于行末注释)
整行注释:*或者note (note后应有一空格)
4.运行程序文件
a.项目管理器中选中程序文件,单击‘运行’按钮
b.菜单方式:程序菜单-运行-选择文件
c.命令执行:do <程序文件名>
五、简单交互式命令
1.wait [信息][to 变量]
2.accept [信息][to 变量]
3.input [信息][to 变量]
注:这三个都是从键盘上获得数据,创建变量,通常用于动态给获得数据。三个命令,各有所长,请同学们区别对待。
六、程序设计
VisualFoxPro程序分为顺序结构、选择结构、循环结构三种基本的程序结构。
1.顺序结构(自上而下,顺序依次执行)
2.选择结构(根据条件真假选择执行)
3.循环结构(根据条件真假重复执行某段代码)
实例:(数据来源于tushu.dbf)
1.查看某处出版社中的所有图书信息
clear
acce "请输入你要查询的出版社名称" to cbs
sele * from tushu where 版别=cbs
return
2.分析下边的三段程序代码:
1)
clear
input "x=" to x
if x<10
y=x^2+5
else
y=x-7
endif
? "y=",y
return
2)
clear
input "x=" to x
y=x-7
if x<10
y=x^2+5
endif
?"y=",y
return
*以上两段程序代码完成的效果一样吗?哪种易读
3)
clear
use v46
accept "学生学号" to xh
locate for 学号=xh
if found()
do case
case 语文<60
? 学号,语文,"不及格"
case 语文<75
? 学号,语文,"合格"
case 语文<90
? 学号,语文,"良好"
othe
? 学号,语文,"优秀"
endcase
else
? "输入错误,没有这个学号"
endif
return
4)for.....endfor
clear
for i=1 to 100
if mod(i,3)=0
?? i
endif
endfor
return
5)do while .....enddo
clear
use tushu
do whil .not. eof()
if 版别="延边人民出版"
disp
endif
skip
enddo
use
return
6)scan .....endscan
clear
use tushu
scan
if 版别="延边人民出版"
disp
endif
endscan
*注意没有使用skip,说明这个循环有这个功能。
7)循环嵌套(for ....next)配套也可以
clear
for i=1 to 5
for j=1 to i
?? "*"
endfor
?
endfor
return
七、过程与过程调用
1.子程序设计与调用(procedure...endproc)
2.过程文件的打开与关闭
打开:set procedure to 过程文件
关闭:set procedure to或者close procedure
3.过程文件的调用
do <过程文件名>
4.带参数的过程调用
do <过程文件名> with <参数1,1参数2..>
5.带参数的过程
首语句为parameters<参数1,参数2..>
6.变量作用域
a.公共变量 (public)
b.私有变量(不用声明的)
c.本地变量(local)
特殊保护同名变量:private
7.自定义函数
本身是一个带参数的过程,并带返回值。
自定义函数的首语句也是parameters <参数列表>
其他的请参考:
函数:http://192.168.8.40/ch01/vfp8/hanshu.mht
程序设计:(第55、57、58、60条留言)
变量作用域:第64条留言,练习66条留言 |
D:2011-3-22 T:11:56:00 IP:192.168.8.40
作者: 张顺海 | 2011.3.22 星期二 1、2节
1.复习相关的索引文件函数:
dbc()、dbf()、ndx()、mdx()、cdx()
tag()、tagcount()、tagno()、order()
2.视图
建立视图的命令:crea view [文件名] as sele语句
视图,也是查询(来源于一张或者多张已经存在的表格),是可以更新数据源的查询,可以像常规表格一样使,它依附于表格,保存于数据库(.dbc)中。
视图设计器与查询设计器不同的地方:在视图设计器的选项卡中多一个‘更新条件’。在这里可以设计视图更新数据源的方式。
视图与查询建立的命令不一样,分别是:create view和create query 。查询结果是只读的,不可以更改。视图查询的结果是可以更改的,但要设计更新依据。
如果想设计视图的更改回送到数据源中,应该设置‘更新条件’中的‘发送SQL更新’复选框。更新需要设计‘关键’字段,选择字段名前的‘钥匙’标志,可更新的字段名前‘笔形’标志。
因为多用户操作的可能有,即在你更新数据源的之前已经被别的用户进行了更新,可能会发生冲突或者错误,因此要设置“SQL WHERE 子句包括”选项,保证出现冲突时使本次的更新失效。
‘使用更新’中的SQL DELETE再INSERT和 SQL UPDATE,用于说明更新的方式,前者是先删除原始记录,并创建一个新的和视图中补修改的记录,后者是用视图字段中的变化来修改原始表的记录。
视图分为本地视图和远程视图。
3.修改视图:modi view (视图文件名)
修改查询:modi query (查询文件名)
4.删除视图:drop view (视图文件名)或者dele view (视图文件名)
删除查询:dele file (查询文件名)
5.查询的扩展文件名:.qpr;.qpx,运行:do xx.qpr
视图的扩展文件名:.vue,运行:use 视图文件名
6.作业题订正。
|
D:2011-3-15 T:8:15:00 IP:188.188.2.61
作者: 张顺海 | 索引相关函数:
1.返回当前打开的数据库名:dbc()
2.返回当前打开的表格名:dbf()
3.返回当前打开的索引名:
1)单一索引:ndx()
2)复合索引:cdx(n)或者mdx(n)
3)复合索引中的索引标识:tag(n)
4)当前打开的索引的索引标识个数:tagcount()
5)返回当前表格的主控索引的标识:order()
4.根据索引标识返回索引文件中的索引位置:tagno(c索引标识) |
D:2011-3-13 T:11:46:00 IP:188.188.2.61
作者: 张顺海 | 作业:
1.查询tushu.dbf中同一出版社出版了哪几种价格的图书。
SELECT 版别,单价,count(单价) from tushu group by 版别,单价 orde by 版别 desc
延边人民出版 298 4
延边人民出版 394 1
延边人民出版 656 2
2.查询tushu.dbf中同一出版社出版了多少不同价格的图书。
SELECT 版别,count(dist 版别) from tushu group by 版别,单价 orde by 版别 desc
版别 DCNT_版别
中国盲文 1
远方出版社 12
远方出版 1
银声音像出版 1
×延边人民出版 3
延边人民 1
延边大学 8
|