vfp基本操作

vfp基本操作
vfp基本操作

visual foxpro基本操作

2.1VisualFoxPro系统主界面介绍

2.1.1VisualFoxPro的启动:

启动VisualFoxPro有多种方法,主要有以下三种方式:

1.从“开始”菜单启动

2.从资源管理器中启动

3.从“运行”对话框中启动

2.1.2.VisualFoxPro6.0的退出:

1.点击关闭按钮

2.‘文件’下拉菜单中选择‘退出’

3.按下Alt+F4

4.键入Quit命令

2.1.

3.VisualFoxPro6.0主界面

启动VisualFoxPro6.0以后,即可看到它的主窗口。

主窗口由菜单栏、工具栏以及命令窗口等组成。

VisualFoxPro6.0可使用不同类型的窗口以便完成各种不同的任务。

在VisualFoxPro6.0的各种平台上,除菜单外的所有部件都是窗口,包括工具栏在内。用户可以同时打开多个窗口。

可以使用Windows下的窗口操作方法对VisualFoxPro6.0的窗口进行操作(如移动、改变大小等)。

(1)菜单栏

菜单栏位于屏幕的第二行,它包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单选项。

当单击其中一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择其中一个子菜单选项时,就可以执行一个操作。

(2)命令窗口

命令窗口是主界面上重要的一个窗口,通过他可直接键入VFP 的各种命令,可实现VFP 全部功能

命令窗口位于菜单栏和状态栏之间,是Visual FoxPro 系统命令执行、编辑的窗口。

在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。

在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口;选择“命令窗口”,可以弹出命令窗口。

(3)项目管理器窗口

利用该窗口可以有效的管理各种类型的文件、表单、报表、图像等

(4)工具栏

工具栏是单击后可以执行常用任务的一组按钮。

工具栏可以浮动在窗口中,也可以停放在VisualFoxPro6.0主窗口的上部、下部或两边。

有效地使用工具栏,可以简化从菜单中进行选取的步骤,达到快速执行命令的效果。

VisualFoxPro6.0中提供有各种类型的工具栏。默认情况下只有“常用”工具栏可见。若要激活一个工具栏:

方法一:“显示”菜单-“工具栏”-“工具栏”对话框。

方法二:工具栏上右击-工具栏列表。

VisualFoxPro系统提供了11种常用的工具栏:

(1)常用工具栏(2)布局工具栏

(3)表单控件工具栏(4)表单设计器工具栏

(5)查询设计器工具栏(6)视图设计器工具栏

(7)数据库设计器工具栏(8)报表控件工具栏

(9)报表设计器工具栏(10)调色板工具栏

(11)打印预览工具栏

2.2项目管理器

1.在VisualFoxPro6.0中,一个任务便是一个项目,项目中包含了完成该任务而创建的所有表、数据库、查询、视图、报表、选项卡、表单和程序,可用项目管理器来组织和管理这些文件。

2.“项目管理器”是VisualFoxPro6.0中处理数据和对象的主要组织工具,是VisualFoxPro6.0的“控制中心”。最好把应用程序中的文件都组织到“项目管理器”中,这样便于管理和查找。

3.项目管理器的界面

一、项目管理器按钮

2.2.2项目管理器的操作

一、打开/关闭项目管理器

1.打开项目管理器

(1)从“文件”菜单中选择“打开”命令。

(2)在弹出的“打开”对话框中选择所需的项目文件。

(3)单击“确定”按钮。

当激活“项目管理器”窗口时,“项目”菜单出现在菜单栏中。

2.关闭:

单击“项目管理器”右上角的关闭按钮即可。

二、查看文件

“项目管理器”中的项目是以类似于大纲的结构来组织的,可以将其展开或折叠,以便查看不同层次中的详细内容。

1.展开项目:

单击“+”号可以显示项目中该类型项的名称。

2.折叠项目:

若要折叠已展开的列表,可单击列表旁边的“-”号。

三、在项目管理器中新建或修改文件

1.创建文件

(1)在“项目管理器”中选择欲创建的文件类型。

(2)单击“项目管理器”上的“新建”按钮或使用“项目”菜单的“新建文件”命令。

在“项目管理器”中创建的文件自动添加到“项目管理器”中;而用“文件”菜单中的“新建”命令创建的文件并不添加到项目中,若要使其包含在“项目管理器”中,必须再用上面介绍的“添加”文件的方法将其添加进去。

2.修改文件

(1)在“项目管理器”中选择欲修改的文件类型。

(2)单击“修改”按钮。

例如,要修改一个表,先选定表的名称,然后选择“修改”按钮,该表便显示在“表设计器”中。

四、向项目管理器中添加或移去文件

1.添加文件

(1)在“项目管理器”中选择欲添加的文件类型。

(2)单击“添加”按钮。

(3)在“打开”对话框中选择要添加的文件名。

(4)单击“确定”按钮。

所选文件便被添加到项目管理器中。

2.移去或删除文件

(1)在“项目管理器”中选择欲移去的文件类型。

(2)在出现的询问对话框中选择“移去”。

(3)如果要从磁盘中删除文件,则在询问对话框中选择“删除”。

2.4设计器(Designer):

是VisualFoxPro6.0提供给用户的交互式的可视化开发工具

设计器集成了用于设计对象的各种操作,并赋予可视化提示。

VisualFoxPro系统提供的设计器,为用户提供了一个友好的图形界面。

用户可以通过设计器创建并定制数据表结构、数据库结构、报表格式和应用程序组件等。

常用的设计器有:

表设计器、查询设计、视图设计器、列表框生成器、报表设计器、

数据库设计器、菜单设计器等。

2.5生成器

生成器(Builder)

功能主要是为对象方便、快速地设置一些辅助选项,如帮助用户对特定的对象设置属性,或者组合子句创建特定的表达式等。

与向导不同,生成器是可重入的,就可以不止一次地打开某一对象的生成器。

常用的生成器有:组合框生成器、命令组生成器、表达式生成器、列表框生成器等。

2.6向导

向导(Wizard)

把一些复杂的操作分解为若干简单的步骤来完成,每一步使用一个对话框。

用户只要逐步回答向导提出的问题,向导便可以自动替你完成相应的任务。

启动向导:“工具”菜单-“向导”子菜单。

常用的向导设计器有:表向导、报表向导、表单向导、查询向导等

2.7表单设计器

1、打开表单设计器

在VFP中,表单是一个扩展名为.SCX的程序文件。可以用以下方法生成表单:

方法一:使用表单向导。

方法二:使用表单设计器创建或修改表单。

方法三:用CREATEFORM命令。

3、表单菜单

打开表单设计器后,在VFP的系统菜单栏中新增加了一个菜单:“表单”菜单。在此菜单中,用户能够为选中的对象添加新属性和新方法,或者编辑已有的属性和已有的方法。以及打开“表单生成器”或“执行表单”等任务。

快捷菜单

在“表单设计器”中右击鼠标键,将会弹出快捷菜单。

·数据环境:打开“数据环境设计器”。

·属性:打开属性窗口。

·生成器:显示所选对象的生成器。

·代码:显示所选对象的代码窗口。用户可以在此窗口中编辑对象的各种事件代码。

·帮助:显示所选对象的帮助。

4、属性窗口

“属性”窗口显示了表单中的控件所具有的全部属性。用户可以在属性窗口中浏览、编辑对象的各种属性。

打开“属性”窗口:“显示”菜单—“属性”,或从“表单设计器”工具栏或快捷菜单中选择。

“属性"窗口中的"对象框"用于选择对象。

“属性列表框”用于显示对象的所有属性和当前值。

"属性设置框"用于更改属性列表中选定的属性值。

如果选定的属性需要预定义的设置值,在右边会出现一个下拉箭头。如果属性设置需要指定一个文件名或一种颜色,右边会出现"三点按钮"。对于具有预定值的属性,在“属性列表”中双击属性名可以遍历所有可选项。对于具有两个预

定值的属性,在“属性列表”中双击属性名可以在两者间切换。只读的属性、事件和方法以斜体显示。

"属性"窗口共有五个选项卡:

"全部":列出指定对象的全部属性、事件和方法。

"数据":列出对象如何显示和操作数据的属性。

"方法":列现对象的事件和方法。

"布局":显示了所有布局的属性。

"其他":显示对象所属类、类库等其他属性。

2.8 VisualFoxpro编程步骤

用向导创建的表单可能并不完全符合要求。可在“表单设计器”中对原有表单进行修改。

一、选择控件:

选择一个控件:在控件上单击(出现八个黑色控点)。

选择多个控件:按住键单击。

选择相邻的多个控件:

(1)在"表单控件工具栏"中选择"选定对象"按钮。

(2)拖动指针,在需要选定的控件周围画一个框。

二、移动和缩放控件

调整控件的大小:拖动尺寸控点以改变该控件的长度或宽度

移动控件:直接拖动到新的位置。

三、复制和删除控件

复制:使用“编辑”菜单或快捷菜单中的“复制”和“粘贴”命令。

删除:选定控件,并从“编辑”菜单上选择“清除”。

四、定位和对齐控件

控件网格显示

网格显示可以帮助在表单上对齐控件。

使用“显示”菜单中的“网格线”命令,可以打开或关闭网格显示。

用"格式"菜单中的"设置网格刻度"可以调整网格尺寸。

定位控件:使用“显示”菜单中的“显示位置”命令,可以在屏幕上精确地定位控件。如果选中该命令,则在“表单设计器”窗口底部的状态栏上会显示选定控件的坐标和度量单位。

对齐控件:利用“布局工具栏”上的按钮,可使一组控件水平对齐或垂直对齐,或使一组相关控件具有相同的宽度或高度:先选定一组控件,然后在“布局”工具栏上选择相应的按钮。

五、改变文本的字体和大小

利用"属性"窗口中的字体属性,可以更改表单控件上显示文字的样式和大小。

(1)在"表单设计器"中选择要更改的控件。

(2)在“属性”窗口的“属性”列表中,选择想更改的属性。例如FontName、FontSize和FontBold等。

(3)在"属性设置框"中输入或选择属性值,如将FontSize属性设置为"18",表示将字号设置成18号字。将FontName属性设置为"楷体",表示将字体设置成楷体。

(4)选"格式"菜单"大小"子菜单的"恰好容纳"命令。

(5)单击"确定"按钮。

六、设置表单属性

表单本身也可以设置属性。在“属性”窗口的“对象框”选择表单form1,将表单的caption属性由form1改为“学生情况”。

七、保存表单

选择"文件"菜单中的"保存"

八、预览表单

单击“常用”工具栏中的“运行”按钮或选择“表单”菜单或快捷菜单中"执行表单"命令。

VFP 6.0数据库基本操作

实验七、VFP 6.0数据库基本操作 一、实验目的及要求 a) 掌握VFP 6.0数据库系统的启动与退出 b) 掌握VFP 6.0数据库系统菜单的基本操作与使用 c) 掌握操作VFP 6.0命令窗口方法,以及基本命令使用。 d) 掌握常量和变量的命名与使用 e) 掌握表达式的分类与各表达式的运用。 二、实验内容及步骤 a) 在Windows“开始”菜单中的程序组中选择“VFP 6.0 for windows”菜单即可。要退出VFP 6.0系统,可在命令窗口中输入QUIT命令,也可在文件菜单中选择退出选项。 b) VFP 6.0数据库系统菜单的操作类似于Windows菜单的操作。 c) 数据库中,常量分为字符型常量、数值型常量、逻辑型常量、日期型常量,注意它们的格式,变量有字段变量和内存变量 i. 给内存变量赋值的简单命令: 格式1:store <表达式> to <内存变量表> 格式2:<内存变量>=<表达式> 练习:? store 32 to x ,y ,z ?? store .t. to yn,dd ?? a=3*3+5/2 ? store “小芳”to xm 理解其含义。 例1:建立4个变量,分别打印各种计算结果。 任务数据库的命令计算结果 ①建立aa1=12.5 Aa1=12.5 ②建立aa2=15 aa2=15 ③建立aa3="ABCD" aa3="ABCD" ④建立aa4=.t.aa4=.t . ⑤输出aa1是否大于aa2的结果 ? aa1>aa2 .F. ⑥输出是否aa1小于aa2和aa4的结果? aa1=20 .or. zc<>“讲师” ? gl>=20 .and. zc<>“讲师” ? gl>=25 .or. .not.gz<=100 .and. zc=“讲师” ? gl>=25 .or.gz<=100 .and..not. zc=“讲师” ? (gl>25 .or. gz<=100).and..not.zc=“讲师” 三、注意事项 a) 给变量命名时,我们一定要遵循命名规则:变量可以是字母、汉字、数字、以及下划线组成,

数据结构_实验1_线性表的基本操作

实验1 线性表的基本操作 一、需求分析 目的: 掌握线性表运算与存储概念,并对线性表进行基本操作。 1.初始化线性表; 2.向链表中特定位置插入数据; 3.删除链表中特定的数据; 4.查找链表中的容; 5.销毁单链表释放空间; 二、概要设计 ●基础题 主要函数: 初始化线性表InitList(List* L,int ms) 向顺序表指定位置插入元素InsertList(List* L,int item,int rc)删除指定元素值的顺序表记录DeleteList1(List* L,int item) 删除指定位置的顺序表记录 DeleteList2(List* L,int rc) 查找顺序表中的元素 FindList(List L,int item) 输出顺序表元素OutputList(List L) 实验步骤: 1,初始化顺序表 2,调用插入函数 3,在顺序表中查找指定的元素 4,在顺序表中删除指定的元素 5,在顺序表中删除指定位置的元素 6,遍历并输出顺序表 ●提高题

要求以较高的效率实现删除线性表中元素值在x到y(x和y自定义)之间的所有元素 方法: 按顺序取出元素并与x、y比较,若小于x且大于y,则存进新表中。 编程实现将两个有序的线性表进行合并,要求同样的数据元素只出现一次。 方法: 分别按顺序取出L1,L2的元素并进行比较,若相等则将L1元素放进L中,否则将L 1,L2元素按顺序放进L。 本程序主要包含7个函数 主函数main() 初始化线性表InitList(List* L,int ms) 向顺序表指定位置插入元素InsertList(List* L,int item,int rc)删除指定元素值的顺序表记录DeleteList1(List* L,int item) 删除指定位置的顺序表记录 DeleteList2(List* L,int rc) 查找顺序表中的元素 FindList(List L,int item) 输出顺序表元素OutputList(List L) 提高题的程序 void Combine(List* L1,List* L2,List* L) void DeleteList3(List* L,int x,int y) 二、详细设计 初始化线性表InitList(List* L,int ms) void InitList(List* L,int ms) { L->list=(int*)malloc(LIST_INIT_SIZE*sizeof(int)); L->size=0; L->MAXSIZE=LIST_INIT_SIZE;

VFP操作命令练习( 第二章)-

VFP操作命令练习 一、用适当的内容填空。 1. 数据库文件扩展名是__________,通常用_______________创建和修改数据库。 2. 在VFP中,打开数据库设计器的命令是____________________。 3. 在VFP中,用字母、汉字、数字或下划线命名字段,但不能用__________开头。 4. 基于Visual FoxPro,自由表中不能创建的索引类型是__________ 。 5. 不带条件和范围的VFP命令Delete将删除指定表中的__________记录。 6. 在VFP中,可以为数据库表设置字段有效性规则,该“规则”是一个__________表达式, “信息”是一个__________表达式。 7. 在VFP中,使数据库表变为自由表的命令是____________________。 8. 每一个打开的表文件都有一个用来记载记录当前位置的指针,该指针指向的记录称为__________。 9. 在Visual FoxPro中,建立普通索引的作用之一是提高__________速度。 10. 在Visual FoxPro数据库的每个表中只能有一个__________索引。 11. 在VFP中指定字段或表达式中不允许出现重复值的索引是____________________ 12. 在VFP中,同一个表的多个索引可以创建在一个索引文件中,索引文件名与相关的表同名,索引文件的扩展名是__________,这种索引称为__________。 13. 在VFP中,表设计器的“字段”选项卡中创建的是__________索引。 14. 在VFP中,为数据表建立性别(C,2)和年龄(N,2)的复合索引,正确的索引表达式为____________________。 15. 用命令“Index On 姓名Tag name Unique”建立索引,其索引类型是__________索引,索引文件类型是__________文件。 16. 在VFP中,Index命令无法建立的索引是__________索引。 17. 在VFP系统中,用户可以使用Open Database命令打开多个数据库,但在某一时刻只有一个__________数据库。 18. 在VFP中所谓自由表就是那些不属于任何__________的表。 19. 在VFP中参照完整性规则包括__________、__________和【__________。 20. 在VFP中选择一个没有使用的、编号最小的工作区的命令是__________。 21. 在VFP中,使用数据库设计器为两个表建立联系,首先应在父表中建立__________索引,在子表中建立__________索引。 22. 基于Visual FoxPro,执行GO BOTTOM之后,EOF()的值是__________。 23. 存储于数据库中的表称为__________,其在磁盘上以独立的文件保存,扩展名为__________,将其从数据库中移出,其可以变为__________。 24. 在VFP数据类型的描述中,用字母__________表示字符类型,用字符__________表示数值类型,用字母__________表示日期类型,用字母__________表示逻辑类型。 25. 表中备注型字段的字母表示为__________ ,备注型字段用来保存__________信息,建立具有备注类型字段的表将同时建立一个和表文件主名相同,扩展名为

数据结构实现顺序表的各种基本运算(20210215233821)

实现顺序表的各种基本运算 一、实验目的 了解顺序表的结构特点及有关概念,掌握顺序表的各种基本操作算法思想及其实现。 二、实验内容 编写一个程序,实现顺序表的各种基本运算: 1、初始化顺序表; 2 、顺序表的插入; 3、顺序表的输出; 4 、求顺序表的长度 5 、判断顺序表是否为空; 6 、输出顺序表的第i位置的个元素; 7 、在顺序表中查找一个给定元素在表中的位置; 8、顺序表的删除; 9 、释放顺序表 三、算法思想与算法描述简图

主函数main

四、实验步骤与算法实现 #in clude #in clude #defi ne MaxSize 50 typedef char ElemType; typedef struct {ElemType data[MaxSize]; in t le ngth; void In itList(SqList*&L)〃 初始化顺序表 L {L=(SqList*)malloc(sizeof(SqList)); L->le ngth=0; for(i=0;ile ngth;i++) prin tf("%c ",L->data[i]); } void DestroyList(SqList*&L)〃 {free(L); } int ListEmpty(SqList*L)〃 {retur n( L->le ngth==O); } int Listle ngth(SqList*L)〃 {return(L->le ngth); } void DispList(SqList*L)〃 {int i; 释放顺序表 L

常用VFP操作命令.

创建项目 CREATE PROJECT [ 项目名| ? ] 打开/修改项目 MODIFY PROJECT [ 项目名| ? ] 创建数据库 CREATE DATABASE [ 数据库名| ? ] 打开数据库 OPEN DATABASE [ 数据库文件名| ? ] [ EXCLUSIVE | SHARED ] [ NOUPDATE ] [ VALIDATE ] 选择当前数据库(仅用于同时打开多个数据库的情况下 SET DATABASE TO [ 数据库名] 修改当前数据库 MODIFY DATABASE [ 数据库名| ? ] [ NOWAIT ] [ NOEDIT ] 数据库的删除 DELETE DATABASE 数据库名| ? [ DELETETABLES ] [ RECYCLE ] 建立数据库表 CREATE 数据库表名 打开数据库表 USE 数据库表名

关闭数据库表 USE 或CLOSE TABLE 修改数据库表的结构 MODIFY STRUCTURE &&需先使用USE命令打开需修改的表浏览及编辑数据库表中的数据 BROWSE &&使用前用USE命令打开表 添加表记录 APPEND [ BLANK ] &&在表末尾立即输入新记录值 INSERT [ BEFORE ] [ BLANK ] &&在当前记录前/后插入行 逻辑删除表记录 DELETE [ 作用范围] [ For 表达式| While 表达式] 恢复逻辑删除记录 RECALL [ 作用范围] [ For 表达式| While 表达式] 物理删除表记录 PACK 物理删除所有记录 ZAP 修改当前记录 EDIT / CHANGE

计算机vfp表操作指令

计算机vfp表操作指令 一.表结构的操作 1.创建表结构 命令1:CREATE [路径][表名] 例子:在A盘创建GZ2数据表。 CREATE A:GZ2 命令2:CREATE [新表名] FROM [旧表名] 例子:在A盘由GZ1创建GZ3数据表。 CREATE A:GZ3 FROM A:GZ1 命令3:COPY STRUCTRUE TO [路径][表名] 例子:在D盘生成一个与正在使用的表结构相同的新表文件MY COPY STRUCTRUE TO D:\MY 2.表结构的显示 命令:LIST STRUCTURE DISPLAY STRUCTURE 例子:显示当前数据表在结构。 LIST STRUCTURE 3.表结构的修改 命令:MODIFY STRUCTURE 作用:显示表文件结构,并允许修改此表的结构 说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。 例子:修改当前数据表的结构。 MODIFY STRUCTURE 二.表文件的打开和关闭 1.打开 命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE] 例子:打开A盘GZ1数据表。 USE A:\GZ1 例子:以独占方式打开当前表文件XX USE XX EXCLUSIVE 2.关闭 命令:USE 例子:关闭当前打开的表。 USE 三.记录指针的定位 1. 绝对定位 命令:GO[TO] n|TOP|BOTTOM 说明: n定位到第n条记录,TOP定位到最上面一条记录,BOTTOM定位到最下端一条记录 2.相对定位 命令:SKIP [+|-]n

说明:它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一条记录。 四.表数据的添加 1.记录的追加 命令:APPEND [BLANK] 例子:向当前数据表尾部追加记录。 APPEND 例子:向当前数据表尾部追加一条空记录。 APPEND BLANK 2.记录的插入 命令:INSERT [BLANK][BEFORE] 例子:在当前记录后插入一条空记录。 INSERT BLANK 例子:在第3条记录前插入一条记录。 GO 3 INSERT BEFORE 3.用复制方法建新表记录 命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件] 例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。COPY TO A:GZ2 FOR 应发合计>1000 4.从其他表取数据 命令:APPEND FROM 表名 [FOR 条件] 例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。APPEND FROM GZ1 FOR 应发合计>1000 五.表记录的显示 1.浏览显示 命令:BROWSE [FIELDS 字段表][FOR 条件] 例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。 BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000 说明:此命令的结果以浏览窗口的形式出现,具有修改功能。 2.显示输出 命令:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>] 说明:(1)命令带OFF参数表示不显示记录号 (2)范围指定对哪些记录进行操作,(范围包括:RECORD n :第几号记录;NEXT n:当前记录开始的几个记录;REST:自当前记录开始至文件末尾的所有记录;ALL 所有的记录。不选范围则隐含范围为ALL) (3)字段名表指在结果中需要出现的字段名,字段名与字段名之间用逗号分隔。不带时指显示所有字段。 (4)WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件的记录。

VFP大学期末考试基本操作题答案2015

VFP 上机练习题答案 说明:操作时用到的文件及要保存的文件均在与题号对应的文件夹内(下) 注意操作题要求运行程序的地方必须都运行一下,否则可能影响得分。 蓝色的文本为操作说明、提示或参考操作答案,红色的文本为原题中题干说明可能有些不合适或错误。 本文中给出的说明或参考代码均在VFP 环境下测试通过,仅供参考,不 是题目的唯一答案,如有不对的地方,请指正。 基本操作 第一题 1.在指定文件夹下建立数据库BOOKAUTH,并把表BOOKS 和表AUTHORS 文件添加到该数 据库中。(建立数据库后,执行modi data 命令打开数据库设计器,然后在窗口空白处右单击选择“添加表”即可,后面各个题目中类似操作不再重复说明。) 2.为AUTHORS 表建立主索引,索引名为“PK”,索引表达式为“作者编号”(在表设计 器中,在索引字段上选择“索引”下拉框中的箭头,有具体升序或降序要求时选择方向向上或向下的箭头,无要求是默认选择升序即可;若索引表达式不是字段名字本身,可以在此基础上再点击“索引”标签,找到具体的索引条目,输入索引标记名和索引表达式即可)。为BOOKS 建立两个普通索引,第一个索引名为“PK”,索引表达式为“图书编号”,第二个索引 名和索引表达式均为“作者编号”。 3.建立表AUTHORS 和表BOOKS 之间的永久性联系。(参见课本3.7.3 节的第二部分,AUTHORS 主表的PK 到BOOKS 子表的“作者编号”,鼠标拖拽即可建立一对多联系,不要反了) 第二题 1.在指定文件夹下打开数据库文件SCORE_MANAGER,该数据库中有3 个表STUDENT、SCORE1 和COURSE,根据已经建立好的索引,建立表间的联系(寻找两表间相同的索引名称,建立一对一的连接,或一个主索引和一个普通索引建立一对多连接,这里指的是永久联接)。 2.为COURSE 表增加字段,开课学期(N,2,0)。(直接在数据库设计器中右单击表, 选择修改,在表结构设计器中添加即可) 3.为SCORE1 表中的“成绩”字段设置字段有效性规则:成绩>=0,出错信息:“成绩必 须大于或等于0”。(练习题中给定的数据表中已经设置了,设置字段有效性规则时注意在表 设计器中首先正确选择字段再进行设置,记录有效性操作类似。注意信息内容要字符串界定符) 第三题 根据以下要求,完成基本操作,所需文件在指定文件夹下: 1.从SCORE_MANAGER 数据库中删除名为NEW_VIEW1 的视图(在数据库设计器中,右单 击视图,选择删除即可)。 2.用SQL 命令向SCORE1 表中插入一条记录:学号为“993503433”、课程号为“0001”、成绩为99。(在VFP 命令窗口中执行命令:insert into score1 (学号,课程号,成绩) values("993503433","0001",99),不用考虑打开表)

顺序表的基本操作

《数据结构》实验报告一 顺序表的基本操作 班级:网络工程学号:12015242183 实验日期:2016.9.25 姓名:邓宗永 程序文件名及说明:sequenlist 顺序表 一、实验目的 1、掌握使用Turbo C3.0上机调试线性表的基本方法; 2、掌握顺序表的基本操作:插入、删除、查找以及线性表合并等运算。 二、实验要求 1、认真阅读和掌握实验的程序。 2、上机运行程序。 3、保存和打印出程序的运行结果,并结合程序进行分析。 4、按照你对线性表的操作需要,编写写主程序并运行,打印出文件清单和运行结果 三、注意事项: 在磁盘上创建一个目录,专门用于存储数据结构实验的程序。 四、实验内容 1.顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求: (1)从键盘输入10个整数,产生顺序表,并输入结点值。 (2)从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。 (3)从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x 插入在对应位置上,输出顺序表所有结点值,观察输出结果。 (4)从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。 五、实验报告必须写明内容 1.程序设计的基本思想,原理和算法描述:(包括程序的结构,数据结构,输入/输出设 计,符号名说明等) 程序的结构:通过子函数实现输出,删除,插入,查找等功能,高耦合低内聚 数据结构:线性结构,顺序储存 输入/输出设计:根据屏幕提示,从键盘读取数据 2.源程序及注释: #include #include typedef int datatype; #define maxsize 10 typedef struct //创建一个顺序表包含10个整数

顺序表的基本操作 (2)

顺序表的基本操作 /*sqList.h 文件*/ #define LIST_INIT_SIZE 50 /*初始分配的顺序表长度*/ #define INCREM 10 /*溢出时,顺序表长度的增量*/ #define OVERFLOW 1 #define OK 0 #define ERROR -1 typedef int ElemType; /*定义表元素的类型*/ typedef struct SqList{ ElemType *elem; /*存储空间的基地址*/ int length; /*顺序表的当前长度*/ int listsize; /*当前分配的存储空间*/ }SqList; /*sqListOp.h 文件*/ #include "Sqlist.h" int InitList_sq(SqList &L); //顺序表创建函数定义 void FreeList_sq(SqList &L); //顺序表销毁函数定义 int ListInsert_sq(SqList &L, int i, ElemType e); //在顺序表的位置i插入元素e void PrintList_sq(SqList &L); //遍历并输出顺序表所有元素 int ListDelete_sq(SqList &L, int i,ElemType &e); //删除顺序表第i个元素的 bool ListEmpty(SqList &L); //判断顺序表是否为空 int LocateElem_sq(SqList L,ElemType e); //在顺序表里查找出第1个与e相等的数据元素位置//已知线性表La和Lb的元素按值非递减排列 //归并后的La和Lb得到新的顺序线性表Lc,Lc的元素也是按值非递减排列 void MergeList_sq(SqList La,SqList Lb, SqList &Lc); /*sqListOp.cpp文件*/ #include #include #include #include "sqlistOp.h" //创建顺序表 int InitList_sq(SqList &L) { L.elem = (ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if (!L.elem) exit(OVERFLOW); /*初始化失败,返回0*/ L.length = 0; /*置空表长度为0*/ L.listsize = LIST_INIT_SIZE; /*置初始空间容量*/ return OK; /*初始化成功,返回1*/

vf表单控件的使用说明

一、标签 标签能够显示多个字符构成的文本,用于设计表单上所需的文字性提示信息。标签和大多数控件的不同点在于运行表单时不能用《tab》键来选择标签。 常用的标签属性及其作用如下。 1、Caption:确定标签处显示的文本。 2、Visible:设置标签可见还是隐藏。 3、AutoSize:确定是否根据标签上显示文本的长度,自动调整标签大小。 4、BackStyle:确定标签是否透明。 5、WordWrap:确定标签上显示的文本能否换行。 6、FontSize:确定标签上显示文本所采用的字号。 7、FontName:确定标签上显示文本所采用的字体。 8、ForeColor:确定标签上显示的文本颜色。 二、命令按钮和命令按钮组 在各种窗口或对话框中几乎都要使用一个或多个命令按钮。一旦用户单击一个命令按钮,就可实现某种规定的操作。例如,各种对话框中的“确定”按钮,当用户单击时将结束对话框的操作。 VisualForPro中的命令按钮控件同样用于完成特定的操作。操作的代码通常放在命令按钮的“单击”事件(即Click Event)代码中。这样,运行表单时,当用户单击命令按钮时便会执行Click事件代码。如果在表单运行中,某个命令按钮获得了焦点(这时,这个命令按钮上会比其他命令按钮多一个线框),则当用户按下《Enter》键或空格键时,也会执行这个命令按钮的Click时间代码。 常用的命令按钮属性及其作用如下: 1、Caption:设置在按钮上显示的文本。 2、Default:在表单运行中,当命令按钮以外的某些控件(如文本框)获得焦点时,若 用户按下《Enter》键,将执行Default属性值为.T.的那个命令按钮的click事件代码。 3、Cancel:如果设置该属性值为.T.,则当用户按下键时,将执行命令按钮的click 事件的代码。 4、Enabled:指明按钮是否失效,即是否被选择。当Enabled属性值为.f.时,用户无法 选择该按钮。 5、DisabledPicture:指定按钮失效时在按钮上显示的.bmp文件。 6、DownPicture:指定在按钮按下时按钮上显示的.bmp文件。 7、Visible:指明按钮是否可见。 8、Picture:指明显示在按钮上的.bmp文件。 命令按钮组时一组命令按钮,是容器对象。使用命令按钮组便于对一组命令按钮进行统一操作和设置。命令按钮组的ButtonCount属性值,决定组中命令按钮的个数。 表单运行时,当用户单击组中某个命令按钮时,命令按钮组的Value属性可以返回所单击按钮的序号。若要单独设置组中的某个命令按钮的属性,可以使用命令按钮组的快捷菜单中的“编辑”命令选择某个按钮,在“属性”窗口中设置其属性。若为组中某个按钮的Click事件写了代码,当单击这个按钮时,将执行该按钮的Click事件代码而不是组的Click事件代码。 三、选项按钮组 选项按钮组是常用的一种控件,用在各种对话框中,让用户从给定几个操作中选择一个。例如“文件”菜单中“新建”菜单项打开“新建”对话框,该对话框中有一个标题为“文件类型”的选项按钮组,让用户选择建立哪一种类型的文件。

顺序表的实现

数据结构实验顺序表的实现 姓名 学号 专业班级

实验名称:顺序表的实现 一.实验目的: 1.掌握线性表的顺序存储结构; 2.验证顺序表的基本操作的实现; 3.理解算法与程序的关系,能够将顺序表转换为对应程序; 二.实验内容: 1.建立含有若干元素的顺序表; 2.对已建立的顺序表实现插入、删除、查找等基本操作; 三.算法设计 1.建立顺序表并初始化 1)顺序表的大小为MaxSize,存入元素的下标为n a.如果n>MaxSize,则抛出参数非法; b.将元素a[i]赋值给线性表中元素序号为i的元素; 2.顺序表的插入 1)如果表满了,则抛出上溢异常; 2)如果元素插入的位置不合理,则抛出位置异常; 3)将最后一个元素及第i个元素分别向后移动一个位置; 4)将要插入的元素x填入为位置i处; 5)表长加1; 3.顺序表的删除 1)如果表空,则抛出下一异常;

2)如果删除的位置不合理,则抛出删除位置异常; 3)取出被删元素; 4)将下表为i至n-1的元素分别向前移动1个元素; 5)表长减一,返回被删元素值; 4.顺序表的查找 A.按位查找 1)如果查找的位置不合理,则抛出查找的不合理; 2)返回被查找的元素值; B.按值查找 1)若查找成功,返回被查找元素的序号; 2)若查找失败,则返回0; 四.部分代码 文件名称:SeqList.h #define SEQLIST_H const int MaxSize = 5; template class SeqList{ publi#ifndef SEQLIST_H c: SeqList(); //默认构造函数 SeqList(T a[],int n); //数组a传递数据元素信息,n表示元素个数 ~SeqList(); //析构函数 int Length(); //返回顺序表的长度 void Insert(int i,T x);//在第i个位置插入数据元素x T Get(int i); //得到第i个位置上的数据元素 T Delete(int i); //删除第i个位置上的数据元素 int Locate(T x); //在顺序表中查找数据元素x,并返回它的位置,否则返回0. void PrintList(); //打印顺序表中的数据元素信息。 private: T data[MaxSize]; //数组data用来存放顺序表的数据元素 int length; //length表示顺序表中数据元素的个数 };

数据结构实验报告-顺序表的创建、遍历及有序合并操作

数据结构实验报告-顺序表的创建、遍历及有序合并操作二、实验内容与步骤 实现顺序表的创建、遍历及有序合并操作,基本数据结构定义如下: typedef int ElemType; #define MAXSIZE 100 #define FALSE 0 #define TRUE 1 typedef struct {ElemType data[MAXSIZE]; int length; }seqlist; 创建顺序表,遍历顺序表 #include #include #define MAXSIZE 100 #define Icreament 20 #define FALSE 0

#define TRUE 1 typedef int ElemType; //用户自定义数据元素类型 // 顺序表结构体的定义 typedef struct { ElemType *elem; //顺序表的基地址 int length; //顺序表的当前长度 int listsize; //预设空间容量 }SqList; //线性表的顺序存储结构 SqList* InitList() //创建空的顺序表 { SqList* L = (SqList*)malloc(sizeof(SqList));//定义顺序表L if(!L) { printf("空间划分失败,程序退出\n"); return NULL; } L->elem=(ElemType *)malloc(MAXSIZE*sizeof(ElemType)); if(!L->elem) { printf("空间划分失败,程序退出\n");

VFP常用的操作命令总结

VFP常用的操作命令总结 <范围>子句 4种情况:ALL 操作对象为表中全部数据。 NEXT 操作包括当前记录在内的以下n条记录。 RECORD 只操作第n个数据。 REST 操作从当前到结尾的记录。 ①显示表中记录LIST、DISPLAY USE F:\VFP\st.dbf (路径根据不同情况有不同值) LIST [<范围>] [FIELDS] <字段名列表> [FOR<条件>] [OFF] LIST 学号,姓名, 入学成绩FOR 性别.and. 入学成绩>=480 DISPLAY FOR 出生时间] <字段名1> WITH <表达式1>[ ,<字段名2> WITH <表达式2>] [ FOR <条件>] REPLACE 入学成绩WITH 入学成绩+10 FOR 所在系="计算机" REPLACE ALL 总分WITH 语文+数学+英语 REPLACE 补助WITH 补助*1.5 ,分数WITH 分数+10 FOR 性别='男' .AND. 专业='物探' (如果没有ALL或FOR,只更替当前记录)。

③删除记录DELETE DELETE [<范围>] [FOR <条件>] GO 2 DELETE (逻辑删除第2条记录) DELETE ALL (逻辑删除全部记录) DELETE FOR 所在系=”中文”.and. .not. 性别 DELETE FOR 入学成绩<=470 恢复记录:RECALL RECALL [<范围>] [FOR <条件>] RECALL (只恢复当前一条记录)。 RECALL ALL (恢复所有打上删除标记的记录)。 物理删除命令:PACK、ZAP PACK (物理删除所有打上删除标记的记录,一旦执行,无法用RECALL 恢复)。 ZAP =DELETE ALL+PACK (等价于DELETE ALL 加上PACK,物理删除表中所有记录,只保留表结构,结果为一空表)。 ④插入新记录(用REPLACE命令填充一个新数据)看懂即可 APPEND BLANK (书上第26页) REPLACE 学号WITH “2006200”,姓名WITH “丁一”,性别WITH .T. ,出生时间WITH CTOD(“07/19/87”), 入学成绩WITH 508,所在系WITH “计算机”,系负责人WITH “程家吉” ⑤数据查询LOCATE LOCATE [<范围>] [FOR <条件>] 定位到范围中满足FOR条件的第1条记录。 LOCATE FOR YEAR(出生时间)=1986 (其中,出生日期为日期类型, 如果为字符串类型,可用RIGHT(出生日期,2)= "86")

vfp表的基本操作

练习一数据表基本操作 【实验目的】 1.熟练掌握用“表设计器”建立数据表的方法; 2.能够正确输入表记录; 3.掌握表文件的打开、关闭操作; 4.掌握表结构的显示、修改方法。 【知识要点】 1.使用表设计器创建自由表 方法一:使用菜单方式建立表结构; (1)(在“项目管理器”中)选“数据/自由表”-“新建” -“新建表”-输入表名并确定存放位置-“保存”按钮。 (2)“文件/新建”-(类型)选“表”-“新建文件”钮-输入表名并确定存放位置。 方法二:使用命令方式建立表结构。 格式:CREA TE <表名> 功能:创建以指定表名命名的表结构。 2.表数据的输入 (1)立即输入:在建立表结构后,立即输入记录(此时是在“编辑”状态) (2)追加输入:建立表以后,再打开此表,进行输入记录 ①“项目管理器”)“数据/自由表”-选定表-“浏览”钮-“显示/追加方式” ②(先打开表,“显示/浏览”进入浏览状态)“表/追加新记录”(追加一条记录) ③ (先打开表,“显示/浏览”进入浏览状态) “显示/追加方式” (追加多条记录) ④ (先打开表) APPEND [BLANK] (有“BLANK”项,则添加一条空白记录) 注:M型字段的录入:双击M字段,录入数据; G型字段的录入:双击字段-“编辑/插入对象”- 选“类型”- 选择文件 (3)成批追加:将指定表中的记录追加到当前表的尾部 APPEND FROM表名[FOR/WHILE 条件式][FIELDS 字段名表] 注:两表要追加的字段类型要相同 3.打开表 (1)“文件/打开”-(类型)选“表”-选定表-“确定” (2)USE<表名> 4.关闭表 (1)USE (2)退出VFP 5.表结构的显示与修改 显示:LIST|DISPLA Y STRUCTURE 修改:(1)菜单方式:打开要修改的数据表,进入表设计器对表结构进行修改。 (2)MODIFY STRUCTURE 【实验内容】 1.在e盘根目录下建立一个以学生自己的学号命名的文件夹。 2.建立自由表“学生表”,保存至学号文件夹中,表的结构如表3-1所示。

vfp中地常用函数与命令

VFP常用的命令和函数 1.数据库操作语言 使用可以CLOSE 命令关闭各种类型的文件。 DBC( ) 函数返回当前数据库的名称和路径。SQLCANCEL( ) 函数请求取消一条正在执行的 SQL 语句。SQLCOMMIT( ) 函数提交一个事务处理。SQLCONNECT( ) 函数建立一个对数据源的连接。SQLDISCONNECT( ) 函数结束一个对数据源的连接。SQLEXEC( ) 函数发送一条 SQL 语句到数据源中处理。SQLGETPROP( ) 函数获取一个活动连接的当前设置。 SQLMORERESULTS( ) 函数如果存在多个可用的结果集,则将另一个结果集复制到Visual FoxPro 临时表(cursor)中。 SQLROLLBACK( ) 函数取消当前事务处理期间所做的任何更改。SQLSETPROP( ) 函数指定一个活动连接的设置。SQLSTRINGCONNECT( ) 函数使用一个连接字符串建立与数据源的连接。TABLEREVERT( ) 函数放弃对缓冲行、缓冲表或临时表(cursor)的修改。 TABLEUPDATE( ) 函数提交对缓冲行、缓冲表或临时表(cursor)适配器的修改。 字段操作语言 使用可以BLANK 命令清除字段中的数据。 DELETED( ) 函数指出一个记录是否被标记为删除。FCOUNT( ) 函数返回一个表中的字段数量。 FIELD( ) 函数根据编号返回表中的字段名。 GATHER 命令用来自指定源的数据替换记录中的数据。SCATTER 命令从当前记录中复制数据到指定的目标。SET EXACT 命令指定比较不同长度两个串时的规则。

实验二 SQL Server 数据表的基本操作与查询

实验二SQL Server数据表的基本操作 一、实验目的 1.掌握创建数据库和表的操作。 2.熟悉SQL Server查询分析器环境。 3.掌握基本的SELECT查询及其相关子句的使用。 4.掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。 二、实验内容 1.创建XSCJ数据库。 2.在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。 3.在XSQK、KC、XS_KC表中输入数据。 4.启动SQL Server 2000 查询分析器环境。 5.涉及多表的简单查询。 6.涉及多表的复杂查询。 三、实验步骤 1.创建SQL SERVER数据库与数据表 1) 创建XSCJ数据库。 2) 打开创建的 XSCJ数据库,并在“SQL Server Enterprise Mananger” 窗口的右边窗口中选择“表”对象。 3) 选择“操作”菜单中的“新建表”命令,打开SQL Server的表编辑器 窗口。 4) 根据表2-1所示的表结构增加新列。 5) 点击快捷工具栏上的保存快捷按钮,在弹出的“选择名称”对话框中 输入表名XSQK,然后单击“确定”按钮,关闭表编辑器窗口,完成新 表的创建。 6) 打开“表”对象,在“SQL Server Enterprise Manager”窗口的右边 窗口中选择刚才创建的“XSQK”表。 7) 选择“操作”菜单中的“打开表”子菜单下的“返回所有行”命令, 打开表的数据记录窗口。

8) 输入的学生情况数据记录见表2-2。 表2-2 学生情况记录 9) 用同样方法创建课程表KC,表的结构见表2-3所示,表的内容见表2-4 所示。 表2-4 课程表记录 10)创建成绩表XS_KC,表的结构见表2-5所示,表的内容见表2-6所 示。

顺序表的基本操作(C语言实现)

#define OVERFLOW 0 #define List_size 100 #define Listincrement 10 #include #include typedef float ElemType; typedef struct { ElemType *elem; int length; int listsize; }Sqlist; void main() { Sqlist L; Sqlist creat_Sq(Sqlist*L); void print_Sq(Sqlist*L); void ascend(Sqlist*L,int i); void Insert(Sqlist*L,float e); int i; float e;

creat_Sq(&L); printf("\n"); print_Sq(&L); printf("\n"); ascend(&L,i); print_Sq(&L); printf("\n"); Insert(&L,e); print_Sq(&L); printf("\n"); } Sqlist creat_Sq(Sqlist*L)//创建顺序表 { ElemType *newbase; int i,n; L->elem=(ElemType*)malloc(List_size*sizeof(ElemType)); if(!L->elem) exit(OVERFLOW);//存储分配失败

printf("请输入元数个数:\n"); scanf("%d",&n); if(n>=List_size)//如果所需空间大于线性表的初始空间,则增加空间容量 { newbase=(ElemType*)malloc((List_size+Listincrement)*sizeof(E lemType)); L->elem=newbase; L->length=n; L->listsize=List_size+Listincrement; for(i=0;ilength;i++) { printf("请输入第%d个数据:",i+1); scanf("%f",&(L->elem[i])); } if(!newbase) exit(OVERFLOW); } else {L->length=n; L->listsize=List_size; for(i=0;ilength;i++)

VFP报表使用方法

一、报表:报表是vfp中的一种数据组织形式,我们通常利用报表,把从数据库表中提取出的数据打印出来。 报表是由两个基本部分组成:数据源和数据布局。数据源指定了报表中的数据来源,可以是表,视图,查询或临时表;数据布局指定了报表中各个输出内容的位置和格式。报表从数据源中提取数据,并按照布局定义的位置和格式输出数据。 报表中并不存储数据源中实际的数据的值,而只存储数据的位置和格式,这一点,和视图的特性有些相似。所以,每次打印时,打印出来的报表的内容不是固定不变的,会随数据库的内容的改变而改变。 二、使用报表向导创建报表:创建报表就是定义报表的数据源和数据布局。“报表向导”是创建报表的最简单的途径。可通过回答一系列的问题来进行报表的设计,使报表的设计工作变得省时有趣。使用报表向导创建完成报表后,还可使用“报表设计器”打开该报表,对其进行修改和完善。 1.打开“报表向导”:在“项目管理器”的“全部”或“文档”选项卡中,选择“报表”,单击“新建按钮”,弹出“新建报表”对话框。在该对话框中,单击“报表向导”按钮,弹出“向导选取”对话框。 在vfp中,提供两种不同的报表向导:一是“报表向导”,针对单一的表或视图进行操作;二是“一对多报表向导”,针对多表或视图进行操作。我们根据具体情况,选择相应的向导。这里假设我们操作的是单一的表,所以选择“报表向导”,系统会按步骤弹出一系列对话框。 步骤一:字段选取。在这个对话框中,选择要在报表中输出的字段。首先,单周“数据库和表”列表框右侧的按钮选择报表的数据源,然后选择所需的字段步骤二:分组记录,在此对话框中,如果需要,可设置分组控制,最多设置三级分组。

相关文档
最新文档