300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言程序设计专题实验bmp 第九章 报表设计---Visual Foxpro 数据库程序设计教案1-9章全...

c语言程序设计专题实验bmp 第九章 报表设计---Visual Foxpro 数据库程序设计教案1-9章全...

时间:2018-11-29 00:06:27

相关推荐

c语言程序设计专题实验bmp 第九章  报表设计---Visual Foxpro 数据库程序设计教案1-9章全...

Visual Foxpro 程序设计教案

第九章

报表设计

 [教学目的与要求] 掌握报表设计的基本操作和步骤。  [教学内容] 报表打印的基础知识;报表打印设计;报表设计器的基本操作;报表设计器的高级操作。

 [教学重点与难点] 报表设计器的基本操作。

§9.1 打印基础

有了打印机并不能马上打印,一般在打印前要经过设置打印机驱动程序、准备好打印机和设置打印选项等准备步骤,其中前两步是打印的必要条件。

一、打印准备

二、打印方法

VFP的打印对象包括数据、图象和报表3种;打印方法可分菜单打印和命令打印两类,后者又包括流式打印与格式打印两种。 1.菜单控制打印

当用户打印文本文件、报表、标签、命令窗口或剪贴板的内容等文档时,可选定文件菜单的打印选项,使出现如图9.3所示的打印机对话框。该对话框的上半部分与打印设置对话框相同,其它部分的功能说明如下。

(1)打印范围区

All选项按钮:打印文档的全部页面

页码选项按钮:打印文档中选定文档页码范围的页面。 “选定”选项按钮:打印文档中选定的部分。 打印份数的微调器用于指定文档的打印份数。

“选项”命令按钮:选定“选项”命令按钮将会弹出如图9.4所示的打印选项对话框。

Visual Foxpro 程序设计教案

(2)打印设置命令按钮:用于显示打印设置对话框

选项命令按钮:用于显示“报表和标签打印选项”对话框(参阅9.3.4节),从中可以筛选要打印的记录。

2.可直接打印的命令

带TO PRINTER子句的命令

VFP的不少命令可带TO PRINTER子句,该子句能使送到屏幕的内容同时送往打印机。例如:

字符串打印命令

命令格式:??? 功能:打印的值。

3.定向输出打印:打印数据的另一种方法是先定向后输出,即先将输出数据定向到打印机,然后输出到打印机来打印。

格式:SET PRINTER ON |OFF 功能:命令取ON后允许将除@„SAY命令以外的输出(例如?或??命令的输出)送到打印机输出,同时输出到屏幕;取OFF则表示不允许输出到打印机,仅输出到屏幕。后者是VFP默认状态。

格式定向命令:SET DEVICE TO SCREEN |TO PRINTER |TO FILE 功能:用于指定格式输出的去向。TO PRINTER子句将@„SAY命令的输出定向到打印机;若取TO SCREEN子句则输出到屏幕;若取TO FILE子句则输出到指定文件。

打印输出命令:命令格式:SET PRINTER TO [[ADDITIVE]|] 功能:将要打印的数据输出到文件或打印端口。

[例9-1]打印如图9.5所示的非主要课程的成绩

通用型字段的图形用下面介绍的图形输出命令来输出,该命令还能输出.BMP文件的图

Visual Foxpro 程序设计教案

形。

命令格式:@SAYBITMAP|[ISOMETRIC|STRETCH][SZIE,][NOWAIT] 若要将图形输出到打印机,在该命令前还需加一条SET DEVICE TO PRINTER命令;并在其后放一条SET PRINTER TO LPT1命令方能打印。

§9.2 传统报表打印设计

常见的报表都具有表格线,其打印流程如图9.6所示,一般可分为初始处理、打印表头、打印标题栏、打印表体、打印表尾和结束处理6个步骤,其中的表体为标题栏以下到底线的部分。

[例9-2]打印如图9.7所示的学籍管理表

§9.3 报表设计器的基本操作

一、 打开报表设计窗口 1.命令方式

通常用命令MODIFY REPORT,报表文件的扩展名为.FRX,但命令中允许省略。 2.菜单方式打开

方法与表单设计窗口相似,只是须将有关步骤中的“表单”改为“报表”就可以了,这里不在细述。

二、快速报表

“快速报表”是一项省时的功能,它自动创建简单报表布局。可以选择基本的报表组件,然后Visual FoxPro根据选择创建布局。

提示:如果已有的报表中“细节”带区是空的,就可以在其中使用“快速报表”。如果“页标头”带区已包含控件,“快速报表”将保留它们。

[例9-3]利用快速报表功能为学籍表.DBF设计一张包括姓名、学号、出生日期、入学成

Visual Foxpro 程序设计教案

绩和班级5栏的报表。

三、页面预览

通过预览报表,用户可以不用打印就能看到它的页面情况,从而可以检查报表字段的位置设置是否合适、字段大小及间距是是否合理,或者查看报表是否返回需要的数据。当预览窗口打开时,会同时打开“打印预览”快捷工具栏。用户可以使用下面按钮来翻页、显示指定页面的内容、设置显示比例等等。

要预览报表布局,可以按照以下步骤进行:

(1) 显示”菜单中,选择“预览”命令。也可以单击“常用”快捷工具栏来上的“打印预览”按钮 。

(2) 在“打印预览”快捷工具栏中,选择 (前一页)或 (后一页)按钮切换页面,也可以使用 (第一页)、 (最后一页)或 (转到页)按钮翻到用户指定的页面。

(3) 在预览窗口通过单击鼠标左键可以使页面分别按照整页或100%格式显示。也可以在“缩放”列表框中选则需要的缩放比例。图9.14是一个典型的打印预览窗口。

四、报表打印 1.命令方式打印报表

格式:REPORT FORM [ENVIRONMENT][][FOR] 2.菜单方式打印报表:在“文件/选择“打印”命令。

Visual Foxpro 程序设计教案

第九章

报表设计

 [教学目的与要求] 掌握报表设计的基本操作和步骤。  [教学内容] 报表打印的基础知识;报表打印设计;报表设计器的基本操作;报表设计器的高级操作。

 [教学重点与难点] 报表设计器的基本操作。

§9.1 打印基础

有了打印机并不能马上打印,一般在打印前要经过设置打印机驱动程序、准备好打印机和设置打印选项等准备步骤,其中前两步是打印的必要条件。

一、打印准备

二、打印方法

VFP的打印对象包括数据、图象和报表3种;打印方法可分菜单打印和命令打印两类,后者又包括流式打印与格式打印两种。 1.菜单控制打印

当用户打印文本文件、报表、标签、命令窗口或剪贴板的内容等文档时,可选定文件菜单的打印选项,使出现如图9.3所示的打印机对话框。该对话框的上半部分与打印设置对话框相同,其它部分的功能说明如下。

(1)打印范围区

All选项按钮:打印文档的全部页面

页码选项按钮:打印文档中选定文档页码范围的页面。 “选定”选项按钮:打印文档中选定的部分。 打印份数的微调器用于指定文档的打印份数。

“选项”命令按钮:选定“选项”命令按钮将会弹出如图9.4所示的打印选项对话框。

Visual Foxpro 程序设计教案

(2)打印设置命令按钮:用于显示打印设置对话框

选项命令按钮:用于显示“报表和标签打印选项”对话框(参阅9.3.4节),从中可以筛选要打印的记录。

2.可直接打印的命令

带TO PRINTER子句的命令

VFP的不少命令可带TO PRINTER子句,该子句能使送到屏幕的内容同时送往打印机。例如:

字符串打印命令

命令格式:??? 功能:打印的值。

3.定向输出打印:打印数据的另一种方法是先定向后输出,即先将输出数据定向到打印机,然后输出到打印机来打印。

格式:SET PRINTER ON |OFF 功能:命令取ON后允许将除@„SAY命令以外的输出(例如?或??命令的输出)送到打印机输出,同时输出到屏幕;取OFF则表示不允许输出到打印机,仅输出到屏幕。后者是VFP默认状态。

格式定向命令:SET DEVICE TO SCREEN |TO PRINTER |TO FILE 功能:用于指定格式输出的去向。TO PRINTER子句将@„SAY命令的输出定向到打印机;若取TO SCREEN子句则输出到屏幕;若取TO FILE子句则输出到指定文件。

打印输出命令:命令格式:SET PRINTER TO [[ADDITIVE]|] 功能:将要打印的数据输出到文件或打印端口。

[例9-1]打印如图9.5所示的非主要课程的成绩

通用型字段的图形用下面介绍的图形输出命令来输出,该命令还能输出.BMP文件的图

Visual Foxpro 程序设计教案

形。

命令格式:@SAYBITMAP|[ISOMETRIC|STRETCH][SZIE,][NOWAIT] 若要将图形输出到打印机,在该命令前还需加一条SET DEVICE TO PRINTER命令;并在其后放一条SET PRINTER TO LPT1命令方能打印。

§9.2 传统报表打印设计

常见的报表都具有表格线,其打印流程如图9.6所示,一般可分为初始处理、打印表头、打印标题栏、打印表体、打印表尾和结束处理6个步骤,其中的表体为标题栏以下到底线的部分。

[例9-2]打印如图9.7所示的学籍管理表

§9.3 报表设计器的基本操作

一、 打开报表设计窗口 1.命令方式

通常用命令MODIFY REPORT,报表文件的扩展名为.FRX,但命令中允许省略。 2.菜单方式打开

方法与表单设计窗口相似,只是须将有关步骤中的“表单”改为“报表”就可以了,这里不在细述。

二、快速报表

“快速报表”是一项省时的功能,它自动创建简单报表布局。可以选择基本的报表组件,然后Visual FoxPro根据选择创建布局。

提示:如果已有的报表中“细节”带区是空的,就可以在其中使用“快速报表”。如果“页标头”带区已包含控件,“快速报表”将保留它们。

[例9-3]利用快速报表功能为学籍表.DBF设计一张包括姓名、学号、出生日期、入学成

Visual Foxpro 程序设计教案

绩和班级5栏的报表。

三、页面预览

通过预览报表,用户可以不用打印就能看到它的页面情况,从而可以检查报表字段的位置设置是否合适、字段大小及间距是是否合理,或者查看报表是否返回需要的数据。当预览窗口打开时,会同时打开“打印预览”快捷工具栏。用户可以使用下面按钮来翻页、显示指定页面的内容、设置显示比例等等。

要预览报表布局,可以按照以下步骤进行:

(1) 显示”菜单中,选择“预览”命令。也可以单击“常用”快捷工具栏来上的“打印预览”按钮 。

(2) 在“打印预览”快捷工具栏中,选择 (前一页)或 (后一页)按钮切换页面,也可以使用 (第一页)、 (最后一页)或 (转到页)按钮翻到用户指定的页面。

(3) 在预览窗口通过单击鼠标左键可以使页面分别按照整页或100%格式显示。也可以在“缩放”列表框中选则需要的缩放比例。图9.14是一个典型的打印预览窗口。

四、报表打印 1.命令方式打印报表

格式:REPORT FORM [ENVIRONMENT][][FOR] 2.菜单方式打印报表:在“文件/选择“打印”命令。

实验 12 位运算

一、

二、 实验学时:2课时 实验目标

1. 掌握按位运算的概念和方法,学会使用位运算符。 2. 学会通过位运算实现对某些位的操作。

三、 实验要求:

1. 在上实验课之前,每一个同学必须将实验的题目、程序编写完毕,做好充分的准备。

2. 所有实验环节均由每位同学独立完成,严禁抄袭他人实验结果,若发现有结果雷同者,按实验课考核办法处理。

四、 实验步骤和内容

【启动Visual C++】  【新建工程】

 选中【C++ Source File】项,【新建源程序文件】  编辑程序  执行程序

1、编写一程序,检查所用的计算机系统的C编译在执行右移时是按照逻辑右移的原则,还是按照算术右移的原则进行操作。如果是逻辑右移,请编一个函数实现算术右移;如果是算术右移,请编一个函数实现逻辑右移。输入如下代码:

#include "stdio.h"

short ljyy(short x)//逻辑右移 {

x=x>>1; x=x&(0x7fff);//最高位补零,其余保持不变

return x; }

void main() { short y; short x=-4; y=x; x=x>>1; if(x<0) {

printf("x=%d\n",x);

printf("该编译系统为算术右移!\n"); } else {

printf("x=%d\n",x);

printf("该编译系统为逻辑右移!\n"); } printf("逻辑右移的结果为:"); y=ljyy(y); printf("y=%d\n",y); }

1)编译、连接、和运行程序。程序运行后,观查屏幕显示结果。

2、编一个函数getbits,从一个16位的单元中取出某几位(即该几位保留原值,其余位为0)。函数调用形式为:

getbits(value,n1,n2) value为该16位数的值,nl为欲取出的起始位,n2为欲取出的结束位。 如:

getbits(0101675,5,8)

表示对八进制数101675,取出其从左面起的第5位到第8位。要求把这几位数用八进制数打印出来。注意,应当将这几位数右移到最右端,然后用八进制形式输出。

【启动Visual C++】|【新建工程】|【新建源程序文件】:选中【C++ Source File】项 输入如下代码: #include "stdio.h"

short getbits(short value,int n1,int n2) { short result; short temp; int k; int i; k=16-n2; result=(0x0000); value=value>>k; for(i=0;i<=(n2-n1);i++) {

temp=value&(0x0001);

temp=temp<

result=result|temp;

value=value>>1;

} return result; } void main() { short x; short y; x=0101675; y=getbits(x,5,8); printf("y=0%o\n",y); }

1)编译、连接、和运行程序。程序运行后,观查屏幕显示结果。

3、设计一个函数,使给出一个数的原码,能得到该数的补码。

要求用八进制形式输入和输出。

【启动Visual C++】|【新建工程】|【新建源程序文件】:选中【C++ Source File】项 输入如下代码: #include "stdio.h"

short buma(short x) { if(x>0)

return x; else {

x=-x;

x=~x+(0x0001);

x=x|(0x8000); } return x; }

void main() { short x; printf("请用八进制的形式输入变量x的值:"); scanf("%o",&x); printf("补码为:%o\n",buma(x)); } 1)编译、连接、和运行程序。程序运行后,观查屏幕显示结果。

五、 思考题

1) 用程序实现原码,反码和补码的相互转化

六、

实验小结:

实验9

指针使用和数组的指针

一、

二、 1. 2. 3. 4. 实验学时:2课时 实验目标

掌握指针的概念、指针变量的定义和使用指针变量;

掌握指针变量的运算(取地址运算&、取内容运算*、指针移动的运算等) 学会使用数组的指针和指向数组的指针变量; 掌握指针与数组的关系;

实验要求:

三、

1. 在上实验课之前,每个同学必须预习指针变量的定义、赋值和取地址运算&、取内容运算*、指针移动的运算等操作,数组元素的多种便是方法; 2. 每个同学必须将实验的题目、程序编写完毕,做好充分的准备。 3. 所有实验环节均由每位同学独立完成,严禁抄袭他人实验结果,若发现有结果雷同者,按实验课考核办法处理。

四、 实验步骤和内容

1.分析下列程序的运行结果,并上机验证。 1) void main() {

int i, j, *pi, *pj; pi=&i; pj=&j; i=5; j=7;

printf( "%d\t%d\t%d\t%d", i, j, pi, pj );

printf( "\n%d\t%d\t%d\t%d\n", &i, *&i, &j, *&j ); }

程序的运行结果是:______________________ 2) void main() {

int a[ ]={ 1, 2, 3 }; int *p, i; p=a;

for ( i=0; i<3; i++ )

printf( "%d %d %d %d\n", a[i], p[i], *(p+i), *(a+i) ); } 程序的运行结果是:______________________ 3) void main() {

int a[ ]={ 2, 5, 3, 6, 8 }; int *p, i=1, s=0;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。