比较规范的VFP程序写法

合集下载

vfp编写简单程序

vfp编写简单程序

vfp编写简单程序以VFP编写简单程序Visual FoxPro(简称VFP)是一种基于对象和事件驱动的编程语言,常被用于开发数据库应用程序。

本文将介绍如何使用VFP编写一个简单的程序。

我们需要打开VFP的集成开发环境(IDE),然后创建一个新的项目。

在项目中,我们可以创建新的表格、表单和报表来存储和显示数据。

对于本文的程序,我们将创建一个新的表格来存储学生的基本信息。

在VFP中,我们可以使用CREATE TABLE语句来创建一个新的表格。

例如,我们可以创建一个名为“Students”的表格,包含学生的姓名、年龄和性别等字段。

代码如下:CREATE TABLE Students (Name C(50),Age N(2),Gender C(10))接下来,我们可以使用INSERT INTO语句向表格中添加学生的信息。

例如,我们可以插入一条名为“John”的学生记录,年龄为18岁,性别为男。

代码如下:INSERT INTO Students (Name, Age, Gender) VALUES ("John", 18, "Male")现在,我们已经创建了一张表格,并向其中添加了一条记录。

接下来,我们可以使用SELECT语句来查询表格中的数据。

例如,我们可以查询所有学生的信息,并按照姓名的字母顺序进行排序。

代码如下:SELECT * FROM Students ORDER BY Name通过以上代码,我们可以获取所有学生的信息,并按照姓名的字母顺序进行排序。

在VFP中,我们可以使用GRID控件来显示查询结果。

代码如下:CREATE FORM StudentFormADD OBJECT StudentGrid AS GRIDWITH ;Left = 10, ;Top = 10, ;Width = 400, ;Height = 300StudentGrid.RecordSource = "SELECT * FROM Students ORDER BY Name"MODIFY FORM StudentForm NOWAIT通过以上代码,我们创建了一个名为“StudentForm”的表单,并在表单中添加了一个GRID控件。

VFP小程序

VFP小程序

给VFP做一个智能日期识别控件出处:网络1、新建一个类,派生于TextBox,取类名如InputDate。

2、对InputDate的LostFocus 和GotFocus 分别写入如下代码:LostFocus:IF !EMPTY(THIS.V ALUE)cY ear=allt(str(year(date())))cMonth=allt(str(month(date())))nPoint=0cInput=allt(this.value)nLenInput=len(cInput)if left(cInput,1)=="."cInput=right(cInput,nLenInput-1)nLenInput=Len(cInput)endifif right(cInput,1)=="."cInput=left(cInput,nLenInput-1)nLenInput=Len(cInput)endifn=1DO WHILE n<=nLenInputcChar=subst(cInput,n,1)if cChar=='.'nPoint=nPoint+1endifn=n+1ENDDODO CASECASE nPoint=0cOutPut=cY ear+'.'+cMonth+'.'+cInputCASE nPoint=1cOutPut=cY ear+'.'+cInputCASE nPoint=>2cOutPut=cInputENDCASEdOutPut=ctod(cOutPut)if empty(dOutput)??chr(7)this.value="日期错误!"elsethis.value=dOutPutendifENDIFGotFocus:if type('this.value')='D'this.value=dtoc(this.value)endif3、对InputDate的属性设置如下:SelectOnEntry=.T.Century=1 - 开DateFormat=14 - 汉语4、注意事项,因以上代码必须设置:Set date ansiSet cent on如果绑定其数据源ControlSource时,运行会出错,可以根据具体情况改写上述两段代码,如果提示是“日期错误!”则数据类型是字符型的,如果给出正确的日期,则数据类型是日期型的。

VFP常用命令函数程序汇总

VFP常用命令函数程序汇总

常用命令函数程序汇总一、主要命令:1、CREATE 文件名作用:建立一个以.dbf为扩展名的新表。

在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。

2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。

只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

3、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。

若为APPEND [BLANK]是指在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。

无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

4、INSERT作用:在表文件中间插入一个新记录。

若为INSERT [BEFORE] [BLANK],则INSERT表示在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。

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

若为BROWSE [FIELDS <字段名表>],则表示看到所列字段名的字段内容。

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所有的记录。

vfp8.1-三种程序结构

vfp8.1-三种程序结构

2)双分支结构
输入4 7 输入5 2
【例】输出两数X,Y中大的 一个(IF …ELSE… ENDIF) INPUT ‘输入X’ TO X
输入X 输入Y
INPUT ‘输入Y’ TO Y
IF X>Y
S=X
?X else
?Y endif
.T. Y> .F.
X
输出Y
输出X
cancel
输出 7
结束
输出5
程序的三种基本结构
.T.
?‘是闰 年’
CANC
输入年份 计算条件
条 件
结束
.F.
?‘不是 ’
程序的三种基本结构
3)多分支结构
格式:
DO CASE CASE 条件1 语句序列1 CASE 条件2 语句序列2
….. CASE 条件n
语句序列n
OTHERWISE 语句序列
ENDCASE
条件1 .F.
条件2
.T . 语句序列1
case n>=90 nj=‘优’
case n>=80
case n>=60 nj=‘合格’
otherwise nj=‘不合格’
Endcase ?xm,’同学的成绩:’,n ?? ‘ 等级为:’,nj
Use
Canc
读程序:分析下面的一个程序:
Do case case 计算机<60 ?“不及格” case 计算机>=60 ?‘及格’ case 计算机>=70 ?“中” case 计算机>=80 ?‘良’ case 计算机>=90 ?‘优’
可以获得
关闭表并结束
不能
程序的三种基本结构
【例】输入并判断某年是否是闰年。 分析: 1)定义变量 输入量:Y 年份; 2)数学模型与算法: 闰年的计算方法:

vfp数据库程序设计程序示例

vfp数据库程序设计程序示例

vfp数据库程序设计程序示例如何进行VFP数据库程序设计的示例。

请注意,vfp数据库是Visual FoxPro数据库的缩写。

第一步:理解VFP数据库编程的基础知识在进行VFP数据库程序设计之前,我们需要先理解VFP数据库编程的基础知识。

VFP数据库是一种关系型数据库,它使用表格来组织和管理数据。

每个表格包含一系列的字段,并且可以在表格之间建立关系。

VFP数据库还支持SQL查询语言,可以方便地查询和操作数据。

第二步:创建数据库在VFP中创建数据库非常简单。

首先,打开VFP软件,在菜单栏中选择"数据库",然后选择"新建"。

接下来,为数据库指定一个名称,选择保存位置,并点击"确定"。

数据库创建成功后,我们可以在VFP软件中看到它的图标。

第三步:创建表格在VFP数据库中,表格用于存储和管理数据。

要创建一个表格,首先确保数据库窗口处于活动状态。

然后,在数据库窗口中右键单击,选择"新建",然后选择"表格"。

接下来,为表格指定一个名称,并定义字段。

在每个字段中,我们可以定义字段名称、字段类型、字段长度以及其他属性。

创建完所有字段后,点击"确定" 完成表格创建。

第四步:插入数据在VFP数据库中插入数据十分简单。

首先,双击要插入数据的表格,打开表格编辑窗口。

然后,在表格编辑窗口中,点击"插入"按钮。

接下来,输入要插入的数据,每个字段占一列,然后点击"确定" 完成数据插入。

可以重复这个过程,插入更多的数据。

第五步:查询数据VFP数据库支持使用SQL查询语言来查询和操作数据。

在VFP软件中的菜单栏中选择"工具",然后选择"查询",打开查询编辑器。

在查询编辑器中,我们可以输入SQL查询语句。

例如,要查询某个表格中所有记录的所有字段,可以使用以下SQL查询语句:"SELECT * FROM table_name"。

VFP程序设计教程

VFP程序设计教程

VFP程序设计教程VFP(Visual FoxPro)是Microsoft公司开发的一种基于xBase语言的高级数据库开发工具。

它具有丰富的功能和强大的数据库管理能力,是许多企业和开发者首选的数据库管理工具之一、在本教程中,我们将介绍VFP的基本概念和常用操作,帮助您快速入门并掌握VFP程序设计的基本技能。

一、VFP程序设计环境介绍VFP是一个集成式的开发环境,它包含了数据库管理、图形用户界面设计和编程功能。

在VFP中,您可以通过可视化的方式设计和管理数据库表、表单和报表,同时还可以使用VFP编程语言进行定制化的业务逻辑编写。

二、VFP程序设计基础1.数据库管理在VFP中,您可以通过“数据库”菜单进行数据库管理操作。

可以创建新的数据库、打开已有的数据库、创建、修改和删除数据库表,以及执行SQL查询等数据库操作。

2.界面设计VFP提供了丰富的界面设计工具,可以轻松地设计数据库表单和报表。

您可以通过拖拽控件、设置属性等操作,创建符合需求的用户界面。

3.编程操作三、VFP程序设计实例接下来,我们将通过一个简单的实例介绍VFP程序设计的基本操作。

假设我们需要设计一个学生信息管理系统,包括学生表和成绩表。

首先,在VFP中创建一个新的数据库文件,然后创建两个表,一个是学生表包括学生ID、姓名、性别等字段,另一个是成绩表包括学生ID、科目、成绩等字段。

接下来,我们设计一个学生信息表单,包括学生信息展示、添加和修改功能。

通过VFP的界面设计工具,我们可以轻松地设计出符合需求的表单界面。

最后,我们编写程序代码,实现学生信息的查询、添加和修改操作。

我们可以通过VFP的编程语言编写相应的逻辑代码,实现系统的功能。

通过这个实例,我们可以看到VFP程序设计的整个流程,包括数据库管理、界面设计和编程操作。

希望这个实例可以帮助您更好地理解VFP的程序设计方法。

总结:。

vfp的语法规则

vfp的语法规则

VFP 6.0的数据类型
VFP提供了多种数据类型,这些数据 类型可分为两大类:
一类只适用于数据表中的字段 另一类则不仅适用于字段,还适用于程 序设计中要用到的内存变量和数
4
字符型(Character)
字符型(C型)数据可以包含任何可 显示的字符、汉字和符号。 字符型字段或变量的数据长度不能超 过254个字节,每个字符占用一个字节, 每个汉字占用两个字节。
☆☆ Visual Fox Pro程序设计
5
数值型(Numeric)
数值型(N型)用于表示数量,是由数字符 号0~9以及小数点和正负号及E组成。 数值型的长度不能超过20个字节,其中负 号、小数点各占一位。N型值的取值范围在 -0.9999999999E+19到+0.9999999999E+20之 间。 数值型固定占用8个字节。除了十进制数外, VFP6.0还支持十六进制数,如十进制数128 可以表示为十六进制的0x80。
☆☆ Visual Fox Pro程序设计
9
货币型(Currency)
在VFP6.0中,一般使用货币型(Y型)数 据表示货币,而不是使用数值型。 如果货币型数据的小数位数超过四位,系 统会自动对其进行舍入处理。 系统默认的货币符号是“$”,用户可以 通过“Set Currency”语句设置货币符号。 货币型数据的取值范围介于 922337203685477.5808到 922337203685477.5807之间,用8个字节存 储。
☆☆ Visual Fox Pro程序设计 12
逻辑型(Logical)
逻辑型(L型)用于存储只有两个值 的数据,是一种高效的存储方法,存 入的值为真(.T.)和假(.F.)两种状 态。 逻辑型变量多用于程序分支设置。

VFP第6章面向对象的程序设计

VFP第6章面向对象的程序设计

03
Visual FoxPro中的事件 驱动编程
事件驱动编程的概念
事件驱动编程是一种编程范式,它通 过事件来触发程序的执行。在事件驱 动的程序中,事件是由用户操作或其 他系统事件触发的,例如点击按钮、 键盘输入等。
在事件驱动的程序中,程序的状态由 事件和事件处理程序来管理。当某个 事件发生时,相应的事件处理程序会 被调用,以响应该事件。
什么是对象
对象是面向对象程序设计的基本单元,代表了现实世界中的 事物或概念。
对象由属性和方法组成,属性描述对象的状态,方法定义对 象的行为。
对象的属性、方法和事件
属性
描述对象特性的数据元素,如颜色、大小等。
方法
定义在对象上的操作,用于实现特定的功能 或行为。
事件
由用户或系统触发,导致对象状态改变或执 行特定操作。
根据项目需求选择合适的数据访问方式,如直接访问数据 库、使用ORM框架等。
01
数据流控制
设计合适的数据流控制结构,如顺序、 循环、条件等,实现数据的处理和流转。
02
03
数据验证
对输入数据进行验证,确保数据的合 法性和准确性。
THANKS FOR WATCHING
感谢您的观看
为控件编写事件处理程序,以响应用户的操 作或系统事件。
调用方法
通过调用控件的方法来执行特定的操作,如 显示或隐藏控件。
05
面向对象程序设计在 Visual FoxPro中的应用
数据库应用程序的设计
数据库模型选择
根据项目需求选择合适的数据库模型,如关系 型、层次型或网络型。
数据结构设计
定义数据库中的表、字段、主键、外键等,以 及表之间的关系。
事件处理程序

VFP程序编写步骤

VFP程序编写步骤

综合题目:1 加法程序编程(1)在命令窗口输入“create form”单击回车键(2)回车后,弹出表单设计器——文档1,表单控件,属性——文档1三个窗口.(3)在form1窗口中添加标签“label1”并命名为“请输入被加数”,与之对应在其后添加一个文本框text1; 添加标签“label2”并命名为“请输入加数”, 与之对应在其后添加一个文本框text2; 添加标签“label3”并命名为“和的结果为”, 添加标签“label4”与标签“label5”,“label5”并命名为“计算,再单击计算。

(4)单机计算后弹出“label5 click”窗口,在该窗口输入a=val(thisform.text1.text)b=val(thisform.text2.text)c=a+bbel4.caption=str(c)(5)输入完毕后单击保存再单击运行,弹出form1窗口,在输入具体值运算出具体结果。

2创建学生信息数据表(1)在命令窗口输入“create xsxx.dbf”,按回车键。

(2)按回车键后弹出一个“表设计器—xsxx.dbf”窗口,在该窗口分别输入序号,学号,姓名,班级,期末成绩,备注等各项内容,并分别设计各项的宽度,小数位,索引,排序的内容。

设计好后单击确定。

(3)确定后弹出“Microsoft Visual Foxpro”窗口,若马上输入数据单击“是”,反之单击“否”。

(4)若单击“是”,弹出空白学生信息窗口,之后填写该窗口。

(5)在该系统下选择“显示—显示—浏览”进入浏览窗口。

(6)单击“文件”,选择“新建”,在弹出的“新建”对话框中选择“表单”选项,点击“新建文件”按钮。

(7).在表单设计器的窗体中添加三个命令按钮,默认名称为command1、command2、command3。

(8).选中command1按钮,在右侧的属性列表中找到command1的caption 属性,将其值修改为“上一条”,可以看到按钮上显示的文字变成“上一条”。

vfp数据库程序设计程序示例 -回复

vfp数据库程序设计程序示例 -回复

vfp数据库程序设计程序示例-回复如何进行VFP数据库程序设计。

VFP(Visual FoxPro)是由微软公司开发的一个关系数据库管理系统,它混合了关系型数据库管理系统(RDBMS)和面向对象编程语言的特点。

VFP具有强大的数据处理和分析能力,是一个非常适合用于开发中小型企业数据库应用的工具。

在本文中,我们将一步一步地介绍如何进行VFP数据库程序设计。

首先,我们需要定义数据库的结构。

一个数据库由多个表组成,每个表由多个字段组成。

字段定义了表中存储的数据类型和长度。

在VFP中,我们可以使用CREATE TABLE语句来创建表。

例如,我们要创建一个存储学生信息的表,需要包含学生姓名、性别、年龄等字段。

我们可以使用以下代码来创建表:CREATE TABLE Student (Name CHAR(50),Gender CHAR(10),Age INT)接下来,我们可以向表中插入数据。

在VFP中,我们可以使用INSERT INTO 语句来插入一条记录。

例如,我们可以使用以下代码向Student表中插入一条学生记录:INSERT INTO Student (Name, Gender, Age) VALUES ('张三', '男', 18)除了插入一条记录,我们还可以使用INSERT INTO语句一次插入多条记录。

例如,我们可以使用以下代码一次性插入三条学生记录:INSERT INTO Student (Name, Gender, Age) VALUES('张三', '男', 18),('李四', '女', 20),('王五', '男', 19)接下来,我们可以使用SELECT语句从表中检索数据。

SELECT语句用于从表中选择需要的字段和记录。

例如,我们可以使用以下代码从Student 表中选择所有学生记录:SELECT * FROM Student此外,我们还可以使用WHERE子句来设置条件,过滤出符合特定条件的记录。

VFP程序编写步骤

VFP程序编写步骤

综合题目:1 加法程序编程(1)在命令窗口输入“create form”单击回车键(2)回车后,弹出表单设计器——文档1,表单控件,属性——文档1三个窗口.(3)在form1窗口中添加标签“label1”并命名为“请输入被加数”,与之对应在其后添加一个文本框text1; 添加标签“label2”并命名为“请输入加数”, 与之对应在其后添加一个文本框text2; 添加标签“label3”并命名为“和的结果为”, 添加标签“label4”与标签“label5”,“label5”并命名为“计算,再单击计算。

(4)单机计算后弹出“label5 click”窗口,在该窗口输入a=val(thisform.text1.text)b=val(thisform.text2.text)c=a+bbel4.caption=str(c)(5)输入完毕后单击保存再单击运行,弹出form1窗口,在输入具体值运算出具体结果。

2创建学生信息数据表(1)在命令窗口输入“create xsxx.dbf”,按回车键。

(2)按回车键后弹出一个“表设计器—xsxx.dbf”窗口,在该窗口分别输入序号,学号,姓名,班级,期末成绩,备注等各项内容,并分别设计各项的宽度,小数位,索引,排序的内容。

设计好后单击确定。

(3)确定后弹出“Microsoft Visual Foxpro”窗口,若马上输入数据单击“是”,反之单击“否”。

(4)若单击“是”,弹出空白学生信息窗口,之后填写该窗口。

(5)在该系统下选择“显示—显示—浏览”进入浏览窗口。

(6)单击“文件”,选择“新建”,在弹出的“新建”对话框中选择“表单”选项,点击“新建文件”按钮。

(7).在表单设计器的窗体中添加三个命令按钮,默认名称为command1、command2、command3。

(8).选中command1按钮,在右侧的属性列表中找到command1的caption 属性,将其值修改为“上一条”,可以看到按钮上显示的文字变成“上一条”。

(整理)VFP程序步骤.

(整理)VFP程序步骤.

第一部分:程序入门一级一、选择结构(IF- ELSE - ENDIF)语句格式:IF〈条件〉〈语句序列1〉[ ELSE〈语句序列2〉]ENDIF说明:IF和ENDIF必须配对使用,而ELSE可选。

三个语句应各占一行。

若省略ELSE子句,条件为真时,则执行〈语句序列1〉,然后再执行ENDIF后的语句;否则,若条件为假,即执行ENDIF后的语句。

二、循环结构1、条件循环:语句格式:DO WHILE 〈条件表达式〉〈语句序列1〉[LOOP]〈语句序列2〉[ EXIT ]〈语句序列3 〉ENDDO说明:系统执行该语句时,先测试条件表达式的值,若为真,则执行循环体,在循环体中修改循环条件,直到条件为假时,脱离循环,执行循环体ENDDO后的语句。

若遇到LOOP 语句,则直接返回执行DO语句,测试条件以决定是否继续循环。

若执行循环体时遇到EXIT 语句,则不执行下面的语句,直接跳出循环,执行ENDDO后面的语句。

注意:DO WHILE必须和ENDDO配合使用,两者缺一不可,DO WHILE语句前一定要有条件变量的初始值。

2、计数循环FOR〈循环变量〉=〈循环初值〉TO〈循环终值〉[STEP〈步长〉]〈语句序列1〉[LOOP]〈语句序列2〉[EXIT]〈语句序列3〉ENDFOR/NEXT说明:使用和DO WHILE 基本一致,注意步长和ENDFOR语句。

三、程序举例:A. 简单整除,求和求个数。

Eg:求出[10,100]内所有能被2整除的整数的和(2530),个数(46)set talk offclearn=0 &&设置计数变量s=0 &&设置求和变量for i=10 to 100if mod(i,2)=0n=n+1 &&满足条件计数变量加1s=s+i &&满足条件,求和变量增加endifendfor? n,sset talk onreturnA1.求出[10,100]内所有能被7和9中至少一个数整除的整数的个数(22),和(1250).A2.求出[10,100]内所有能被7但不能被9整除的整数的个数(12), (665)A3.求出[10,100]内所有能被7和9中的一个且只有一个数整除的整数的个数(21),(1187)A4.编写程序,求出1~7000以内能被3或者7整除的数的个数(3000)。

一个比较规范的VFP主程序,适合初学者参考。

一个比较规范的VFP主程序,适合初学者参考。

一个比较规范的VFP主程序,适合初学者参考。

* 程序名:main.prg* 作用:整个系统的入口* 路径:/你的程序目录/prgsSet Talk offSet Escap off* 开始,程序错误处理ON ERROR DO Err.PRG With Error(), Message(), Message(1), Program(), Lineno(1)* 第一步,清理环境Close All && 关闭所有工作区中打开的数据库、表和索引,并选择工作区 1。

Clear Menus && 从内存中释放所有的内存变量和数组以及所有用户自定义菜单栏、&& 菜单和窗口的定义。

还从内存中删除所有用DECLARE-ALL 注册&& 的外部 Windows 32 位动态链接库 (.DLLS)。

* 关闭系统菜单* 如果在发出 SET SYSMENU SAVE 命令之后修改了菜单系统,可以通过发出* SET SYSMENU TO DEFAULT 命令来恢复前面的设置。

Set Sysmenu Save* 在程序执行期间废止 Visual FoxPro 主菜单栏。

Set Sysmenu OffSet Sysmenu T o* 第二步,设置环境* 退出Read时保存数据缓冲区内容Set Autosave On* 使用 INSERT、APPEND 和 BROWSE 命令创建新记录时,不将当前记录数据复制到新记录中。

Set Carry Off* 指定是否可以用在文本框中键入最后一个字符的方法退出文本框。

Set Confirm Off* 日期不显示世纪部分Set Century Off* 设置日期格式为'YY.MM.DD' 格式Set Date Ansi* 不显示已经删除的记录Set Delete On* 决定能否使用 LOCK ( )或 RLOCK ( ) 锁定多个记录。

vfp的语法规则

vfp的语法规则
VFP的语法
☆☆ Visual Fox Pro程序设计
1
使用命令窗口
SET MARK TO [日期分隔] SET DEFAULT TO [文件路径] DISPLAY STATUS或LIST STATUS
☆☆ Visual Fox Pro程序设计
2
VFP书写规则
必须以一个命令动词开头,大小写字母等效。 命令动词和子句中的短语可用其前四个或四个以上字符的 缩写表示,如DISP、DISPL、DISPLAY、Disp是等效的 大多数命令动词后可以跟一个或多个限定该动词的子句。 命令行中的各个子句可以按任意次序排列。 命令行中如果有多个词就以一个或多个空格隔开 一个命令行的最大长度不能超过254个字符。 一行只能写一条命令,每条命令的结束标志是按回车键。 如果一个命令太长,一行写不下,可以使用续行符“;”, 然后回车,并在下一行接着书写该命令。但总长不能超过 254个字符。 所有命令,一律在英文输入状态下进行。标点符号均用英 文,否则系统提示:“命令中含有不能识别的短语或关键 字”。 ☆☆ Visual Fox Pro程序设计 3
☆☆ Visual Fox Pro程序设计
32
变量的输出
VFP提供的输出命令很多,这里只介绍基 本输出命令?和??的使用。 【格式一】?[<表达式1>[,<表达式2>]…] 【格式二】??[<表达式1>[,<表达式2>]…] 【功能】先计算表达式的值,再显示各值。 格式一从下一行的第一列起显示,格式二 则不换行显示。
☆☆ Visual Fox Pro程序设计
20
数值型常量
数值型常量是由数字0~9、小数点、 正负号和E(科学计数法中指数的底10) 组成的。 例如128、0.234、-123.34、1.2E+5等 都是数值型常量。其中1.2E+5是 1.2×10^5在VFP中的表示方法。

[计算机]FoxPro命令的一般格式

[计算机]FoxPro命令的一般格式

FoxPro命令的一般格式命令格式FoxPro命令一般由命令名及通过字句所指定的操作对象、操作范围、操作条件等若干选择项所构成,其一般格式如下:<命令名>[<表达式>][〈范围〉][FOR<条件>][WHILE〈条件〉][TO FILE<文件名>|TO PRINTER|TO ARRAY <数组表>|TO <内存变量>][ALL [LIKE|EXCEPT<通配符>]][IN<别名>]其中命令名:是一个表示完成何种操作的英文动词;表达式表:是一个或多个由逗号隔开的表达式,用来表示该命令的操作对象;范围:表示该命令对数据库文件记录的操作范围,有以下四种选择:RECORD N 对第N条记录进行操作NEXT N 对从当前记录开始的N条记录进行操作ALL 对所有记录进行操作REST 对从当前记录开始到文件结束的所有记录进行操作FOR<条件>:对所有满足"条件"的记录进行操作;WHILE<条件>:对直到不满足条件的记录为止的所有已满足条件的记录进行操作TO子句用来控制操作结果的输出,可以输出到文件、打印机、数值、内存变量;ALL[LIKE|EXCEPT<通配符>]:用来指明包括或不包括与通配符相匹配的内存变量或字段变量;通配符指“?”号和“*”号。

“?”号可以与任何一个字符相匹配,而“*”号则可以与任何一串字符相匹配IN<别名>:该子句容许在当前工作区下操作其他工作区中的数据库文件。

命令的书写规则上述命令的一般格式中:< >尖括号中的内容表示命令中用户的定义项;[ ]方括号中的内容表示可选项。

视要求而定;| 分隔符隔开的项表示多项选一;注意:书写命令时上述符号不应包含在命令中FOXPRO中命令的书写必须遵循以下规则:1、每条命令必须以命令名开子句的顺序可任意;2、命令名可缩写为前四个字符;3、命令的各部分之间至少要用一个空格分开;4、为清楚起见,关键字一律用大写,用户定义名用小写;5、命令行可分行书写,行末用“ ;”作为当前行的续行符。

VFP程序模型

VFP程序模型
1.简单整除,求和求个数。
求出[10,100]内所有能被2整除的整 数的和,个数
返回目录
• set talk off • clear • n=0 &&设置计数变量 • s=0 &&设置求和变量 • for i=10 to 100 • if mod(i,2)=0 • n=n+1 &&满足条件计数变量加1 • s=s+i &&满足条件,求和变量增加 • endif • endfor • ? n,s • set talk on • return
返回目录
有5羊4犬3鸡2兔值钱1496,4羊 2犬6鸡3兔
值钱1175,3羊1犬7鸡5兔值钱 958, 2羊3犬5鸡1兔值钱861,
求羊值多少钱?
返回目录
• Set talk off • for b=10 to 250 • for c=10 to 150 • for d=10 to 30 • a=(1496-4*b-3*c-2*d)/5 • if 5*a+4*b+3*c+2*d=1496 and 4*a+2*b+6*c+3*d=1175 • if 3*a+1*b+7*c+5*d=958 and 2*a+3*b+5*c+1*d=861 • ?a • endi • endif • Endf • endf • endf • Set talk on
返回目录
一个数如果刚好与小于它的所有因 子之和相等,则称该数为一个“完 数”, 如:6=1+2+3,则6就是一 个完数。求出200到500之间的所有
完数之和。
返回目录
• s=0 • for k=200 to 500 • c=0 • for i=1 to k-1 • if mod(k,i)=0 • c=c+i • endif • endf • if c=k • s=s+k • endif • endf • ?s

教你如何制作vfp程序设计

教你如何制作vfp程序设计

结构化程序设计
1.基本概念 程序设计的要求是设计出的程序应满足: 1.能在计算机上运行且运行结果正确,符合题目要求; 2.具有良好的结构,清晰易懂;
3.界面友好,便于使用;
4.尽可能减少运行时间; 5.运行时所占用内存要压缩到合理的范围。 程序设计的步骤: 1.分析问题 2.确定算法 5.调试程序 3.画出流程图 4.编写程序
A
B 顺序结构
成立
不成立
当P成立 A A
直到p成立
A
B 选择结构
当型循环
直到型循环
3.顺序结构程序设计
顺序结构是最简单的结构,它 没有分支,执行上一步后必然执行 下一步。 按顺序结构组成程序时,只需把 要使用的命令按照处理的顺序自上 而下的排列起来。
A
B
4.分支结构程序设计
按条件是否成立,选择执行不 同的命令分支。
3.除主程序外,每个程序的最后一条命令为return。
如p153 表7-1
2.程序的执行
程序的执行就是按照文件指定的顺序执行各命令语句。 方法1:在命令窗口中输入命令 格式:DO <文件名> 功能:执行<文件名>指定的命令文件。
方法2:菜单方式
选择“程序”菜单-“运行”命令,弹出对话框,选择要执 行的命令文件,即可执行。
Clear
Text
1.显示记录 2.修改记录
3.添加记录
0.退出 Endtext
4.删除记录
Wait “请选择(0-4):” to p
5.循环结构程序设计
循环是指按照给定的条件去重复执行一段特定功能的程序。
格式一:
DO WHILE <条件表达式> <命令序列> ENDDO 功能:当条件表达式的值为真时, 执行命令序列,否则执行ENDDO后 面的语句 说明:1.do while 和enddo之间的命 令序列又称为循环体;可以是一个语 句或一组语句,也可以是VFP子程序。 命令序列 条件为真?

FoxPro命令的格式及书写规则

FoxPro命令的格式及书写规则

2.4 FoxPro命令的格式及书写规则 命令的格式及书写规则
2.4.1命令的一般格式 每条Foxpro命令都有其特定的语法结构,用 以说明为实现该命令的功能所必须包含和可以 任选的成分。一条典型的操作命令由命令动词、 操作对象和限制性短语三部分组成。 ⒈ 命令动词 所有命令都以命令动词开头,它规定了命 令要完成的功能。命令动词通常为一个英文动 词,该动词的英文含义表示要执行的操作。例 如,HELP(帮助命令)、DO (执行命令)。
本书所介绍命令的格式中的符号约定如下: <> 命令中的参数用一对尖括号表示。 [] 命令中位于方括号中的内容为任选择, 可以选,也可以不选。 | 命令中互斥的选项用竖线分隔,表示不 能同时使用。 … 命令中可重复多次的选项用省略号表示, 选项之间采用逗号“,”分隔符。
2.4.2 命令的书写规则 使用FoxPro命令时应遵循如下规则: 命令时应遵循如下规则: 使用 命令时应遵循如下规则 每条命令必须以命令动词开头, ⑴每条命令必须以命令动词开头,且必须符合 命令的语法格式。 命令的语法格式。 ⑵限制性短语在命令行中出现的先后次序无关 紧要。 紧要。 命令动词与限制性短语之间、 ⑶命令动词与限制性短语之间、子句与子句之 间以及各个选项之间必须至少用一个空格隔开。 间以及各个选项之间必须至少用一个空格隔开。 ⑷命令中的字母不分大小写 一条命令的最大长度可以为2048个字符,如 个字符, ⑸一条命令的最大长度可以为 个字符 果命令较长可分多行书写, 果命令较长可分多行书写,但必须在每行的结尾 使用分行符“ ” 最后一行不用)。 使用分行符“;”(最后一行不用)。 一行内只允许写一条命令, ⑹一行内只允许写一条命令,每条命令用回车 符作为结束标志。 符作为结束标志。
操作对象 指出命令所作用的对象,可以是字段 名、操作范围、文件名等。其中,操作 范围规定了命令所作用的记录的范围。 有如下四种情况: ⑴ALL 操作对象为全部记录 ⑵NEXT <n> 操作操作对象为第n条记 录

FoxPro命令的一般格式

FoxPro命令的一般格式

FoxPr‎o命令的一‎般格式命令格式FoxPr‎o命令一般‎由命令名及‎通过字句所‎指定的操作‎对象、操作范围、操作条件等‎若干选择项‎所构成,其一般格式‎如下:<命令名>[<表达式>][〈范围〉][FOR<条件>][WHILE‎〈条件〉][TO FILE<文件名>|TO PRINT‎E R|TO ARRAY‎<数组表>|TO <内存变量>][ALL [LIKE|EXCEP‎T<通配符>]][IN<别名>]其中命令名:是一个表示‎完成何种操‎作的英文动‎词;表达式表:是一个或多‎个由逗号隔‎开的表达式‎,用来表示该‎命令的操作‎对象;范围:表示该命令‎对数据库文‎件记录的操‎作范围,有以下四种‎选择:RECOR‎D N 对第N条记‎录进行操作‎NEXT N 对从当前记‎录开始的N‎条记录进行‎操作ALL 对所有记录‎进行操作REST 对从当前记‎录开始到文‎件结束的所‎有记录进行‎操作FOR<条件>:对所有满足‎"条件"的记录进行‎操作;WHILE‎<条件>:对直到不满‎足条件的记‎录为止的所‎有已满足条‎件的记录进‎行操作TO子句用‎来控制操作‎结果的输出‎,可以输出到‎文件、打印机、数值、内存变量;ALL[LIKE|EXCEP‎T<通配符>]:用来指明包‎括或不包括‎与通配符相‎匹配的内存‎变量或字段‎变量;通配符指“?”号和“*”号。

“?”号可以与任‎何一个字符‎相匹配,而“*”号则可以与任何一串‎字符相匹配‎IN<别名>:该子句容许‎在当前工作‎区下操作其‎他工作区中‎的数据库文‎件。

命令的书写‎规则上述命令的‎一般格式中‎:< >尖括号中的‎内容表示命‎令中用户的‎定义项;[ ]方括号中的‎内容表示可‎选项。

视要求而定‎;| 分隔符隔开‎的项表示多‎项选一;注意:书写命令时‎上述符号不‎应包含在命‎令中FOXPR‎O中命令的‎书写必须遵‎循以下规则‎:1、每条命令必‎须以命令名‎开子句的顺‎序可任意;2、命令名可缩‎写为前四个‎字符;3、命令的各部‎分之间至少‎要用一个空‎格分开;4、为清楚起见‎,关键字一律‎用大写,用户定义名‎用小写;5、命令行可分‎行书写,行末用“‎;”作为当前行‎的续行符。

VFP编程规范A

VFP编程规范A

VFP编程规范AVFP编程规范A1 排版1-1:程序块要采用缩进风格编写,缩进的空格数为4个。

1-2:相对独立的程序块之间和相对独立的变量定义之后必须加空行。

1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

1-5:若函数或过程中的参数较长,则要进行适当的划分。

1-6:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.->::),后不应加空格。

1-7:一行程序以小于80字符为宜,不要写得过长。

2 注释2-1:一般情况下,源程序有效注释量必须在20%以上。

2-2:源代码应在开始处进行注释,注释应列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志、调用示例等。

2-3:事件、方法、过程的代码应在开始处进行注释,注释应列出:版权说明、版本号、生成日期、作者、模块目的/功能、修改日志、调用示例等。

2-4:过程的头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用示例等。

2-5:边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。

不再有用的注释要删除。

2-6:注释的内容要清楚、明了,含义准确,防止注释二义性。

2-7:避免在注释中使用缩写,特别是非常用缩写。

2-8:注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。

2-9:对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在定义时都必须加以注释,说明其物理含义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一个比较规范的VFP主程序,适合初学者参考。

2008-02-25 14:451027人阅读评论(1)收藏举报* 程序名:main.prg* 作用:整个系统的入口* 路径:/你的程序目录/prgsSet Talk offSet Escap off* 开始,程序错误处理ON ERROR DO Err.PRG With Error(), Message(), Message(1), Program(), Lineno(1)* 第一步,清理环境Close All && 关闭所有工作区中打开的数据库、表和索引,并选择工作区1。

Clear Menus && 从内存中释放所有的内存变量和数组以及所有用户自定义菜单栏、&& 菜单和窗口的定义。

还从内存中删除所有用DECLARE-ALL 注册&& 的外部Windows 32 位动态链接库(.DLLS)。

* 关闭系统菜单* 如果在发出SET SYSMENU SAVE 命令之后修改了菜单系统,可以通过发出* SET SYSMENU TO DEFAULT 命令来恢复前面的设置。

Set Sysmenu Save* 在程序执行期间废止Visual FoxPro 主菜单栏。

Set Sysmenu OffSet Sysmenu To* 第二步,设置环境* 退出Read时保存数据缓冲区内容Set Autosave On* 使用INSERT、APPEND 和BROWSE 命令创建新记录时,不将当前记录数据复制到新记录中。

Set Carry Off* 指定是否可以用在文本框中键入最后一个字符的方法退出文本框。

Set Confirm Off* 日期不显示世纪部分Set Century Off* 设置日期格式为"YY.MM.DD" 格式Set Date Ansi* 不显示已经删除的记录Set Delete On* 决定能否使用LOCK ( )或RLOCK ( ) 锁定多个记录。

Set Multilocks On && 网络编程专用* 确定ATLTER TABLE、CREATE TABLE 和INSERT - SQL 命令如何处理null 值。

Set Null On* 指定当字段是空值(NUll)显示的文本为Set NullDisplay To ''* 改写已有文件之前不显示对话框Set Safety Off* 移去图形状态栏。

Set Status Bar Off* 第三步,设置你的程序路径* 设置程序主目录Public gcMainPathgcMainPath = Sys(5)+Sys(2003)+"/"Set Default To &gcMainPath* 数据目录(本地数据库和表)Public ataPathataPath =gcMainPath+"Data/"* 程序目录Public gcPrgsPathgcPrgsPath =gcMainPath+"Prgs/"* 图片目录Public gcPicsPathgcPicsPath=gcMainPath + "pics/"* 表单目录Public gcFormsPathgcFormsPath = gcMainPath+"forms/"* 菜单目录Public gcMenusPathgcMenusPath = gcMainPath+"menus/"* 标签目录Public gcLabelsPathgcLabelsPath = gcMainPath+"labels/* 报表目录Public gcReportsPathgcReportsPath =gcMainPath+"Reports/"* 第四步初始化键盘Capslock(.F.)IMEStatus(0)Insmode(.T.)Numlock(.T.)* 第五步打开自定义类库、过程文件Set Classlib To gcMainPath+"vcx/MyVCX.vcx" Set Procedure To gcPrgsPath +"Myproc.prg"* 设置不显示ODBC登录对话框SQLSETPROP(0,"DispLogin",3) && 网络专用* 第六步声明其他全局变量* 数据源名称Public SNSN = …‟* 用户登录名Public gcUIDgcUID = …‟* 用户登录口令Public gcPWDgcPWD=…‟* 当前登录用户姓名(中文)PUBLIC gcNamegcName=''* 前后端数据库名Public gcSQLDatabase,gcFoxDatabasegcSQLDatabase = …资料管理‟ && 后端SQL 数据库gcFoxDatabase = …资料管理‟&& 前端VFP数据库* 连接句柄Public gnHandleMaster &&与后端master 系统数据库的连接句柄gnHandleMaster = 0Public gnHandleUser && 与后端用户数据库“gcSQLDatabase ”的连接句柄gnHandleUser = 0* 第七步,检查登录帐号* 调用登录表单"login.scx"Do Form gcFormsPath+"login.scx" To gnHandleUser结果如下图所示* 如果登录成功gnHandleUser > 0 表示登录成功,反之,失败If gnHandleUser <= 0 && 登录失败Quit && 退出Endif* 指定当试图退出VFP时要执行的程序ON SHUTDOWN DO gcPrgsPath +"FileExit.prg" && 代码如下楼所示。

* 第八步,调用程序主菜单Do gcMenusPath+"mainmenu.mpr"* 第九步,显示程序封面,桌面Do Form gcFormsPath+"title.scx" && 封面Do Form gcFormsPath+"Desktop.scx" && 桌面,也就是你的程序背景(图片略)如果要使主程画面显示在屏幕中央,则将画面属性LEFT 调整一下,即将画面左顶角坐标值往屏幕中央调节即可。

* 第十步打开或创建本地数据库cFoxDb=***ataPath+ gcFoxDatabase + ".dbc"If Not Files(cFoxDb) && 如果指定的数据库不存在Create Database &cFoxDb && 创建它Endif* 启动事件处理Read Events* 将释放当前的ON SHUTDOWN 命令ON SHUTDOWN* 程序:FileExit* 作用:解决程序运行后,点击主窗口关闭按钮[X]不能退出VFP的问题If Messagebox('您真要退出本系统吗?',4+32+256,'退出确认')<>6 AND gnHandleUser > 0 ReturnEndif*Do While Txnlevel()>0* Rollback*EnddoClear EventsON SHUTDOWN* 恢复环境Set Sysmenu To DefaultWith _Screen.WindowState=2 &&最大化.BackColor=Rgb(255,255,255).Caption="Microsoft Visual FoxPro".Icon =''Endwith* 关闭数据库及表If Used("cfg")Use In cfgEndifIf Used("dsn")Use In dsnEndifIf Used("uid")Use In uidEndifClose Database All &&关闭所有数据库Close All &&关闭各种类型的文件,但不关闭命令窗口、调试窗口、帮助、跟踪窗口。

Clear Menus &&释放内存中所有的菜单定义。

Clear Popups &&释放内存中所有用DEFINE POPUP命令创建的菜单定义。

Clear Windows &&释放内存中所有用户自定义窗口的定义,并从VFP主窗口或活动的用户自定义窗口中清除窗口。

Clear &&清屏Set Safe On_Screen.Picture=""=SQLDISCONNECT(0)Quit&& 完毕。

相关文档
最新文档