VFP学习经验交流

2024-10-06 版权声明 我要投稿

VFP学习经验交流(精选10篇)

VFP学习经验交流 篇1

谈谈我自己对于这门课程的一点看法,供大家参考

关于VFP

课程的重要性:

A.

B. 成绩比重大,学分3分就算是为了不挂科。。也得。。计算机二级中的重点科目

平时学习和复习:

A.课本的重要性所有考题的知识点均来自课本一定要看书

B.上课认真听课本虽然很重要,但是里面有些东西是不在考试范围内的,老师在课堂上讲到的才是最终的考试范围。

C.在复习时先把最基础的东西看明白 在VFP中,各种程序语句是比较重要的基础知识,专门有一章讲的是基础的VFP语句和应用,还有一章讲数据库的基本操作,要先把这些基础部分记熟

D.理论和实践结合电脑上装好VFP程序 经常运行一些语句或是做些课本上的练习,不要怕麻烦,仔细看看哪儿出了错,直到改对

E.关于“考试重点”:虽然老师会说比如表单菜单是重点之类的,但是其实考试时系统会按比例在每章的内容中抽取题目,不能心存侥幸,不是重点不意味着不会考,只是比例会相对少一些

关于考试:

A. 允许运行VFP程序但是要牢记,考试时电脑里没有平时上课时老师用的数据库,所以必要时要

自己创建数据库或者是表单菜单项目

B. 一些小题填空选择之类的,用VFp程序用来检验自己的答案是否准确 或者是可以直接在上面运

行得出答案

C. 最后会有几个大题,会让你填写语句不要慌张,没有想象中那么难填好后去VFP中运行,检

验自己的答案是否准确

D.

VFP菜单练习 篇2

一、设计并修改菜单MENUA

项目TEST中已存在菜单MENUA,其中已定义了“文件”菜单栏及其中的“恢复系统菜单”项,按如下要求修改菜单,完成后的运行效果如图1所示。

1.2. 创建“学生档案管理”菜单栏,并为其设置访问键“ALT+S”。为“学生档案管理”创建子菜单“学生档案录入”和“学生档案查询”,并用分隔线隔开。

3. 为“学生档案录入”菜单项设置命令,该命令用来运行当前目录下的表单文件

FORMC.SCX。

4. 为“学生档案查询”菜单项设置过程,过程代码为:IF!USED(“XS”)

USE XS

ELSE

SELECT XS

ENDIF

BROWSE

5.在“文件”菜单栏下插入系统菜单项“打印预览”。图 1 答案:

1. 创建“学生档案管理”菜单栏,并为其设置访问键“ALT+S”;

2. 为“学生档案管理”创建子菜单“学生档案录入”和“学生档案查询”,并用分隔线隔开

3. 为“学生档案录入”菜单设置命令,该命令用来运行当前目录下的表单文件FORMC.SCX。

4. 为“学生档案查询”菜单设置过程

5. 在“文件”菜单下插入系统菜单项“打印预览”

二、设计并修改菜单MENUB

项目TEST中已存在菜单MENUB,按如下要求修改菜单,完成后的运行效果如图

1所

示。

1.为“数据录入”菜单栏下的“学生信

息录入”菜单项创建快捷键

“CTRL+L”。图1

2.在“数据录入”菜单栏下增加一个菜

单项“教师信息录入”,并用分隔线隔开。

3.为“教师信息录入”菜单项设置过程,当执行该菜单时向教师(JS)表中插入一条空记录,并打开JS表的编辑窗口。

4.为“数据查询”菜单栏设置提示信息:“按条件查询相关表的信息”,即当菜单运行时且选择了“数据查询”菜单栏时,在状态栏中显示该提示信息。

5. 将上述菜单追加在系统菜单“帮助”的后面。

答案:

1.为“数据录入”菜单栏下的“学生信息录入”菜单项创建快捷键CTRL+L

2.在“数据录入”菜单栏下增加一个菜单项“教师信息录入”,并用分隔线隔开

3.为“教师信息录入”菜单设置命令,APPEND

4.为“数据查询”菜单栏设置提示信息:“按条件查询相关表的信息”

5.将上述菜单追加在系统菜单的后面

三、设计并修改菜单MENUC

项目TEST中已存在菜单MENUC,按如下要求修改菜单,完成后的运行效果如图1所示。

1.为“数据录入”菜单栏下的“教师信息录入”菜单项创建快捷键“CTRL+L”。

2.为“数据查询”创建子菜单“学生档

案查询”和“学生成绩查询”,并用分

隔线隔开。

3.为“学生档案查询”菜单项设置SQL图1 命令,要求当执行该菜单项时在浏览窗

口显示学生(XS)表中所有学生的学号(xh)、姓名(xm)和出生日期(csrq)三个字段的内容。

4.为“学生成绩查询”菜单项设置提示信息:“按学号查询学生的成绩”,要求当选择“学生成绩查询”菜单项时,在状态栏中显示该提示信息。

5.将上述菜单插入到系统菜单的“编辑”菜单之后。

答案:

1.为“数据录入”菜单栏下的“教师信息录入”菜单项创建快捷键CTRL+L

2.为“数据查询”创建子菜单“学生档案查询”和“学生成绩查询”,并用分隔线隔开

3.为“学生档案查询”菜单设置SQL命令:select xh,xm,csrq from xs

4.为“学生成绩查询”菜单栏设置提示信息:“按学号查询学生的成绩”

5.将上述菜单插入到在系统菜单的“编辑”菜单项之后

四、设计并修改菜单MENUD

项目TEST中已存在菜单MENUD,按如下要求修改菜单,完成后的运行效果如图1所示。

1.启用“数据录入”菜单栏下的“学生成绩录入”菜单项。

2.为“数据打印”菜单栏创建子菜单“学生档案打印”和“学生成绩打印”,并用分隔线隔开。

3.为“学生成绩打印”菜单项设置命令,要求当执行该菜单项时调用当前目录下的报表文件BB,并将结果预览输出。

4.为“退出”菜单栏设置访问键“ALT+X”。5.将“文件”菜单栏删除。

答案:

1.启用“数据录入”菜单栏下的“学生成绩录入”菜单项;

2.为“数据打印”创建子菜单“学生档案打印”和“学生成绩打印”,并用分隔线隔开; 3.为“学生成绩打印”菜单设置命令:

4.为“退出”菜单栏设置访问键ALT+X:

5.将“文件”菜单栏删除

五、设计并修改菜单MENUE

项目TEST中已存在菜单MENUE,其中已定义

了“文件”、“数据维护”、“数据统计”、和“退出”四

个菜单栏,按如下要求修改菜单,完成后的运行效果

如图1所示。

1. 在“文件”菜单栏下插入系统菜单“打印预图

1览”。

2. 在“数据维护”菜单栏下增加一个菜单项“教师信息维护”,并用分隔线隔开。

3. 废止“数据统计”菜单栏下的“教师工资统计”菜单项。

4. 为“学生成绩统计”菜单项设置SQL命令,要求当执行该菜单项时,在浏览窗口

中显示成绩(CJ)表中所有学生的学号(XH)和总成绩。

5. 为“退出”菜单栏设置访问键“ALT+X”。

答案:

1.在“文件”菜单栏下插入系统菜单条“打印预览”

2.在“数据维护”菜单栏下增加一个菜单项“教师信息维护”,并用分隔线隔开

3.将“数据统计”菜单栏下的“教师工资统计”菜单项废止不可用;

4.为“学生成绩统计”菜单设置SQL命令:SELCET XH,SUM(CJ)FROM CJ GROUP BY XH

5.为“退出”菜单栏设置访问键ALT+X:退出(

六、设计并修改菜单MENUF

TEST项目中已存在菜单MENUF,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“文件”菜单栏下的“退出”菜单项设置快捷键“CTRL+R”。

2. 在“文件”菜单栏的“退出”菜单项之前插入系统菜

单“导出”。

3. 为“数据维护”菜单栏下的“学生信息维护”菜单项

编制子菜单,该子菜单包括两个菜单项“学生基本信图

1息维护”和“学生成绩维护”,并用分隔线隔开。

4. 设置“数据查询”菜单栏下的“教师信息查询”菜单项废止不可用。

5. 为“学生信息查询”菜单项下的“学生基本信息查询”设置SQL命令,要求当执行该

菜单项时,在浏览窗口中显示学生(XS)表中所有女生的学号(xh),姓名(xm)

和出生日

期(csrq)。

答案:

1. 为“文件”菜单栏下的“退出”菜单项设置快捷键CTRL+R;

2. 在“文件”菜单栏的“退出”菜单项之前插入系统菜单条“导出”;

3. 为“数据维护”菜单栏下的“学生信息维护”编制子菜单,该子菜单包括两个菜单项“学

生基本信息维护”和“学生成绩维护”,并用分隔线隔开;

4. 将“数据查询”菜单栏下的“教师信息查询”菜单项废止不可用;

5. 为“学生信息查询”菜单项下的“学生基本信息查询”设置SQL命令:

SELECT XH,XM,CSRQ FROM XS WHERE XB=“女”

七、设计并修改菜单MENUG

项目TEST中已存在菜单MENUG,其中已定义了“数据录入”和“数据查询”、“数据清理”和“恢复系统菜单”四个菜单栏,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“数据录入”菜单栏设置访问键“ALT+L”。

2. 为“数据录入”菜单栏下的“教师信息录入”编制子菜单,该

子菜单包括两个菜单项“教师基本信息录入”和“教师任课信

息录入”,并用分隔线隔开。图3. 已经为“数据清理”菜单栏下的“学生表清理”设置了过程。

完善该过程,使得当执行该菜单项时,彻底删除学生(XS)表中所有带删除标志的记录。

4. 废止“数据查询”菜单栏下的“教师信息查询”菜单项。

5. 运行该菜单后替换原来的系统菜单。

答案:

1.为“数据录入”菜单栏设置访问键ALT+L;

2.为“数据录入”菜单栏下的“教师信息录入”编制子菜单,该子菜单包括两个菜单项“教师基本信息录入”和“教师任课信息录入”,并用分隔线隔开;

3.为 “数据清理”菜单栏下的“学生表清理”设置命令,当执行该菜单时,删除学生(XS)表中所有带删除标志的记录:PACK

4.将“数据查询”菜单栏下的“教师信息查询”菜单项废止;

选项按钮中的跳过栏中:.t.5.运行该菜单后替换原来的系统菜单.显示菜单中的常规选项

八、设计并修改菜单MENUH

项目TEST中已存在菜单MENUH,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“系统”菜单栏下的“退出”菜单项设置快捷键“CTRT+R”。

2. 为“学生档案管理”菜单栏设置子菜单,该子菜单包括二个菜单项“学

生基本信息录入”和“学生变动信息录入”,并用分隔线隔开。

3. 为 “学生成绩管理”菜单栏下的“不及格成绩查询”菜单项设置SQL

图1 命令,当执行该菜单项时显示成绩(CJ)表中所有成绩(cj)低于60分的学生的学号(xh),课程代号(kcdh)和成绩(cj)。

4. 为“学生变动信息录入”菜单项设置提示信息:学生进校以后的各种奖励和处分,当选

择该菜单项时,在状态栏中显示该提示信息。

5. 在“系统”菜单栏下插入系统菜单“打印预览”。

答案:

1. “系统”菜单栏下的“退出”菜单项设置快捷键CTRT+R;

2. 为“学生档案管理”菜单栏设置子菜单,该子菜单包括二个菜单项“学生基本信息录入 ”

和“学生变动信息录入”,并用分隔线隔开;

3. 为 “学生成绩管理”菜单栏下的“补考成绩查询”设置命令,当执行该菜单时显示成绩(CJ)表中所有成绩(CJ.CJ)低于60分的学生的学号(CJ.XH),课程代号(CJ.KCDH)成绩(CJ.CJ)

SELECT * FROM CJ WHERE CJ<60

4. 为“学生变动信息录入”设置提示信息:“学生进校以后的各种奖励各种处分”

5. 在“系统”菜单栏下插入系统菜单条“打印预览”

九、设计并修改菜单MENUI

项目TEST中已存在菜单MENUI,其中已定义了“记录浏览”、“记录定位”和“系统”三个菜单栏,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“系统”菜单栏下的“退出”菜单项设置快捷键“CTRT+R”。

2. 在“记录浏览”菜单栏下增加一个菜单项“课程表”。

3. 为 “记录浏览”菜单栏下的“学生表”设置SQL命令,以浏览学生(XS)图表中的所有记录,显示字段包括所有字段。

4. 为“记录定位”菜单栏下的“下一条”菜单项设置废止条件:EOF()。

5. 在“系统”菜单栏下插入系统菜单“导出”。

答案:

1. 系统”菜单栏下的“退出”菜单项设置快捷键CTRT+R;

2. 为“记录浏览”菜单栏下增加一个菜单项“课程表”;

3. 为 “记录浏览”菜单栏下的“学生表”设置命令:SELECT * FROM XS

4. 为“记录定位”菜单栏下的“下一条”菜单项设置废止条件为:

选项按钮中的跳过栏中:EOF()

5. 在“系统”菜单栏下插入系统菜单条“导出”

十、设计并修改菜单MENUJ

项目TEST中已存在菜单MENUJ,其中已定义了“记录浏览”、“记录定位”和“恢复系统菜单”三个菜单栏,按如下要求修改菜单,完成后的运行效果如图

1所示。

1. 为“恢复系统菜单”设置访问键“ALT+X”。

2. 为“记录浏览”菜单栏创建子菜单,该子菜单包括 “学生表”

图和“成绩表”二个菜单项,并用分隔线隔开。

3. 为“记录定位”菜单栏下的“上一条”菜单项设置废止条件:BOF()。

4. 为“记录定位”菜单栏下的“最后一条”菜单项设置命令:当执行该菜单项时,记

录指针指向当前表的最后一条记录。

5. 为“记录定位”菜单栏下的“上一条”菜单项设置说明信息“定位到上一条记录”。答案:

1. 将菜单项名称 “恢复系统菜单” 改为:恢复系统菜单(

2. 为“记录浏览”菜单栏设置子菜单,该子菜单包括二个菜单项“学生表”和“成绩

表”,并用分隔线隔开;

3. 为“记录定位”菜单栏下的“上一条”菜单项设置废止条件为:

选项按钮中的跳过栏中:BOF();

4. 为“记录定位”菜单栏下的“最后一条”设置设置命令:GO BOTTOM

VFP常用命令小结 篇3

表中不设合计字段的大体思路如下:(如有合计字段,当然更简单,就用Replace All)Dimension Array Myarray(RECCOUNT())定义一个下标为记录总数的数组 Go Top Do While!Eof()

Myarray(RECNO())=字段1+字段2+字段3…… Skip Enddo

1、CREATE 作用:建立一个新的表。

格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。)说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出 对话框,要求用户输入想要建立的表名。在命令中不加文件名或问号系统也会弹出对话框,要求用 户输入想要建立的表名。

2、MODIFY STRUCTURE 作用:显示表文件结构,并允许修改此表的结构。格式:MODIFY STRUCTURE 说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

3、APPEND 作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。格式:APPEND [BLANK] 说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

4、INSERT 作用:在表文件中间插入一个新记录。格式:INSERT [BEFORE] [BLANK] 说明:INSERT 在当前记录后插入一记录; INSERT BEFORE 在当前记录前插入一记录;

INSERT BEFORE BLANK 在当前记录前插入一空记录。

5、BROWSE 作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。格式:BROWSE

6、USE 作用:打开和关闭表文件。格式:USE [<文件名>] USE 说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的 备注文件(.fpt文件);后一个命令关闭当前打开的表文件。

7、LIST和DISPLAY 作用:显示表(.dbf)的内容、结构或状态。

格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>] LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>] LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>] 说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n 第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL 所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号分 隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的 条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出 来和将显示结果输出到文件。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在 该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示表结构(STRUCTURE)和工作状态(STATUS)。

8、记录的定位

作用:用记录指针(POINTER)定位记录。格式:GO[TO] RECORD n|TOP|BOTTOM n SKIP [+|-] 说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫相对定 位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记录。

9、CHANGE和EDIT 作用:显示要编辑或修改的字段。

格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件>]

10、BROWSE 作用:打开一个“浏览”窗口,供用户浏览或修改记录。格式:BROWSE [FIELDS <字段名表>]

11、REPLACE 作用:用表达式的值代替命令中与之相对应的字段的内容。

格式:REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条件> ] [WHILE<条件>]

12、DELETE、PACK、ZAP和RECALL 作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的 删除标志。

格式:DELETE [<范围>] [WHILE<条件>] [FOR <条件>](特例:DELETE FILE FILENAME.DBF,该命令删除指定的表文件)PACK ZAP RECALL [<范围>] [FOR <条件>] [WHILE<条件>]

13、SORT和INDEX 作用:分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式的值 从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C] [/D]]...[ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表>] INDEX ON <关键字表达式> TO <文件名> INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件>] 说明:第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型 关键字而言,ASCENDING和DESCENDING分别表示升序和降序。第1个命令建立.dbf表文件,第2个命令 建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(Compound Index)。

14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO 作用:分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。格式:USE <表文件名> INDEX <索引文件名表> SET INDEX TO [<索引文件名表>] SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)

15、FIND、SEEK和LOCATE及CONTINUE 作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命 令行中字符串相同的第一个记录。后一个命令在用USE打开表文件以后,直接查询表中字段内容。格式:FIND <“字符串”>|<字符串> SEEK <表达式> LOCATE [<范围>] [FOR <条件>] [WHILE<条件>] CONTINUE 说明:FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。在用LOCATE命令找到 一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。

16、COUNT 作用:统计当前表文件中符合条件的记录数。

格式:COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名>] 说明:内存变量名可用除参数外的任意字符。

17、SUM 作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。格式:SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]

优化VFP的组合框 篇4

一、输入与选择的结合使用

为了防止录入错误,组合框拒绝接受键入的非列表项中的内容,而且往往不给出提示,这种限制并非我们每时每刻都需要,实际应用中很多时候希望直接输入与下拉选择都能被接受。举一个实际例子:假设想从列表框中得到城市名,由于我国的城市非常之多,把每个城市都放进列表项里是不现实的,只能放一些有名的大城市,这时就很迫切需要列表框能接受直接输入的列表里不存在的一些小城镇名了。

通过keypress事件中捕捉键入的字符固然能部分解决问题,但有局限。另一种做法是建立一个文本框和一个组合框,然后用双击鼠标等方法切换使用,或干脆两个摆在一起使用。这样做的确能解决问题,但操作不方便,而且极不美观。笔者同样是将文本框和组合框结合在一起,不过做了一点小手脚,让使用者误认为只有一个组合框,非常难觉察到其实是两个控件在工作。具体思路和做法如下:

先建立一文本框text1和一列表框combo1,然后调整combo1的大小,让它的高度与text1一致,宽度是刚好显示出下拉按扭,tablestop属性设为.f.,并将combo1紧挨在text1的右边,表面看起来像一个列表框。

在combo1的gotfocus过程中加入如下代码:

this.width=thisform.text1.width+18

this.left=thisform.text1.left

其中,18是combo1的原始宽度。这样做的目的是当列表框得到焦点时自动扩充,并盖住text1,这样看起来跟只有一个列表框没有什么区别。

在combo1的lostfocus过程中,加入如下代码:

thisform.text1.value=this.value

this.width=18

this.left=this.left+thisform.text1.width

在列表框里选择了内容后,列表框恢复原大小和位置,将选择的内容传给text1,并将焦点交给text1。

为了模拟在列表框中按Alt+↓可打开列表,可在text1的keypress过程中写如下代码:

LPARAMETERS nKeyCode, nShiftAltCtrl

if nkeycode=160

thisform.combo1.setfocus

endif

二、自动打开组合框的列表

实际应用中,我们往往通过Tab键让组合框得到焦点,然后按Alt+↓键打开组合框的列表。但对于不很熟悉电脑操作的人,往往又要用鼠标去打开列表。当组合框得到焦点时,如果能让其列表自动打开,就易用多了。在组合框的Style属性为2(下拉列表框时)的情况下,按空格键可打开列表,因此在其gotfocus过程中写上一句:keyboard chr(32)即可。但通过keyboard语句不能成功发送功能组合键Alt+↓,因此对Style属性为0的下拉组合框,我们就得动脑筋另寻出路了。

我们知道,用鼠标点击组合框右边的下拉按扭可打开列表,因此用mouse click命令在特定的地方模拟单击鼠标即在其gotfocus过程中键入如下代码:“mouse click at (this.top+this.height)/12-1,(this.left+this.width)/6-1”就可让组合框在得到焦点时自动打开列表,

其中,(this.top+this.height)/12-1,(this.left+this.width)/6-1是根据组合框的大小和位置算出该在什么地方单击鼠标,这个公式是在800×600的分辨率下得出的,在别的分别率下使用的公式要修正。

三、自动搜索符合条件的项目

实际应用中,由于列表项目数非常大,想找到需要的项目要花费很多时间,如果能在组合框里输入条件,然后自动滤去不符合条件的项目,那该多方便啊。这里我有一个能较简单解决问题、但不一定是最优的方案。

在VFP中,填充组合框的项可以是表中的字段,也可以是数组,也可以是手工输入的数据,我们这里讨论项是字段的情况。具体方法步骤如下:

1. 建立一个员工名单表,取名为List,里面有一个字段,名为Name,并录入记录。

2. 建立一个新表单,取名为Myform,里面建一个组合框控件,取名为Test—combo。其RowSource属性为List.name,样式Style无关重要。

3. 在对象Myform的Load过程中写如下代码:

public input—value &&定义一个全局变量

input—value=″ ″

set dele on

4. 在对象Test—combo的gotfocus过程中写如下代码:

Input—value=″ ″

this.value=″ ″

在lostfocus过程中编写如下代码:

sele list

recall all

在keypress过程中编写如下代码:

LPARAMETERS nKeyCode, nShiftAltCtrl

if nkeycode=127 &&按了退格键

if asc(right(Input—value,1))<128

&&删除的是非汉字

Input—value=left(Input—value,len(Input—value)-1)

Else &&删除的是汉字

Input—value=left(Input—value,len(Input—value)-2)

endif

else

if nkeycode〈〉160

&&按的不是Alt+↓键

input—value=input—value+chr(nkeycode)

&&保存所键入的内容

endif

endif

sele List

VFP:页框控件的使用 篇5

页框控件本身是一个容器,其中可以包含若干个页(page);而页也是容器,可以在其中添加各种对象,因此无论是在设计时添加对象或者是代码引用,都要比别的控件麻烦些。在使用这个控件时需要注意:如果设计时要向某个页中添加对象,一定要在页框的编辑状态下选中该页的标签,然后再向该页中添加控件;另外在不同页之间切换时,需要处理好数据源的问题。

刚接触这个控件的同志可能经常会碰到这样一个问题:即使在页框中只设定了两页,这两页的标题宽度也会平均分配并且占满整个页框的宽度;而在标准windows对话框中,无论有多少页,页面标题都是左对齐排列的,如下图:

这个问题很好解决,把页框的TabStyle属性值设为“1-非两端”就可以出来这种左对齐的效果。

本文来设计一个页框控件的应用实例,在本例中通过页框控件的两个页实现了看实例学VFP:对表中记录进行定位与查找操作和看实例学VFP:向数据表中添加记录并验证输入数据是否合法这两个例子的功能,运行时如下图:

制作步骤如下:

一、新建表单,将其caption属性值设置为“编程入门网-页框控件”,AutoCenter属性值设置为.t.,保存为“表单1.scx”。

二、向表单上添加一个页框控件pageframe1,将其pagecount属性值设为2,TabStyle属性值设为“1-非两端”。

三、右击页框控件选“编辑”命令,在页框的编辑状态下选中page1,将其caption属性值设置为“查找记录”,按照看实例学VFP:对表中记录进行定位与查找操作一文向page1添加相同的控件并为各个控件设置相同的属性。

四、在页框的编辑状态下选中page2,将其caption属性值设置为“添加记录”,按照看实例学VFP:向数据表中添加记录并验证输入数据是否合法一文向page2添加相同的控件并为各个控件设置相同的属性。

五、设置完毕后的表单设计器如下图:

六、添加事件代码:

(一)表单的init事件代码:

02_vfp课程设计选题要求 篇6

一、课程设计的选题要求 1.选题的类型

Visual FoxPro选题主要是小型信息管理系统为主,要求学生根据自己的专业选择下面几类中的一个:

1)财务管理类信息管理系统

帐务处理系统:能够有效的完成帐务处理、科目计息、往来管理、项目管理、资金管理、证券管理、固定资产管理、报表管理和财务分析等内容

总账系统完成从凭证到账簿的核算和管理,支持多币种核算、跨单位查询、跨年度查询,实时动态地反映集团公司全体成员的财务状况及经营成果。

项目管理子系统是管理会计的重要组成部分,其以项目为中心进行核算管理,提供多种条件的统计和查询功能,可以满足各种成本费用中心和利润中心管理的要求。

财务分析和报表子系统提供的分析报表和数据,为领导进行科学、及时、合理的决策提供有效支持。

2)金融类

(1)银行

柜面业务处理系统:银行储蓄业务系统、银行对公业务系统、资金清算系统(电子汇兑系统、资金清算汇划系统)、通存通兑系统、代收代付系统、银行证券转账系统、信贷业务处理系统、信用卡业务处理系统

(2)证券交易

证券业务管理子系统是管理信息系统的基础和前提,它能够获得交易数据、行情数据、资金动态数据,动态反映证券交易的成本和潜在的盈亏以及资金占用情况,及时依据业务数据生成会计凭证,实现财务与业务一体化管理。收付费系统、财务管理、费用管理、投资管理

(3)保险

社会保险业务信息系统 财险统计分析

·各分公司的总保费(财务分析)?各分公司的利润有多少(财务分析)·各分公司的实赔金额有多少(财务分析)·哪些分公司的车险赔付率最高?(风险)·哪一种车型的赔付率高?(风险)

·哪一种使用类型的车辆赔付率最高?(客户)

3)人力资源类

包括员工管理、招聘管理、考勤与假期管理、薪酬福利管理、绩效评估管理、培训管理等,各个营业部负责人和各职能部门、地区总部负责人通过E/S进行日常的人事审批和人员管理,人力资源总监负责人员进出和变动的最后审批。4)工商管理

生产企业管理信息系统(仓库管理系统)、办公自动化信息系统、决策支持系统、企业资源规划系统、客户关系管理系统、工资管理系统、生产管理系统

5)其他

教育类专业的信息管理系统实验(包括班级管理系统、学生管理系统、教务管理系统等)旅游类的信息管理系统实验(包括宾馆客房管理系统、旅游预定系统等)体育类信息管理系统实验(包括彩票管理系统、比赛项目管理系统等)信息管理类的信息管理系统实验(包括图书馆管理系统、档案管理系统等)流通类的信息管理系统实验(包括超市管理系统、销售管理系统、物流管理系统等)其它类信息管理系统实验(包括车站售票管理系统、电话计费系统、车次查询系统等)事务处理系统、客户关系管理系统、电子数据交换与电子商务等常用信息系统

2.具体选题参考样例

1)学生学期综合成绩管理系统

本系统至少应包含以下基本功能:(1)成绩录入、修改。(2)计算综合成绩:

计算学生的总分及平均分并排名; 按单科成绩排名;

按班级和课程分别统计及格率及平均分等; 对课程进行分数段的人数的统计;

按课程统计重修人数并给出相应学生的名单; 按姓名或学号统计重修课程门数并给出相应课程名。(3)成绩查询:

按学号、姓名等进行查询; 按上述统计结果进行相关查询。

2)图书借还管理系统

本系统至少应包含以下基本功能:(1)借书、还书登记及相关处理: 借书数量的限制;

还书超期罚款处理(如未交罚款能还但下次不能借)。(2)查询功能:

借书查询(至少应按借书证号、借书人姓名等查询); 图书流通查询(至少应按书号、书名、作者、出版社等查询); 按有关统计结果进行查询。(3)图书流通统计:

按书名、书号、作者、出版社等统计借阅量; 按日期统计书的借阅量并按月汇总; 按个人借书号、姓名等统计个人借书情况;

按借书人所在单位或部门统计该单位或部门的借书情况。

3)超市的销售核算系统

本系统至少应包含以下基本功能:

(1)进货、售货登记及相关库存处理(如库存数量、价值等的增减)功能。

(2)前台销售结算功能。销售时只需输入商品号和顾客付款数,其它信息(如商品名、价格、找零等)应自动显示对每位顾客应打印出以上详细清单。

(3)查询功能:

按商品名或商品号等查询; 按库存查询(如需进货的边界值)。(4)统计功能:

按商品统计日销售额及当日利润等并进行汇总; 按月或季度输出相关销售报表。

4)人事管理系统

本系统至少应包含以下基本功能:

(1)个人信息输入、浏览、删除、修改等功能。

(2)查询功能:按姓名、工号等查询;按下面有关统计结果查询。(3)统计功能:

按职称、单位、性别、年龄段等统计人员个数;按上述有关条件进行组合统计。

5)教师工作量统计系统

本系统至少应包含以下基本功能:

(1)教师每学期教学班级、课程、工作量的输入(按周输入)、编辑、浏览等功能。(2)查询功能。按教师工号、教学班级、教学课程及工作量等查询。(3)统计功能:

统计指定的教师在指定班级、课程、学期范围内的工作量并汇总;

输出统计结果的阶段性报表(如截止第10周(或期末),每周授课情况和总工作量)。

6)学生档案管理系统

本系统至少应包含以下基本功能:

(1)学生档案信息输入(按系别输入)功能。(2)学生档案信息的浏览、编辑、修改、删除等功能。(3)查询功能:

按学号、姓名、系别、专业、年级等查询(包括这些条件的有关组合查询); 按以上有关统计结果查询。(4)统计功能

按系别、专业、年级、性别、学生来源、性别等及其有关组合统计(如电信系女生人数、计算机系应用专业人数、全校女生人数及其在各系分布情况等)。

7)工资管理系统 本系统至少应包含以下基本功能:

(1)工资信息输入、浏览、编辑、修改、删除等功能。(2)查询功能(按工号、姓名等)。(3)统计功能:

按实发工资、各项扣款、应发工资及各单位或部门分布情况等统计; 统计上述各项的平均值及各单位分布情况;(4)按工号顺序打印出每人的工资条。

二、课程设计的时间安排 1)完成人数

(1)个人完成

(2)小组完成(2-4人)

一个业务流程/人,即:对应的工作岗位的工作用计算机实现称为一个业务流程。

2)设计时间

开学后(1-4周);第四周周六、周日答辩

三、课程设计的实现步骤

选择某一单位,根据自己的专业到对应的工作岗位上进行需求调查,要记录:单位性质、工作岗位的职责、业务处理的过程、要实现计算机化管理的功能要求。到指定机房,进行程序的实现。

四、课程设计的结果 1)课程设计报告

课程设计报告是课程设计工作的总结和提高,课程设计报告应该反映出学生在课程设计过程中所做的主要工作和取得的主要成果,以及心得体会。要求学生以积极认真、严谨求实的态度完成课程设计报告的撰写。

课程设计报告编写基本要求:

(1)每个学生必须独立完成课程设计报告;

(2)课程设计报告要求统一格式,统一封面,书写规范、文字通顺、图表清晰、数据完整、结论明确;

(3)课程设计报告不少于3000字,要有必要的系统说明、结构图、业务处理的流程(用图或文字说明)、数据表结构的说明、程序运行的结果等项内容。

2)程序源代码

1、要求是编译好的,可直接运行的。

2、要求至少包括3个以上的数据库表,表单、工具栏、菜单共计10个

五、教材

第二章 VFP语言基础 篇7

1.

2.3 程序设计基础

1. 基本概念

程  序:为解决某一问题而设计的一系列指令,

第二章 VFP语言基础

主程序:通常被用户直接执行的程序。

子程序:在程序中被调用的程序。

源程序:由人用源语言编写的计算机程序,必须翻译成机器语言后才能被执行。

目标程序:是源程序经过编译后所产生的机器语言程序。

可执行程序:

源程序被编译后产生的可被机器直接执行的程序,具有 .EXE 扩展名。在VFP中是指由项目管理器连编生成的、可脱离VFP环境运行的程序。

应用程序:

指为完成专门工作而设计的一组相互联系的例行程序和子程序。在VFP中是指一组 Visual FoxPro 程序、表单、菜单和其他文件经项目管理器连编后形成的单个程序,不能脱离VFP环境运行,扩展名为.APP。

例行程序:

按某种顺序排列的、使计算机能执行某种任务的指令集合,可以是一种专用的程序或作为程序的一部分。它可由若干个子程序组成。

2. 程序控制

(1) 顺序语句

即按程序中的语句顺序依次执行。

(2) 分支语句

条件语句:

情况语句:

IF条件

命令组1

[ELSE

命令组2 ]

ENDIF

DO CASE

CASE情况1

命令组1

CASE情况2

命令组2

[OTHERWISE

其它命令组 ]

ENDCASE

3. 循环语句

FOR

循环语句(预知循环次数)

FOR变量 = 初值TO终值 [STEP步长 ]

命令组

ENDFOR|NEXT

DO WHILE

循环语句(未知循环次数)

DO WHILE条件

命令组

ENDDO

SCAN

循环语句(针对全部记录)

SCAN[ 范围 ] [FOR|WHILE条件 ]

命令组

ENDSCAN

循环结构中的LOOP命令和EXIT命令:

LOOP是短路语句,表示从此开始下一次循环;

EXIT是退出语句,表示跳出循环,

电脑资料

4. 子程序

子程序的的形式可以是一个程序文件,也可以是一个过程或自定义函数。

子程序

自定义函数

过程

特点

总是被其他程序调用而不单独执行,可以调用其他子程序,不一定要返回一个值。能以一个独立的文件储存,也可包含在调用程序中,必须返回一个值。是一个程序段,是程序的组成部分,一般放在程序的最后。

VFP学习经验交流 篇8

这个例子并没有什么复杂的东西,主要是在命令按钮的click事件中对文本框输入的值进行判断,根据所输入的选择值将其对应的奖品显示到编辑框中。

制作步骤如下:

一、新建表单,将其caption属性值设置为“编程入门网-制作一个摸奖机”,AutoCenter属性值设置为.t.,width和height属性值分别设置为280和150,并将其保存为“摸奖机.scx”。

二、添加控件并设置属性:

1.向表单上添加一个label控件label1,并将其caption属性值设置为“请输入您的选择(1-4)”。

2.向表单上添加一个文本框控件Text1,将其InputMask属性值设置为9,value属性值设置为0,

3.向表单上添加一个命令按钮Command1,并将其caption属性值设置为“您获得的奖品是”。

4.向表单上添加一个编辑框控件Edit1。

三、按上图所示的程序运行界面,适当调整各控件的大小及在表单上的位置。

四、添加事件代码:

命令按钮command1的click事件代码:

do case case thisform.text1.value=1 thisform.edit1.value=“您的奖品是手机一部.” case thisform.text1.value=2 thisform.edit1.value=“您的奖品是10000元.” case thisform.text1.value=3 thisform.edit1.value=“您的奖品是学习机一部.” case thisform.text1.value=4 thisform.edit1.value=“您的奖品是彩电一台.” otherwise thisform.edit1.value=“谢谢您的参与.”endcase

五、运行“摸奖机.scx”。

学习经验交流 篇9

93班车英满

作为一名学生,我们考虑最多的就是如何提高学习成绩,但是很多时候,我们只看到了表面的东西,却忽略了最重要的部分.大多数成绩优秀的学生都有一份更适当的学习方法,艰辛的努力过程和坚持不懈不懈的毅力.首先,他们的学习方法更适合自己的学习习惯,好的习惯,好的状态下学习效率成倍提高 ,用最短的时间掌握知识,在剩余的时间里,可以将掌握的知识进行讨论,实践,同样的时间,学到的知识比其它的人更多,更扎实,就以我自己为例,我习惯在清晨学习,所以,很多时候是朝阳伴着我,其它时间,或看看课外书,或不带一丝压力的去疯狂,这也是我痴迷玩乐,但成绩却不差的原因.其次,是艰辛的努力过程,这个过程不仅仅是对承受苦痛能力的考验,也是对心灵的一次次冲击.就象两条叉路,一条路上满是美好,是每个人都梦寐的安乐乡,殊不知”安乐乡亦是英雄冢”,另一条路是寸步难行的荆棘路,可是只有在满身伤痕的走过,才会发现,原来荆棘路后面是一片真正的世外桃源。所以,耐住了寂寞的煎熬,抵抗住花花世界,对将来步入社会后的工作、交往都有不可忽视的作用。

最后一点,也是最重要的一点,就是坚持不懈的毅力。面对网络,游戏的诱惑,睡意的打扰,强迫自己去学,虽然难,但是效果也不能忽略。

学习经验交流 篇10

61班赵乐

大家好,今天我和大家探讨的题目是学习的方法,要想学好每一门功课,最重要的就是上课一定要认真听讲。今天我和大家说一说学习数理化怎样才能进步。

数学是一门趣味性的课程。要想学好数学,首先,要树立信心。信心是学好一门学科的首要条件。很多同学对学习数学存在着低落的情绪,认为自己一向数学成绩不好,根本就学不好数学,或者没有学习数学的细胞,不适合学习数学。这些都是没有信心的表现,是学好数学的心理障碍。所以我们首先要树立信心,从心理上战胜自己。其次,要注意学习方法,数学是一门逻辑性很强的学科,讲究分析与逻辑推理。所以针对它的这种特性,我们在学习时就要培养和锻炼自己的推理和分析能力。期末复习,正是不断的总结来锻炼自己的思维,培养自己的数学思想,考试时,一拿到试卷,就应从前到后全部看一遍,先挑简单的做,做完后在做难题。不要在某个卡住的题上打“持久战”,那样既耗费时间又拿不到分,会做的题又被耽误了。成绩自然不理想。考完后应仔细检查一遍,以免有题漏做,或做错。

学习物理,首先便是培养自身对于物理学科的热爱,这样才有可能真正的学好物理,学好物理有几种方法。

第一,请相信自己有能力学好物理。这是一个对自己的心理暗示。

第二,物理是来源于生活的点点滴滴,所以可以考虑仔细观察生活中的一些细微现象。然后针对物理的学科特点,需要有很清晰的认知,我认为虽然这是理科,但是更需要做文科的细腻和规范。

上一篇:做自己的责任话题作文下一篇:合同专用章管理办法