其他分享
首页 > 其他分享> > 第一章

第一章

作者:互联网

第一章

1.Visual FoxPro 基础

1.1 认识Visual FoxPro的工作环境

1.2数据库基础认识

  1. 数据

    • 数据就是描述事物的符号,文字、声音、图像等都是可以是计算机的数据。

  2. 数据处理

    • 数据处理是值对数据进行收集、存储、分类、计算、统计、检索及传输的过程。数据处理的目的是得到信息。数据处理经历了3个主要阶段:人工管理数据阶段文件系统管理数据阶段数据库系统管理数据阶段

  3. 数据库

    • 数据库(DataBase,DB)是有组织的,可共享的想关数据的集合。

  4. 数据库管理系统

    • 数据库管理系统(DataBase Management System,DBMS)是管理数据库的软件系统。它的主要功能是管理和维护数据。数据库管理系统按照指定的结构存储数据,使数据具有高度的独立性,不同的应用程序可以直接操作这些数据。

  5. 实体和实体集

    • 实体是现实世界中客观存在并且可以相互区别的事物。

    • 实体集是同一类实体组成的集合。

  6. 联系的分类

    • 现实生活中,相关的实体之间存在着某种联系。实体之间的联系可以分为三类:一对一的联系一对多的联系多对多的联系

  7. 表格

    • 在现实生活中,人们常常使用表格来管理数据,用二维表反映事物之间的联系。二维表可以反映一对一、一对多、多对多联系。

  8. 数据类型

    • 从现实生活中事物的三种关系,可以抽象出三种数据模型:层次模型网状模型关系模型

  9. 关系模型

    • 关系模型是用二维表格的形式来表示实体与实体之间联系的数据模型。满足如下要求的一张二维表就称为一个关系。

      1. 表格中的每一列都是不能再细分的基本数据项。

      2. 表格中的每一列有一个名字,不同列的名字也不同。

      3. 表格中的每一列数据都是相同类型的数据。

      4. 表格中任意两行的次序可以交换。

      5. 表格中任意两列的次序可以交换。

      6. 表单中不存在完全相同的两行数据。

  10. 数据库类型

    • 对应以上三种数据模型,有三种数据库类型:层次数据库网状数据库关系数据库。Visual FoxPro是关系数据库。

  11. 关系的基本概念

    1. 元组

      • 在一个二维表(一个具体关系)中,水平方向的行称为元组,每一行是一个元组。元组对应存储文件中的一个具体记录。

    2. 属性

      • 二维表中垂直方向的列称为属性,每一列有一个属性名。

      • 属性的取值范围称为,即不同元组对同一个属性的取值所限定的范围。

    3. 外部关键字

      • 如果表中的一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。

  12. 关系运算

    • 专门的关系运算有选择投影联接它们主要用于查询数据的操作。visual FoxPro 关系数据库管理系统能够实现这三种基本关系运算。

      1. 选择

        • 从关系中找出满足给定条件的元组的操作称为选择。

      2. 投影

        • 从关系中取出若干个属性组成新的关系的操作称为投影。

      3. 联接

        • 把两个关系中相同属性值的

1.3在命令窗口执行命令

1.3.1 Visual FoxPro 的命令概述

1.3.2 Visual FoxPro 命令的基本规则

  1. 命令的基本规则

    • Visual FoxPro的命令一般由两部分组成。第一部分是命令动词,第二部分为子句。

      1. 动词如:use、in、alias、create、table等。

      2. 子句如:<表文件名>、[in 工作区号]、[alias 别名]等。

      3. 分隔符:分隔符通常是一个或多个空格,在命令动词与子句、子句与子句、子句的哥哥元素之间独有分隔符。

      4. 书写形式:一行只能写一条命令,但一条命令可以写在多行。如果一条命令写在多行,Visual FoxPro规定在除最后一行外的其他各行末尾均加一个分号“;”。

      5. 关键字字母的大小写等效:命令格式中的关键字可以适应大写、小写或大小写字母混合使用。

  2. 命令格式中的符号

    1. 尖括号<>:尖括号括起来的句子是必选项,使用命令是必须选择。

    2. 方括号[]:方括号括起来的句子是可选项,使用命令时可以选择也可以不选。

    3. 竖线号“|”:竖线号表示前后两任选一项,且只能选一项。

    4. 省略号"...":省略号表示可以按前项相同方式重复。

1.4 使用帮助系统学习 Visual FoxPro

1.4.1获取屏幕对象的帮助信息

1.4.2获取命令和函数的帮助信息

1.5 Visual FoxPro 的基本数据运算

1.5.1 常用的数据类型

  1. 数据类型

    • Visual FoxPro 提供了多种数据类型,其中常见的数据类型为数值型字符型日期型逻辑型

    • 数据类型决定数据的运算凡是和储存方式。Visual FoxPro 提供的数据类型有Character(字符型)、Currency(货币型)、Date(日期型)、DateTime(日期时间型)、Double(双精度型)、Float(浮点型)、Logical(逻辑型)、Numeric(数值型)、Integer(整形)、General(通用型)、Memo(备注型)

  2. 常量

    • 常量是指始终保持不变的量。常量用于描述现实生活中固定不变的数据,每个常量有一个数据类型。字符型数值型日期型逻辑型常量。

      1. 字符型常量(简称为字符串)由字符型数据组成。

      2. 数值型常量(简称为数字)由数值型数据组成。

      3. 日期型常量是由花括号括起来的日期型数据。它的一般格式为{^yyyy/mm/dd},yyyy表示年份、mm表示月份、dd表示日。日期默认显示格式为:mm/dd/yy。

      4. 逻辑型常量由.T..F.这两个值组成。

  3. 变量

    • 变量是其值可以发生改变的量。变量用于描述现实生活中可以发生改变的数据,Visual FoxPro 中的变量一般分为字段变量和内存变量。

      1. 字段变量是存储在数据表中的变量。

      2. 内存变量是存储在内存中的变量。

1.5.2算术运算符合字符运算符

1.5.2 内存变量简介

  1. 给内存变量命名

    1. 一般不使用Visual FoxPro的关键字作为内存变量名。

    2. 因为系统内存变量名都以下划线开头,所以一般不用下划线开头为内存变量命名,以避免与系统内存变量发生重名。

    3. 内存变量名最好不要与字段变量同名。如果内存变量与字段变量同名,Visual FoxPro 优先使用同名的字段变量。

  2. 给内存变量赋值

    1. 给单个内存变量赋值。

      • <内存变量名>=<表达式>

  3. 给多个内存变量赋值。

    • store<表达式>to<内存变量表>

    • 如:store “Hello world !” to t1,t2,t3

    1. 显示内存变量

      • list|display memory [like 变量通配名] [to printer |to file 文件名]

      • 功能

        • list命令使用不间断的滚动方式来显示数据。display命令使用分屏显示的方式来显示数据。

        • 选择like后只显示like中的变量,不选择将显示所有内存变量。变量通配名中可以使用通配符“?”替代一个字符,使用“*”可以代替一个或多个字符。

        • 选择“to printer” ,将显示结果同时输出到打印机。选择“to file 文件名” ,将显示结果同时输出到指定的文件中。若省略它们,则显示结果值输出到屏幕上。

    2. 删除内存变量

      1. 删除所有用户自定义内存变量。

        • cleat memory

      2. 删除指定的用户自定义内存变量。

        • release <内存变量表>

      3. 删除某一类内存变量。

        • release all [like 变量通配名|except 变量通配名] [extended]

        • 功能

          • 选择“except”,将删除与变量通配名不匹配的内存变量。

          • extended选项主要用于在程序中删除全局变量。

1.5.3数组简介

  1. 数组

    • 实际工作中常常需要使用一组内存变量来存储某些想关的数据。

  2. 定义数组

    • 定义一维或二维数组

      • declare|dimension <数组一>(行[,列])[,数组二(行[,列])……]

  3. 给一个数组赋值

    • <数组名>(行,列) = <表达式>

  4. 数组的删除

    • 使用删除内存变量的命令会删除整个数组。

    • 留下

1.6 常用函数的功能

1.6.1函数简介

  1. 数值函数

    1. 绝对值函数

      • abs(数值表达式)

    2. 符号函数

      • sign(数值表达式)

      • 测试“表达式”的值。是正数则返回1;负数是-1;0就是返回0

    3. 取整函数

      • int(数值表达式)

    4. 取最小整数函数

      • ceiling(数值表达式)

      • 返回大于或等于“表达式”的值的最小整数。

    5. 取最大整数函数

      • floor(数值表达式)

      • 返回小于或等于“表达式”的值的最大整数。

    6. 四舍五入函数

      • round(数值表达式,有效位数)

      • 功能

        • 对“数值表达式”的值按指定的“有效位数”进行四舍五入

    7. 求余数函数

      • mod(数值表达式1,数值表达式2)

    8. 平方根函数

      • sqrt(数值表达式)

    9. 圆周率函数

      • pi()

    10. 自然对数函数

    • log(数值型函数)

  2. 日期和时间函数

    1. 日期函数

      • date()

      • 功能

        • 返回当前系统时间。默认格式为mm/dd/yy。

    2. 年函数

      • year(日期表达式)

    3. 月函数

      • month(日期表达式)

    4. 日函数

      • day(日期表达式)

    5. 时间函数

      • time()

      • 功能

        • 返回当前系统时间。返回时间的默认格式为 hh:mm:ss

    6. 系统日期时间函数

      • datetime()

  3. 字符函数

    1. 生成空格函数

      • space(空格个数)

    2. 删除先导空格函数

      • ltrim(字符表达式)

    3. 删除尾随空格函数

      • rtrim(字符表达式)

    4. 删除先导和尾随空格函数

      • alltrim(字符表达式)

    5. 左子串函数

      • left(字符表达式,字符个数)

    6. 右子串函数

      • right(字符表达式,字符个数)

    7. 子子串函数

      • substr(字符表达式,起始位置[,字符个数])

    8. 求子串位置函数

      • at(字符表达式1,字符表达式2[,数值表达式])

      • atc(字符表达式1,字符表达式2[,数值表达式])

      • 若字符表达式1是字符表达式2的子串,则at函数返回字符表达式1在字符表达式2的位置。若不是子串,则函数返回0。可选项数值表达式用于指定首字符出现的次数,其默认值是1。

    9. 子串替换函数

      • stuff(字符表达式1,起始位置,长度,字符表达式2)

      • 用字符表达式2的值替换字符表达式1中有起始位置和长度指定的子串。如果长度的值为0,则字符表达式2插在起始位置指定的字符前面。如果字符表达式2是空字符串,则删除字符表达式1中由起始位置和长度指定的子串。

    10. 字符串匹配函数

      • like(字符表达式1,字符表达式2)

      • 比较两个字符串在对应位置上的字符,若所有对应的字符都匹配,则函数返回真值,反之假值。

  4. 测试函数

    1. 测试字符串长度函数

      • len(字符型表达式)

    2. 测试数据是否为空函数

      • emtype(表达式)

        • 功能

          • 是空返回真值,反之假值

    3. 测试数据类型函数

      • type(表达式)

      • 功能

        • type的返回值为:C表示字符型、D表示日期型、L表达式逻辑型、M表示备注型、N表示数值型、S表示屏幕型、U表示未定义的数据类型、Y表示货币型。

    4. 测试数据范围函数

      • between(表达式1,表达式2,表达式3)

      • 功能

        • 测试表达式1是否在表达式2和表达式3之间。在真值,不在假值。

    5. 测试数据类型函数

      • vartype(表达式[,逻辑表达式])

      • 若表达式是一个数组,则根据第一个数组元素的类型返回字符。若表达式的值是null,则当逻辑表达式的值为真时返回表达式的原数据类型,当逻辑表达式的值为假货省略逻辑表达式时返回X。

    6. 表文件头测试函数

      • bof([工作区号|别名])

      • 判断记录指针是否指向文件头若是,则返回真值,否则返回假值。

    7. 表文件尾测试函数

      • eof([工作区号|别名])

      • 判断记录指针是否指向文件尾若是,则返回真值,否则返回假值。

    8. 记录号测试函数

      • recno([工作区号|别名])

      • 返回指定表文件中当前记录的记录号

    9. 记录个数测试函数

      • reccount([工作区号|别名])

      • 返回指定表文件中的记录个数,如果指定的工作区号没有表打开,则函数返回0。

    10. 记录删除测试函数

      • delete([工作区号|别名])

      • 测试指定表文件的当前记录是否有删除标记。有返回真值没有返回假值。

  5. 转换函数

    1. 数值转换为字符函数

      • str(数值表达式[,长度[,小数位数]])

    2. 字符转换为数值函数

      • val(字符表达式)

      • 功能

        • val函数装换数据时,从左到右依次转换,遇到非数字字符就停止转换。

        • 默认:0.00

    3. 字符转换为日期函数

      • ctod(字符表达式)

    4. 字符串转换为日期时间函数

      • ctot(字符表达式)

    5. 日期时间转换为字符串函数

      • ttoc(日期时间表达式[,1])

      • 若选择1,则按“yyyymmddhhmmss”的合适返回结果,若忽略则按“mm/dd/yy HH:MM:SS”的格式返回结果。

    6. 日期转换为字符函数

      • dtoc(日期型表达式[,1])

      • 功能

        • 选择“1”,将按yyyymmdd的格式返回结果。缺省该选项,将按mm/dd/yy返回结果。

    7. 小写装换为大写函数

      • upper(字符表达式)

    8. 大写转换为小写函数

      • lower(字符表达式)

    9. 字符转换为ascll码函数

      • asc(字符表达式)

    10. ascll转换为字符函数

    • chr(数值表达式)

  6. 其他函数

    1. 最大值函数

      • max(表达式1,表达式2,表达式3,……)

    2. 最小值函数

      • min(表达式1,表达式2,表达式3,……)

    3. 条件测试函数

      • iif(逻辑表达式,表达式1,表达式2)

      • 测试逻辑表达式的值为真,则返回表达式1反之返回表达式2的值。

    4. 宏替换函数

      • &<字符型变量>[.]

      • 替换指定字符型变量的值,即函数值是变量中存放的字符串。如果函数与其后的字符没有明确分界,则要使用“.”作为函数的结束标记。

1.7 使用项目管理器管理文件

1.7.1Visual FoxPro常用的文件类型

标签:字符,函数,FoxPro,第一章,运算符,Visual,表达式
来源: https://www.cnblogs.com/fxy1024/p/15813201.html