Visual fox pro 中的命令格式
命令动词[<范围>][<表达式表>][for<条件>][while<条件>]<范围>
All :所有记录
Next<n>:从当前记录开始的以下第N条记录
Record<n>:仅对第N条记录进行操作
go 字符串转数组Rest<n>:从当前记录到最后一条记录
Visual fox pro 中的文件类型
项目:pjx
数据库:dbc
表: dbf
程序:prg
查询:qpr
表单:scx
报表:frx
菜单:mnx
视图:vue
文本:txt
结构复合索引文件:cdx
严格日期格式:{^yyyy-mm-dd}
Set date to[日期格式]mdy,ymd……
Set mark to [日期分隔符]
内存变量赋值命令
Store ……to:同时给若干变量赋相同的值
=: 给一个变量赋值
内存变量显示命令
List:一次显示所有变量
Display:分屏显示内存变量
?:任意一个字符
*:任意多个字符
Like<通配符>:list memory like X* 显示以X开头的所有内存变量
内存变量的清除:
Clear memory 清除所有内存变量
Release<内存变量表名> 清除指定内存变量
Release all [like<通配符>]|except<通配符>]
数组A(array)
数组定义
DeclareX(2),Y(3,4)
Dimesion
数组赋值
Store<表达式>to <数组名>
Eg:DeclareA(3)
A(1)=”database system”
A(2)=date()
A(3)=.t..
?A(1),A(2),A(3)
Database system 07\29\12
用字段变量给数组赋值 scatter[fields<字段变量表名>]to <数组名>
用数组数据替换当前记录的字段值 gather from<.数组名>[field<字段表名>]
Visual fox pro 中的常用函数
Abs()绝对值
Int()取整
Sign() 符号函数 返回数值表达式的符号 -1,+1,0
Sqrt() 求平方根
Round()四舍五入 ?round(56.679, 2)56.68
Mod() 求余数 ?(10, 3) 1
Substr() 求子串 ?(‘Yunnan university”, 8, 10) university
Left() 从左端取子串
Right() 从右端取子串
Len() 求字符串长度
Alltrim() 删除子字符串前后空格 ?len(alltrim(“ 画龙点睛 “)) 8
At() 求子串出现的位置
Like() 字符串匹配函数
Time() 时间函数
Date() 日期函数
Eg Year(date()),month(date())
函数类型的转换
Dtoc 日期转换成字符
Str 数值转换成字符
Val 字符转换成数值
& 宏代换函数 用于替换出字符型内存变量的内容(见教材p53)
测试函数
Eof() 表文件尾,最后一条记录后面
Bof() 表文件起始
Recno() 当前记录号
Skip 移动记录指针
Go botoom 记录指针指向最后一条记录
Go top 记录指针指向第一条记录
Reccount() 记录数测试函数
Type () 数据类型测试函数
字符表达式与字符运算
+:把两个字符串连接成一个新的字符串
-:连接两个字符串,将第一个字符串尾部空格移到新字符串末尾
$:包含运算符
Set exact off 字符串比较,以右为准
Set exact on 忽略空格
操作数据库的常用命令
Create database <数据库名> 建立数据库
Open 打开数据库
Modify 打开数据库设计器
Set database to[<数据库名>] 设置当前数据库
Display 显示当前数据库结构
Close 关闭
Delete 删除
操作表的常用命令
Create, use, modify structure(打开表设计器),browse(打开浏览窗口,显示修改记录)
Replace <字段名>with<表达式>for[<范围>] 直接修改记录
Append 在表文件尾追加记录
Append from<文件名>[fields<字段表名>][for<条件表达式>] 利用已有文件追加记录
Insert 在当前记录之后|之前插入记录
Delete 做删除标记
Pack 从磁盘上删除做了删除标记的记录
Zap 从磁盘上删除所有记录
Locate for 查(定位)记录
Continue 继续查满足locate条件的下一条记录
Set filter to 过滤记录
Set fields to 筛选字段
Go(记录号,bottom,top)定位记录指针
Copy structure to<新表文件名> 复制表文件结构
Copy to <新表文件名> 复制表文件
Copy to <新文本文件名> type delimited 将Copy to <新表文件名>
Sort to <新表文件名>on<字段名>/A|/D 物理排序(不改变原表的顺序,而是生成一个排过序的新表
索引的常用命令
Index on<索引表达式>to<索引文件名>|tag<.索引标识> 创建索引
Asc 升序
Desc 降序
Set index to 打开索引文件
Delete tag<索引标识> 删除索引
Primery 主索引
Unique 候选索引
Pack database 清理数据库
视图与查询文件
Create view<视图名> as <select 语句> 创建视图
连接条件
Inner join 内部联接 仅包含匹配的行
Left outer join 左联接(以左边表字段为准)
Right outer join 右联接
Full join 完全连接
Create query 创建查询
SQL 语言
Insert into [databasename!] dbfname values() 插入新记录(数据必须与表的结构一致)
Insert into [databasename!] dbfname from array|memvar 从指定的数组或内存变量中插入新数据
Update [databasename!] dbfname set …… where…… [and\or] 更新记录
Delete from [databasename!]dbfname where……[and\or] 删除记录
Select …… from…… inner join…… on ……into……where [and\or];group by;having;
order by 查询
having:伴随group by 短语使用,指定每个分组应满足的条件
all,top,distinct 指定范围 跟在select 后
[not]between ……and 确定范围
[not] in 确定集合
[not] Like 字符匹配 查询条件,跟在where 语句后面
Is [not] null 空值
And\or 多重条件
%:表示0或多个字符
通配符
_:表示一个字符
Into cursor <临时表名>
Into table<永久表名>
指定查询去向 into array<数组名>
To file<文本文件>
To printer 输出到打印机
数据定义
Check 指定字段或记录的约束条件
Error 不满足条件时显示的出错信息
Default 指定字段默认值
Alter table……add\alter<字段名> 修改表结构
Drop check\default|table 删除
程序设计中的命令
Modify command[<文件名>] 创建命令或过程文件
Do <文件名>.prg 执行命令
Cancel 结束程序执行,返回命令窗口,同时关闭所有打开的文件
Return 返回上级程序
Quit 退出visual fox pro 系统
输入命令
Accept ……to 只接受字符型数据
Input……to 接受各种数据类型
Wait 输入提示信息
选择结构
If……
[else]……
endif 条件语句
Do case
Case……case……
[otherwise]……
Endcase 分支语句
Do while……
[loop]
[exit]
Enddo 循环语句
For<循环变量>=<初值>to<终值>[step<步长>]
……
[exit]
[loop]
Endfor|next 计数型循环
Scan……[for]
[Loop]
[Exit]
endscsan
子程序,过程与自定义函数
Do<文件名>[with<参数1,参数2……>] 子程序调用的命令格式
Return| to master| [to 过程文件名] 返回
带参数的子程序的调用
Parameters<形参变量1>[<形参变量2>……]
过程定义格式
Procedure<过程名>
Return|endproc
过程调用
Set procedure to<过程文件名>[additive]
打开过程文件命令,additive指示打开的同时不关闭已有的过程文件
自定义函数
Function 函数名
<命令序列>
Return
=函数名 调用函数
见p184~192
表单,报表,菜单
属性
Enable 指定对象是否可用
事件
Init 对象建立时触发
Destroy 对象释放时触发
Unload 表单对象释放时触发
Click 鼠标单击对象时触发
注:当表单含有一个确认按钮,default属性值为.T.时,按enter 键,触发确认按钮的click事件
Dbclick 鼠标双击对象时触发
Rightclick 鼠标右击对象时触发
方法
Release 释放
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论