VFP第三章课件
合集下载
visual foxpro 第3章PPT教学课件

3.2.2 创建程序文件
1. 命令创建
使用命令窗口创建程序的命令为:
MODIFY COMMAND 程序名
2. 菜单创建
3. 项目管理器创建
项目管理器中程序文件保存在“代码”中的
2020“/12/程10 序”中。创建程序文件的步骤为:
11
3.2.3 编辑修改程序
1. 编辑程序 程序创建后,即可在程序设计器中编写程序,
VFP中的程序部分由系统创建,部分需要 用户编写。
VFP中的程序文件后缀为.qpr。程序文件 由命令、注释组成,并能在VFP中通过命 令调用运行。程序设计涉及到操作符、 表达式、函数、命令、程序控制等大量 程序基础知识。
2020/12/10
10
3.2.1 命令窗口Fra bibliotek命令窗口是VFP窗口中的常用工具,通过它可 以实现创建VFP文件、执行命令、调用程序等 基本操作。
4
3.1.2 创建数据库
1. 在项目管理器中创建 承接上一章建立的“学生选课成绩管理
系统”项目,现使用项目管理器为该项 目创建数据库“学生选课成绩数据库”.
2020/12/10
5
3.1.2 创建数据库
2. 在系统菜单中创建
使用“数据库设计器”工具栏中的按钮可以快 速完成与数据库相关的操作。
【数据库】菜单中包含了各种可用的数据库命 令。
(2)QUIT:用于正常保存数据、删除磁盘临时 文件并退出VFP系统,返回到Windows。
第3章 数据库设计与程序设计基础
3.1 数据库设计 3.2 Visual FoxPro的编程机制 3.3 基本语句 3.4 数据存储 3.5 运算符与表达式 3.6 过程与函数 小结
2020/12/10
数据库管理系统VFP第三章PPT课件

例如,一个命令按钮控件的常用属性设置如表所示。
9
10
连续设置多个属性,可以使用WITH…ENDWITH结构一 次为对象设置多个属性。
With结构如下所示: WITH 对象 语句块 ENDWITH
11
对象的方法
方法:封装在对象中的过程,但又不同于一般 的过程。VFP的方法属于对象的内部函数,只 用于完成某个特定任务的功能模块,方法的使 用不像事件程序一般需要在某一事件发生时响 应,而是在程序中直接调用。而不一定相应某 事件。方法被封装在对象内部,不同的对象有 不同的方法,根据需要用户可以根据需要自行 建立新方法。
LostFocus:对象失去焦点时发生的事件。
KeyPress:当用户按下或释放键时发生的事件。
InteractiveChange:以交互方式改变对象的值时发生的 事件。
ProgrammaticChange:以编程方式改变对象的值时发生
的事件。
16
对象的引用
对象的包容层次 对象的引用
17
(1)绝对引用:通过提供对象的完整容器层次来引用对 象,从最高容器开始逐层向下直到某个对象为止的引 用称为绝对引用。 Formset.Form.OptionGroup.Option.Enabled=.F.(使选项 按钮组第一个选项控件无效)
14
事件发生时具体完成什么任务则取决于用户在事件 中编写的程序代码即事件过程。如单击某一个命令 按钮将进行的操作就决定于在命令按钮中编写的事 件过程(即程序代码)事件过程除了由事件的激发 而调用其程序代码外,也可以在程序运行中调用其 代码,在程序中调用事件代码的格式是: 表单名.对象名.事件名 VFP编程的核心是为每个要处理的事件编写响应事件 的程序代码,对象的事件名在代码窗口的过程列表 框中。
9
10
连续设置多个属性,可以使用WITH…ENDWITH结构一 次为对象设置多个属性。
With结构如下所示: WITH 对象 语句块 ENDWITH
11
对象的方法
方法:封装在对象中的过程,但又不同于一般 的过程。VFP的方法属于对象的内部函数,只 用于完成某个特定任务的功能模块,方法的使 用不像事件程序一般需要在某一事件发生时响 应,而是在程序中直接调用。而不一定相应某 事件。方法被封装在对象内部,不同的对象有 不同的方法,根据需要用户可以根据需要自行 建立新方法。
LostFocus:对象失去焦点时发生的事件。
KeyPress:当用户按下或释放键时发生的事件。
InteractiveChange:以交互方式改变对象的值时发生的 事件。
ProgrammaticChange:以编程方式改变对象的值时发生
的事件。
16
对象的引用
对象的包容层次 对象的引用
17
(1)绝对引用:通过提供对象的完整容器层次来引用对 象,从最高容器开始逐层向下直到某个对象为止的引 用称为绝对引用。 Formset.Form.OptionGroup.Option.Enabled=.F.(使选项 按钮组第一个选项控件无效)
14
事件发生时具体完成什么任务则取决于用户在事件 中编写的程序代码即事件过程。如单击某一个命令 按钮将进行的操作就决定于在命令按钮中编写的事 件过程(即程序代码)事件过程除了由事件的激发 而调用其程序代码外,也可以在程序运行中调用其 代码,在程序中调用事件代码的格式是: 表单名.对象名.事件名 VFP编程的核心是为每个要处理的事件编写响应事件 的程序代码,对象的事件名在代码窗口的过程列表 框中。
vfp课件第三章

§3.2 程序文件设计
• • • • • • 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 程序设计基本特点 算法表示 程序文件的建立和执行 简单的输入输出语句 程序注释与环境设置语句 程序文件示例
§3.2.1 程序设计基本特点
• 程序的质量标准是“清晰第一,效率第二” • 程序书写规范,风格统一。 • 结构化程序设计的基本结构规定为:顺序 结构,选择结构,和循环结构。 • 一个大的程序开发应当采用“自顶向下、 逐步细化和模块化”的方法。
§3.2.5 程序注释与环境设置语句
3.清屏语句 格式:CLEAR 说明:清除当前屏幕上的所有信息 4.常用SET语句系列 (1)SET TALK ON/off 功能:设置是否在主窗口的状态栏中显示所有命令的执 行结果。 (2)SET DELETE OFF/ON 功能:决定是否忽略表中已经做过删除标记的记录,缺省 为不忽略。 (3)SET EXACT OFF/ON 功能:确定字符串比较运算符“=”两边内容是否必须完全 匹配,缺省为不必完全匹配。
§3.1.3 Visual Foxpro程序编程机制
1、使用“命令”窗口 例:依次输入 NAME=“张小强” MESSAGE=“嗨,大家好!这 是”+NAME+”的第一个程序!” ?MESSAGE
§3.1.3 Visual Foxpro程序编程机制
2、程序文件 在程序窗口中输入如下程序代码: Set talk off Clear Accept “请输入你的名字:” to name Message =“嗨,大家好!这是”+name+” 的第一个程序!” ?message Set talk on 3、事件驱动的可视化界面的事件过程代码
第3章VFP第二次课PPT课件

或:菜单栏“表”→“追加方式”选项,也可输入记录数据。
11.08.2020
4
3.3.5 记录处理
INSERT-SQL命令 INSERT INTO 语句用于向表格中插入新的行(记录)。 命令格式 INSERT INTO 表名称 VALUES (常量1,常量2,....) 也可以指定所要插入记录的字段: INSERT INTO table_name (字段1, 字段2,...)
11.08.2020
9
3.3.5 记录处理
浏览窗口 (P88 2.)
BROWSE [FIELDS FieldList] [FOR lExpression][FREEZE FieldName][NOAPPEND] [NODELETE][NOEDIT|NOMODIFY][NOLGRID] [NOMODIFY][TITLE cTitleText]
第3章 数据库与表的创建与使用
11.08.2020
1
整体 概述
一 请在这里输入您的主要叙述内容
二
请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
3.3.5 记录处理
表记录数据输入 利用交互方式建立表结构后,若在出现输入记录询问对话框
时按“是”按钮,则出现记录编辑窗口,供用户输入数据记录。 以rsb.dbf为例,则记录编辑窗口如图所示。
例 将一个新学生记录(学号:200915128;姓名:陈冬;性 别:M;所在系:IS;年龄:l8)插入到S表中。
INSERT INTO S(SNO,SNAME,SEX,SDEPT,AGE) VALUES(’200915128’,’陈冬’,’M’,’IS’,l8);
在INTO子句中指出了表名S,指出了新增加的记录在哪些字段 上要赋值,字段的顺序可以与CREATE TABLE中的顺序不一样, VALUES子句对新元组的各字段赋值,字符串常数要用单引号(英 文符号)括起来。
11.08.2020
4
3.3.5 记录处理
INSERT-SQL命令 INSERT INTO 语句用于向表格中插入新的行(记录)。 命令格式 INSERT INTO 表名称 VALUES (常量1,常量2,....) 也可以指定所要插入记录的字段: INSERT INTO table_name (字段1, 字段2,...)
11.08.2020
9
3.3.5 记录处理
浏览窗口 (P88 2.)
BROWSE [FIELDS FieldList] [FOR lExpression][FREEZE FieldName][NOAPPEND] [NODELETE][NOEDIT|NOMODIFY][NOLGRID] [NOMODIFY][TITLE cTitleText]
第3章 数据库与表的创建与使用
11.08.2020
1
整体 概述
一 请在这里输入您的主要叙述内容
二
请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
3.3.5 记录处理
表记录数据输入 利用交互方式建立表结构后,若在出现输入记录询问对话框
时按“是”按钮,则出现记录编辑窗口,供用户输入数据记录。 以rsb.dbf为例,则记录编辑窗口如图所示。
例 将一个新学生记录(学号:200915128;姓名:陈冬;性 别:M;所在系:IS;年龄:l8)插入到S表中。
INSERT INTO S(SNO,SNAME,SEX,SDEPT,AGE) VALUES(’200915128’,’陈冬’,’M’,’IS’,l8);
在INTO子句中指出了表名S,指出了新增加的记录在哪些字段 上要赋值,字段的顺序可以与CREATE TABLE中的顺序不一样, VALUES子句对新元组的各字段赋值,字符串常数要用单引号(英 文符号)括起来。
VFP第三章(10版)

表结构的显示、 第二节 表结构的显示、修改和复制
一、表结构的显示 格式1 <工作区号>/<别名 工作区号>/<别名>] 格式1:DISPLAY STRUCTURE [IN <工作区号>/<别名>] 格式2 <工作区号>/<别名 工作区号>/<别名>] 格式2:LIST STRUCTURE [IN <工作区号>/<别名>] 功能:两条命令的功能相同,都是显示表文件的结构 显示表文件的结构。 功能:两条命令的功能相同,都是显示表文件的结构。 STRU进行分页显示 进行分页显示; STRU连续显示。 连续显示 DISP STRU进行分页显示;LIST STRU连续显示。 说明: 说明: 显示表文件的结构,包括每个字段的名称、类型和宽度。 ①显示表文件的结构,包括每个字段的名称、类型和宽度。 显示表中当前的记录数和最近更新的日期。 ②显示表中当前的记录数和最近更新的日期。 如果表中有一个相关备注字段,则显示备注字段块的大小。 ③如果表中有一个相关备注字段,则显示备注字段块的大小。 显示所有字段的总宽度和表的代码页。 ④显示所有字段的总宽度和表的代码页。
表结构的显示、修改和复制( 第二节 表结构的显示、修改和复制(续)
演示一: 演示一:表结构 的全盘复制。 的全盘复制。
结果显示
表结构的显示、修改和复制( 第二节 表结构的显示、修改和复制(续)
演示二: 演示二:表结构 部分字段的复 的部分字段的复 制
结果显示
第三节 表记录的输入
一、利用界面操作输入表的记录
表结构的建立( 第一节 表结构的建立(续) BM表的表结构为 表的表结构为: 3、BM表的表结构为:
VFP 第三章 课件

&& 关闭当前使用的表 && 关闭当前数据库中所有打开的表 && 关闭所有打开的表 && 关闭所有打开的表、程序文件及表单等 && 关闭所有的表、程序文件及表单等,
clear all
清
除内存变量 4、修改表结构(打开表设计器进行修改) 方法: 1)表设计器 2)modify structure 注: modify structure 后面不接表名
(3) 记录号测试函数 RECNO
格式:RECNO([<数值表达式>│<表别名>]) 功能:给出<数值表达式>指定的工作区中打开的数据表的当前记录号; 无参数时,给出当前表当前记录号;没有打开的表时,返回值为 0;如果指针指向文件尾,函数值为表文件中的记录数加1,如果 记录指针指向文件首,函数值为最上面记录的记录号 举例:use xsqk ?recno( ) skip –1 ?recno( ) go bottom ?recno( ) skip ?recno()
all: 全部记录 Next n: 从当前记录开始的n条记录 Rest: 从当前记录开始到最后一条记录 Record n:具体的某条记录
第三章 数据库和表
例1:将“成绩”表中所有学生的成绩加10分
use 学生成绩 replace all 成绩 with 成绩+10
例2:将“成绩”表中所有女学生的成绩加10分
第几个记录
表尾
绝对定位:Go [记录号|top|bottom]
表头
相对定位:Skip [数值]
条件定位:Locate for continue 条件
正数:向下 负数:向上
第三章 数据库和表
第3章 ●VFP讲义.ppt

(1)排序表与源表不要重名。 (2)排序依据的字段一般为N、C、D或L型,不能为M和G型。 (3)字段名1为主关键字,其余的字段名为次关键字。 (4)/A----升序,/D----降序,/C----字母不分大小写。若省略该项,为/A, 即按升序排序。 (5)省范围,为ALL。 (6)若选FIELDS <字段名表>,则在排序表中仅包含指定的字段;否则,包 含所有的字段。
2.索引文件与排序文件的比较 排序
索引
(1)形成独立的表文件(.DBF)
பைடு நூலகம்形成索引文件(.IDX或.CDX)
可以单独打开使用
不能单独打开使用
(2)改变了记录存放的物理次序
不改变记录存放的物理次序
所以称为物理排序
所以称为逻辑排序
(3)在排序文件中,保存了源表中的 在索引文件中,只保存了两项内容:
所有字段内容,占存储空间大
关键字段的值和记录号,省空间
3.索引关键字(Index Key):即索引的依据。 索引关键字可以是一个字段名。 索引关键字也可以是多个字段名所组成的表达式。如: 性别+姓名、籍贯+姓名、籍贯+DTOC(出生日期) 注意:在多字段名组成的表达式中,字段名的类型要一致。如: 籍贯+出生日期 就是错误的
(2)索引按功能又可分为四种类型: a.主索引(Primary Index):
只用于库表,而不用于自由表。 关键字在表中不允许有重复值或空值(Null)。 一个库表,只能有一个主索引。 如:在sp.dbf中建立主索引,只有货号才能做为索引关键字。 b.候选索引(Candidate Index):它是主索引的候选项。 候选索引可用于库表和自由表。 关键字在表中不允许有重复值或空值(Null)。 一个表可以建立多个候选索引。 c.普通索引(Regular Index): 可用于库表和自由表。 关键字在表中可以有重复值,它不要求数据的唯一性。因此,除M、G型字段外, 其它类型的字段都可以做为索引的关键字。 一个表可以建立多个普通索引。 d.唯一索引(Unique Index): 可用于库表和自由表。 关键字在表中允许有重复值,但在索引中,只包含相同关键字值的第一条记录。 如在sb.dbf中,按名称建立唯一索引,在索引中,只包含第一台车床。 一个表可以建立多个唯一索引。
2.索引文件与排序文件的比较 排序
索引
(1)形成独立的表文件(.DBF)
பைடு நூலகம்形成索引文件(.IDX或.CDX)
可以单独打开使用
不能单独打开使用
(2)改变了记录存放的物理次序
不改变记录存放的物理次序
所以称为物理排序
所以称为逻辑排序
(3)在排序文件中,保存了源表中的 在索引文件中,只保存了两项内容:
所有字段内容,占存储空间大
关键字段的值和记录号,省空间
3.索引关键字(Index Key):即索引的依据。 索引关键字可以是一个字段名。 索引关键字也可以是多个字段名所组成的表达式。如: 性别+姓名、籍贯+姓名、籍贯+DTOC(出生日期) 注意:在多字段名组成的表达式中,字段名的类型要一致。如: 籍贯+出生日期 就是错误的
(2)索引按功能又可分为四种类型: a.主索引(Primary Index):
只用于库表,而不用于自由表。 关键字在表中不允许有重复值或空值(Null)。 一个库表,只能有一个主索引。 如:在sp.dbf中建立主索引,只有货号才能做为索引关键字。 b.候选索引(Candidate Index):它是主索引的候选项。 候选索引可用于库表和自由表。 关键字在表中不允许有重复值或空值(Null)。 一个表可以建立多个候选索引。 c.普通索引(Regular Index): 可用于库表和自由表。 关键字在表中可以有重复值,它不要求数据的唯一性。因此,除M、G型字段外, 其它类型的字段都可以做为索引的关键字。 一个表可以建立多个普通索引。 d.唯一索引(Unique Index): 可用于库表和自由表。 关键字在表中允许有重复值,但在索引中,只包含相同关键字值的第一条记录。 如在sb.dbf中,按名称建立唯一索引,在索引中,只包含第一台车床。 一个表可以建立多个唯一索引。
VFP程序设计PPT课件

D50
• 答案B
• 2013年甲公司就此项租赁确认的租赁费用=( 36+34+26)÷4=24(万元)
• 若出租人为主营出租的租赁公司, 则确认为“租赁收入”,若出租人 为兼营出租的制造企业或经销商, 则确认为“其他业务收入”。
(三)初始直接费用的会计处理 出租人发生的初始直接费用,应当确认为 当期费用。
• 杠杆租赁
– 出租人自筹资金不足购买租赁资产,以 拟购买的租赁资产作为抵押,租金作为 偿还贷款的保证,从银行等金融机构处 筹集长期贷款购买租赁资产,以使租赁 业务得以实现的租赁方式。
– 依靠出租人和第三者信贷提供的资金共 同制造或购置资产以供出租,出租人本 身出资仅占租赁资产价款的20%~40%左 右,但取得租赁物名义上的所有权。
• 1.租赁类型的判断。
与出租人相同,承租人在进行会计核算之 前首先应当判断租赁的类型。租赁合同中 没有规定优惠购买或租赁的选择权,租赁 期占租赁资产全部使用寿命的33.33%( 5/15),不足75%。此外,租赁开始日的最 低租赁付款额的现值为49807.6元,占租赁 资产总价值的33.21%(49807.6/15000),不 足90%。最后,该租赁资产也不是为承租人 专门定制的专用资产。综上,该租赁不符 合判断为融资租赁的任何一项标准,从而 此项租赁为经营租赁。
• 借:管理费用/制造费用/销售费用等
贷:银行存款/现金/其他应付款等
(二)初始直接费用的处理
• 承租人发生的初始直接费用,应当确认为 当期费用。
– 借记“管理费用”等科目,贷记“银行存款” 等科目。
(三)或有租金
• 在经营租赁下,承租人对或有租金的处理 与融资租赁下相同,即在实际发生时确认 为当期费用。