1、第一讲 程序设计初步(1)要点:要点:1、什么是程序?、什么是程序?2、程序由哪些元素组成?、程序由哪些元素组成?第一讲 程序设计初步(1)要点:【例1-1】设计如图1-1所示表单,运行表单后在文本框text1中输入圆的半径,在文本框text2中显示圆的面积。标签文本框命令按钮面向对象程序设计 -表单设计及运行【例1-1】设计如图1-1 所示表单,运行表单后在文标签文本框新建表单与表单设计器新建表单与表单设计器新建表单与表单设计器对象对象属性名属性名属性值属性值对象对象属性名属性名属性值属性值Label1Label1CaptionCaption输入圆的半径输入圆的半径:Text1Text1Va
2、lueValue0 0Label2Label2CaptionCaption 圆的面积圆的面积Text2Text2ValueValue0 0Command1Command1 CaptionCaption 计算计算Form1Form1CaptionCaption计算圆面积计算圆面积对象及其属性对象属性名属性值对象属性名属性值L a b e l 1 C a p t i o n 输对象的事件与程序代码双击对象的事件与程序代码双击表单的保存表单的保存表单程序的运行与中断输入半径单击按钮输出面积表单程序的运行与中断输入半径单击按钮输出面积 表单(Form):面向对象程序的用户主要界面,也有人把它称为窗口。
3、表单(F o r m):面向对象程序的用户主要界面,也有人把它称表单设计方法与步骤(见教科书15页)创建表单摆放控件对象设置对象属性为事件编写程序代码保存并运行运行表单命令命令格式:仔细体会教科书P1【例1-1】表单设计方法与步骤(见教科书1 5 页)运行表单命令D O 程序的基本组成元素程序的基本组成元素对象对象表单表单(form)标签(标签(label)文本框文本框(text)命令按钮命令按钮(command)常量常量变量变量表达式表达式函数函数命令命令代码代码程序的基本组成元素对象表单(f o r m)标签(l a b e l)文本程序中经常使用常量表示数据的值,也会使用变量、数组暂存数
4、据,在VFP中,数据还可以存入到字段、记录和对象中。常量、变量程序中经常使用常量表示数据的值,也会使用变量、数组暂存数据,1.常量 常量是一个在命令或程序中直接引用的实际值,其特征是在所有的操作中其值固定不变。S=3.14*R*R1.常量S=3.1 4*R*R 数值型常量又称为常数,可以是整数、实数。例如 85 -56.2 .55 1.256E+3 3.8E-2常量的数据类型(1)数值型常量常量的数据类型 由汉字和ASCII字符集中可打印字符组成的字符串,使用时必须用定界符、和界定。例如:(2)字符型常量 特别提醒:(1)定界符必须成对出现,不能单边使用。(2)如某定界符本身也是字符串的内容,
5、则需要用另一种定界符为该字符串定界。(3)空串(不包含任何字符的字符串其长度为零)和空格串(包含若干空格的字符串)是不同的。(4)定界符只能是半角字符,不能是全角字符。特别提醒:表示逻辑判断结果:“真”:“假”:(3)逻辑型常量在Visual FoxPro中,货币型常量是数值型常量的一种特例,通过前置符号$标记。例如:$123.4567数值型常量可以用科学计数法表示,货币型常量不可以;货币数据在存储和计算时采用4位小数,多余的小数按四舍五入处理。(4)货币型常量 用于表示日期,以 为定界符。次序不能颠倒和缺省例如:2012-9-13、9-13-2012、12-9-13、2012/9/13今天的
6、日期可以表示为:2012-9-13 (5)日期常量注:严格日期形式 y y y y-m m-影响日期格式的设置命令(教材p22-23)set mark to 日期分隔符set date to格式:影响日期格式的设置命令s e t m a r k t o 日期分隔符【修改例2-2】设计如图所示的表单,分别有3个标签,其caption属性如图所示;3个文本框。表单运行后在文本框中输入今天的日期,敲回车键,在另外两个文本框中显示昨天和明天的日期,如图所示。【修改例2-2】设计如图所示的表单,分别有3 个标签,其c a p文本框text1的设置:右键单击文本框text1,选择“生成器”,弹出的“文本框
7、生成器”对话框,按如图所示设置。文本框t e x t 1 的设置:表单form1的load事件代码如下:set century on&将日期的年份值设置成4位显示set date to ymd&日期的显示为年月日set mark to-&日期分隔符为“-”命令按钮“计算”的“Click”事件代码如下:thisform.text2.value=thisform.text1.value-1 thisform.text3.value=thisform.text1.value+1初始环境设置表单f o r m 1 的l o a d 事件代码如下:初始环境设置用于表示时间日期,其规定格式以表示。需要注意
8、的是日期和时间之间必须有空格。(6)日期时间型常量需要注意的是日期和时间之间必须有空格。2.变量变量是在命令和操作过程中值可以变化的量。变量包括内存变量、字段变量和系统变量。内存变量又可分为简单内存变量和数组变量。2.变量 变量名中可以包含字母、下划线、汉字和数字,例如x,xyz,xyz_123,张三。命名以字母或下划线开头,不能以数字开头。避免使用VFP保留字(命令、函数名)变量命名约定 变量名中可以包含字母、下划线、汉字和数字,例如x,x y z表中的字段名(见教材4.3)简单内存变量数组变量(见教材3.2)变量的类型(1)字段变量变量的类型是内存中的临时单元,可以用来在程序的执行过程中保
9、留中间结果与最后结果。是内存中的临时单元,可以用来在程序的执行过程中保留中间结果与特别注意:除非用(.mem)来保存内存变量值,否则,当退出VFP系统后,内存变量也会与系统一起消失。特别注意:u用户可以根据需要定义内存变量类型。u变量的类型与其值的类型相同。u内存变量可以通过赋值语句来完成定义。简单内存变量的定义简单内存变量的定义用户可以根据需要定义内存变量类型。简单内存变量的定义赋值语句的格式如下:例如:STORE 1 TO A,B例如:A=1 B=1S T O R E T O 可视化程序设计中数据输入可视化程序设计中数据输入用户输入数据的控件为文本框,其用户输入数据的控件为文本框,其Val
10、ue属性值属性值为文本框中输入的值:为文本框中输入的值:R=Thisform.text1.value可视化程序设计中数据输出:数据的输出可以用文本框(VALUE属性)也可以用标签(CAPTION属性):Thisform.text2.value=S 或 Thisform.label1.caption=S 可视化程序设计中数据输入可视化程序设计中数据输出:【例2-1】设计如图所示的表单,分别有3个标签、1个命令按钮和2个文本框(value属性的初值均为0)。在文本框中输入两个数,单击“交换”按钮,交换两个数的位置,如图所示。【例2-1】设计如图所示的表单,分别有3 个标签、1 个命令按钮内存变量的
11、清除格式:Release|ALL LIKE/EXCEPT 清除内存变量并释放相应的内存空间clear memoryclear all内存变量的清除格式:R e l e a s e|A L知识归纳:表单中对象1、对象(Object)教科书P7 对象是反映客观事物属性及行为特征的描述。对象是面向对象编程的基本元素。圆面积程序中的圆面积程序中的4种对象:种对象:表单、文本框、标签、命令按钮表单、文本框、标签、命令按钮知识归纳:表单中对象1、对象(O b j e c t)教科书P 7 圆面积表单(form)“文件文件”菜单菜单“新建新建”命命令令属性:caption(表单的标题)表单(f o r m)
12、“文件”菜单“新建”命令属性:c a p t i文本框(text)教科书教科书P16P16主要属性:主要属性:ValueValue引用:引用:thisform.text1.valuethisform.text1.value R=Thisform.text1.Value Thisform.text2.value=S特别注意:文本框没有特别注意:文本框没有caption属性属性 在VFP中,对象引用不能直接给出对象的name属性值,或对象名称,而需要以不同方式说明引用对象的准确“地址”。见教科书13页。(注意:这里只强调thisform这种相对引用。)作为输入控件时,要让文本框中输入数值类型的数据
13、,文本框的value初值为0,要接受小数设置为0.0,0.00等。作为输出控件时,则不需设置。既可以作为输入控件,也可以作为输出控件。文本框(t e x t)教科书P 1 6 特别注意:文本框没有c a p t i标签(label)教科书教科书P16P16 主要属性:主要属性:CaptionCaption 引用:引用:thisform.label1.captionthisform.label1.caption标签(l a b e l)教科书P 1 6【例1-3】设计如图所示表单,表单运行后,如图所示,单击“欢迎进入”命令按钮后,表单显示如图所示;单击“谢谢使用”命令按钮后,表单显示如图所示。【
14、例1-3】设计如图所示表单,表单运行后,如图所示,单击“欢设置各控件的属性,其中主要属性如表所示。对象对象属性名属性名属性值属性值对象对象属性名属性名属性值属性值Label1Label1CaptionCaption 欢迎使用图欢迎使用图书管理系统书管理系统Command1Command1CaptionCaption欢迎进入欢迎进入该按钮的“Click”事件的程序代码:if mand1.caption=欢迎进入mand1.caption=谢谢使用thisform.label1.caption=谢谢使用本系统!mand1.caption=欢迎进入thisform.label1.caption=欢迎
15、使用图书管理系统!endif 设置各控件的属性,其中主要属性如表所示。对象属性名属性值对象命令按钮(command)教科书教科书P17P17 主要属性:主要属性:CaptionCaption(命令按(命令按钮上显示的文本)钮上显示的文本)主要事件:主要事件:ClickClick输入半径单击按钮输出面积命令按钮(c o m m a n d)教科书P 1 7 输入半径单击按钮输出面2、属性(Attribute)教科书P8 属性是描述对象特征的参数。属性窗口的操作属性窗口的操作设置属性的对象属性名输入或选择属性值属性窗口的操作设置属性的对象属性名输入或选择属性值属性名称属性名称意义意义解释解释标题标
16、题(Caption)(Caption)对象的标题。字符数据。对象的标题。字符数据。第一个表单的默认标题:第一个表单的默认标题:form1form1值值(Value)(Value)指定对象当前的状态值。若指定对象当前的状态值。若指定了控制源,则指定了控制源,则ValueValue的的值与控制源的值相同。值与控制源的值相同。ValueValue值的类型随不同的对象而定。值的类型随不同的对象而定。字号字号(FontSizeFontSize)指定对象显示内容的字号,指定对象显示内容的字号,字的尺寸。字的尺寸。数值型,例如:数值型,例如:1212或或4848等。等。前景色前景色(ForeColorFor
17、eColor)指定对象编辑区域的字符颜指定对象编辑区域的字符颜色。色。可以打开可以打开“颜色颜色”对话框选定色彩对话框选定色彩值。值。背景色背景色(BackColorBackColor)指定对象编辑区域的背景颜指定对象编辑区域的背景颜色色教科书P89 表1-3属性名称意义解释标题(C a p t i o n)对象的标题。字符数据。3、事件(Event)教科书P9 1)事件是作用于对象的某些行为和动作。事件(Event)是预先定义好的特定的动作,不能修改、增加和删除,由用户或系统激活。对象不同,事件也不完全相同。3、事件(E v e n t)教科书P 9事件事件事件发生的运行状态事件发生的运行状
18、态Load创建对象之前。创建对象之前。在在【例例2-2】中的使用中的使用ClickClick鼠标左键单击对象。鼠标左键单击对象。目前学生只用这个事件,熟练掌握事件事件发生的运行状态L o a d 创建对象之前。在【例2-2】因此,要特别关心的是对于该对象,会发生什么事件,何时发生,如果发生了某个事件,希望要做些什么事情,然后编出合适的程序放入该对象的该事件中。通常用户只需要对几个关键的事件编程。但是无论是否对事件编程,发生某个操作时,相应的事件都会被激活。如果用户为该事件编写了代码,就执行该事件的代码;如果没有相应的代码就不做什么事件。输入半径单击按钮输出面积 因此,要特别关心的是对于该对象,会发生什么事件,何