VFP编程入门到精通教程pdf

VFP编程入门到精通教程pdf

vfp源码admin2020-06-30 12:45:385A+A-

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  第三课 对象、属性、事件、方法 对象(object):就是我们软件中所看到表单、文本框、按钮、标签等等东西,一个软件的外观主要也就是由这些东 西组成,那么我们要编软件就应该掌握各种对象的使用方法。 可放在表单内的对象,如按钮、文本框等也常常被叫作控件,我们在后面的课程中也经常会用到这个词。 所谓面向对象的编程,就是我们在编程的过程中是看着这些东西来编程,而不是用一大堆的语言代码来编出这些东西,因此 面向对象的编程非常直观,在编的过程中就能看见程序运行起来的样子。 另外由于不需用语言来构造这些对象,只是象画图一样将它们画出来,其大小及位置也不须用精确的数字来表示,你喜欢画 多大就画多大,您无须知道诸如长是 100、宽是 80 (当然您想知道的话也可以在属性窗口中查到),这样使得编程变得非常 简单。 属性(property):就是对象的性质,如长、宽、放的位置、颜色、标题、字体大小等等。为了达到我们所编软件的 目的,也为了使软件运行的时候各种界面看起来舒服,我们必须在设计软件时对每个对象的有关属性做适当的设置。所谓 有关,就是对于一个对象来说,在一个软件中只有部分与这个软件有关的属性需要设置,而大部分可能不需要设置,只需 使用它们隐含的设置就行了,而同一种对象在另一个地方,可能需要设置的属性又不同了。 对于属性的设置,有些只需用鼠标做适当的拖动即可,如长、宽、放的位置等,当然它们也可以在属性窗口中设置,另一些 则必须在属性窗口中进行设置,如字体、颜色、标题等。 事件(event):就是可能会发生在对象上的事情,也可以说我们对对象所做的操作(或者系统对某个对象的操作), 如按钮被按动 (单击)、对象被拖动、被改变大小、被鼠标左键双击等等。在一个软件中,总会有一些对象在运行时会被我 们操作,当然我们不是平白无故去操作一个对象,总是希望这个对象在被我们操作后能做出我们所期望的反应,如退出 按钮在被按动后,我们就希望它使软件结束运行。 而这一反映即使是同一种对象在不同的软件中,或在同一个软件中的不同地方,我们所需要的反映都是不同的,比如同样是 按钮,“开始”和“退出”在按下后所产生的效果不同。 为了使得对象在某一事件发生时能够做出所需要的反应,我们就必须针对这一事件编出相应的程序代码来完成我们的目标。 如一个对象的某个事件被编入了相应的代码,那么软件运行时,当这一事件发生 (如按钮被按动),相应的程序段就被激活, 并开始执行,如这一事件不发生,则这段程序就不会运行。 而没有编有代码的事件,即使发生也不会有任何反应。 方法(method):也叫“方法程序”。前面三个概念在上一课已接触过了,“方法”则是个 新概念,它是指对象所固有完成某种任务的功能,可由我们在需要的时候调用。 “方法”与“事件”有相似之处,都是为了完成某个任务,但同一个事件可完成不同任务,取决于您所编的代码是怎样的, 而方法则是固定的,任何时候调用都是完成同一个任务,所以其中的代码也不需要我们编了,FOXPRO 系统已为我们编好 (我 们也看不见),只需在必要的时候调用即可。 比如:文本框可以用以显示文字,也可以输入文字,假如一个表单上有三个文本框,那么我们打字的时候,字进入哪个框呢? 这就要看当前的焦点在哪个框上,一般我们可以用鼠标点一下所要的框,即将焦点放到了这个框上,有时我们会让软件自动 1 地将焦点放在某个框上,这时就要调用“设置焦点”方法(setfocus),例如我们要把焦点放到第二个文本框上,调用的方法 如下: text2.setfocus 至于它是怎么将焦点放上去的,也就是说具体放的程序是怎么编的,我们不用知道,只要能达到的目的就行。 当然不但是文本框,其它的对象也都有此方法(有些方法只有某些对象才有),调用的一般语法是: 对象名称.setfocus 举一个实例来说明:当我们的幸运 7 游戏软件启动后,我们会看到在第一个文本框 text1 中有一个光标在闪动,也就是此时 焦点在 text1 上,但我们并不需要在其中输入文字,因此有个光标在闪动看起来很不舒服,此时需要的是按“开始”按钮, 所以焦点应在“开始”按钮上 (这样按回车键也可以按下“开始”按钮),因此我们应该在整个表单启动的时候将焦点设到 此按钮上。 当我们启动一个表单的时候,该表单的“激活”事件(activate)就会发生,但由于一般情况下这一事件中没有编入代码,所 以即使发生我们也感觉不出来。那么现在我们就要借用这个事件再去调用 setfocus 方法,便可达到我们目的。具体做法是 这样: 打开 xy7 项目管理器,找到 xy7 表单,按“编辑”进入表单设计器,调出属性窗口,看一下窗口上面的对象选择窗中是否是 “form1”,如图1,如不是则选择到“form1”。 选择“方法程序”(“全部”也行),在第一行找到“activate event”事件,如图 2, 双击此事件进入程序编辑窗口,输入下面代码: mand1.setfocus 意思是“本表单and1 对象.设置焦点”,command1 即是“开始”按钮的名称。 输入完程序后,存盘、退出。这样一旦软件开始运行,表单被启动-该表单的“激活”事件发生-其中的程序开始执行-将 焦点设到 command1 即开始按钮,焦点设在上面后会看到有一个虚线框住按钮标题,这时 text1 中就没有光标在闪动了。 还不赶快试一下! VFP 初级教程——第四课 常用的对象、属性、事件、方法 —方法(methord) 设置焦点方法(setfocus) 2 将焦点放到控件上。 语法: 控件.setfocus 备注: 一旦一个控件获得了焦点,操作所做的输入都是针对此控件。 常用到的对象 按钮(commandbutton) 文本框(text) 表格(grid) 刷新方法(refresh) 重新显示对象,并把它们的各个值设为最新。 语法: 表单.对象.Refresh 备注: 一般说来,系统会自动在需要的时候为对象刷新,但并不总是有效,有时我们会看到在程序执行过程中改变了一个对象的某 个值,但这个对象却没有任何反应,这时我们就调用一下刷新方法程序,来将这个对象刷新一下。 常用到的对象 表单(form) 按钮(commandbutton) 文本框(text) 表格(grid) 释放方法(release) 释放一个表单,也就是关闭一个表闭。 语法: 表单.Release 常用到的对象 表单(form) VFP 初级教程——第四课 常用的对象、属性、事件、方法 —事件(event) 单击事件(click) 3 当一个对象被鼠标左键点击时发生此事件。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) 初始化事件(init) 当一个对象被创建时此事件发生。 举例: 在幸运 7 程序中,我们也可以不属性窗口中把“输”、“赢”两标签的可见属性设为假,而在这两个标签的 init 事件中加 上如下语句: this.visible=.f. 这样当两标签形成时,它们的 init 事件被激活,执行上面语句,同样可达到使两标签看不见的效果。 备注: 容器中对象的 init 事件比容器的 init 事件早发生,这一点在程序编制过程中也是很有用的,籍此我们可以在容器的 init 事件对容器中的对象进行访问,比如还是上面那个例子,可以不在每个标签的 init 事件中写入程序,而只在表单的 init 事件中写入如下语句即可:el1.visible=.f. thisform.label2.visible=.f. 这样可以达到同样效果。 而容器中各对象的 init 事件发生的先后顺序,取决于编程时它们被添加到表单中的先后顺序。 常用到的对象 几乎所有对象都有此事件。 VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property) 标题属性(caption) 指定对象标题所显示的文本,主要用于指示该对象的用途。 在程序设计和运行时都可更改。 语法: 对象.Caption cText 4 设置 其中的cText即为对象标题设置的文本。 备注: 标题属性对于不同的对象其显示是不同的: 表单:标题显示在表单的标题栏中,如图 1。当表单缩到最小,标题文本显示在该表单图标的旁边,如图 2。 其它控件:有的标题显示在控件上面,有的显示在其旁边。 当您创建一个新的表单或控件,它的隐含标题与它的隐含名称属性是一样,但实际上是两回事,当您要指定一个对象时您必 须用它的名称,而不能用它的标题。比如您要在一个表单上创建一个退出按钮,如果它是在表单上创建的第二个按钮,那么 它的隐含标题很可能是 command2,名称也是同样的,当然您很可能马上会将其标题改为“退出”,但其名称仍是 command2, 如您要在程序中调用这个按钮,必须用它的名称来指定调用的是那个对象,例如:要用程序把焦点放在这按钮上,程序应这 样写: command2.setfocus 而不能写成: 退出.setfocus 表单(form) 按钮(commandbutton) 标签(label) [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 左起始位属性(left) 设定对象的左边起始位置。 也就是该对象的左边界与容纳该对象的容器的左边界的距离,比如一个表单中的按钮,表单就是按钮的容器,按钮左边界与 表单左边界的距离就是按钮的左起始位置。 在程序设计和运行时都可更改。 一个表单的隐含容器为 VFP 主窗口。 语法: 对象.Left nDist 其中的nDist为代表左边界的数值,使用时用一具体数值代入。 备注: 一般不需要在程序中用以上语句来设置对象的左边界,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其左边界 就设好了。当我们用鼠标改变其位置时,其左边界也会相应变化。 当然如果我们要在程序运行的过程中,改变某对象的左边界,以达到改变对象位置的目的,就可用到上面的语句了。 5 例如: 我们要在程序中把按钮 command1 的左边界设为 10,实现的语句为: command1.left=10 此语句一旦运行,command1 按钮就会移动到其左边界为 10 的地方。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) 上起始位属性(top) 设定对象的上边起始位置。 也就是该对象的上边界与容纳该对象的容器的上边界的距离,比如一个表单中的按钮,表单就是按钮的容器,按钮左边界与 表单上边界的距离就是按钮的上起始位置。 在程序设计和运行时都可更改。 一个表单的隐含容器为 VFP 主窗口。 语法: 对象nValue 其中的nValue为代表左边界的数值,使用时用一具体数值代入。 备注: 一般不需要在程序中用以上语句来设置对象的上边界,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其上边界 就设好了。当我们用鼠标改变其位置时,其上边界也会相应变化。 当然如果我们要在程序运行的过程中,想改变某对象的上边界,以达到改变对象位置的目的,就可用到上面的语句了。 例如: 我们要在程序中把按钮 command1 的上边界设为 10,实现的语句为: command1.top=10 此语句一旦运行,command1 按钮就会移动到其上边界为 10 的地方。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 宽度属性(width) 6 设定对象的宽度。 在程序设计和运行时都可更改。 语法: 对象.Width nWidth nWidth为指定宽度的数值。 备注: 一般不需要在程序中用以上语句来设置对象的宽度,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其宽度就设 好了。当我们用鼠标改变其大小时,其宽度也会相应变化。 当然如果我们要在程序运行的过程中,想改变某对象的宽度,以达到改变对象大小的目的,就可用到上面的语句了。 例如: 我们要在程序中把按钮 command1 的宽度设为 10,实现的语句为: command1.width=10 此语句一旦运行,command1 按钮的宽度就会为 10 了。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 高度属性(height) 设定对象的高度。 在程序设计和运行时都可更改。 语法: 对象.Height nHeight nHeight为指定宽度的数值。 备注: 一般不需要在程序中用以上语句来设置对象的高度,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其高度就设 好了。当我们用鼠标改变其大小时,其高度也会相应变化。 当然如果我们要在程序运行的过程中,想改变某对象的高度,以达到改变对象大小的目的,就可用到上面的语句了。 例如: 7 我们要在程序中把按钮 command1 的高度设为 10,实现的语句为: command1.height=10 此语句一旦运行,command1 按钮的高度就会为 10 了。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格 (grid) [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 控制源属性(controlsource) 指定与对象邦定的数据源。 一般是指一个变量或数据库字段,比如对于一个文本框来说,指定一个变量为其控制源,那么在文本框中输入的数据就会存 贮到这个变量中。 在程序设计和运行时都可更改。 语法: 对象trolSource cName 设置: cName 即为控制变量名,可以是一个变量,也可以是一个数据库字段。 备注: 一旦某对象控制源属性设置到了一字段或变量,该对象的“值”属性与控制源相同。 一般情况下,我们不需要用上面的语句为对象设置控制源,而只需在面向对象编程时,当设好一对象后,在属性窗口中找到 contorlsource 属性,输入相应的变量或字段名即可。 例如: 在程序中要将文本框 text1 中所输入的数据放在变量 sj 中,则将 text1 的控制源设为 sj,实现的语句为: text1.controlsource=sj 常用到的对象 文本框(text) VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property) 8 值属性(value) 指定控件当前的状态。 比如一个文本框当前的内容是什么。 在程序设计和运行时都可更改。 语法: 控件.Value nSetting 设置: nSetting对于文本框来说即是在文本框中输入的字符串或数值、日期、逻辑值等等。隐含的数据类型为字符型。 备注: 对于表格控件,其值只有在表格获得焦点的时候才可更改。 当控件的控制源做了设置,那么它的值与控制源的值相同。 一般在我们的程序中都是用控制源来控制控件的值。 常用到的对象 文本框(text) [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 文本对齐属性(alignment) 指定控件文本的对齐方式。即左、中、右。 在程序设计和运行时都可更改。 语法: 控件.Alignment nAlign 设置: nAlign对于文本框来说,可作的设置如下: Setting Description 0 左 1 右 2 中 3 自动(隐含),即文本靠左,数值靠右。 常用到的对象 文本框(text) 9 [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 名称属性(name) 指定对象被调用的名称。 在程序设计和运行时都可更改。 语法: 对象cName 设置: cName即为给对象指定的名称文本。 备注: 对象隐含的名称一般是对象的类型再加一个整数,比如:创建的第一个表单就叫 form1,在一个表单中创建的第三个文本框 就被叫做 text3。当然您可以修改为任何您所喜欢的名称,但为了简便起见我们一般都不改。 名称和标题不同,虽然隐含时它们是一样的,当您要调用一个对象时必须用它的名称,而不能用它的标题(caption),参见 标题属性。所以当您改了一个对象的标题时,并不表示它的名称也改了,它的名称还是原来的,您可以在属性窗口的 name 属性中看到。 如果一个对象是容器型对象 (其中包含有别的对象),而它又是最外一层的容器 (因为容器中还可有容器),那么在程序中 第一次调用它时,应将它附给一个变量,以后调用它时,用这个变量名,而不用它自己的名称。比如一般我们在程序中第一 次调用一个表单往往是用类似如下的语句: do form xy7 name lucky 这里的 lucky 就是 xy7 表单所附于的变量名,您可以用任何变量名,只要不与程序中的其它变量重名,当然也可以用与表单 名一样的变量名 (我们常常是这样),以后在调用这个表单时就用这个变量名,如把焦点设到这个表单中的 command1 按钮, 程序为: mand1.setfocus 而不是:mand1.setfocus 当在一个对象内部的事件程序中调用本对象时,可用“this”代替对象名称,比如在幸运7 表单中,在按过开始按钮后,我 们想把这个按钮的标题设为“再开始”,那么可在这个按钮的 click 事件中加上如下语句: this.caption=再开始 它等同于 command1.caption=再开始,但当这个按钮的名称改为“command3”时,这一句就不对了,必须做修改才能正确 运行,但上一句不用改,仍然可以用。 如果这个对象是表单,那么调用它自己时不能用“this”,而用“thisform”代替名称或名称变量。 常用到的对象 10 所有对象都要用。 [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 只读属性(readonly) 确定使用者是否可以编辑控件。 在程序设计和运行时都可更改。 语法: 表单.控件.ReadOnly lExpr 设置: lExpr 可设置的值有: .t. 真,即控件不可编辑 .f. 假,即控件可编辑 备注: 如果要让一个件一开始就是指读(不可编辑)的,可在程序设计时将其设为指读,在属性窗口中找到 readonly 属性,将其 设 T (真)即可。 如要在程序运行时,使一个控件变为指读,就可采用上面的语句,比如将 xy7 表单中的 text1 文本框设为指读,程序为: xy7.text1.readonly=.t. 注意,这里的 xy7 是启动表单时为该表单所指定的变量名。 举例: 以我们在第二课中的幸运7 程序为例,在程序启动后,可以在上面三个文本框中输入字符,但这是我们所不需要的,为了避 免这个问题可以在设计程序时,将三个文本框设成指读,这样就不能输入字符了。不信您试试。 常用到的对象 文本框(text) 表格(grid) [dvnews_page=VFP 初级教程——第四课 常用的对象、属性、事件、方法 —属性(property)] 可见属性(visible) 设定一个控件是否可以看见。 在程序设计和运行时都可更改。 语法: 11 对象.Visible lExpr 设置: lExpr 可设置的值有: .t. 真,即可见 .f. 假,即不可见 备注: 就如同我们在幸运 7 程序中对“输”、“赢”两字的处理。 常用到的对象 几乎所有对象都用。 VFP 初级教程——第四课 常用的对象、属性、事件、方法 —表单对象(form) 本课介绍一些常用的对象及其属性、事件、方法,掌握了这些知识以后,便可编一些简单实用的软件了。 对象 (object): 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) 表单对象(form) 用于放置其它对象(其它的对象也常常叫做“控件”)的界面,或叫窗口。 常用属性: 标题(caption) 左起始位(left) 上起始位(top) 宽度(width) 高度(hight) 控制源(controlsource) 名称(name) 可见(visible) 常用事件: 单击(click) 初始化(init) 常用方法: 刷新(refresh) 释放(release) 标题属性(caption) 指定对象标题所显示的文本,主要用于指示该对象的用途。 12 在程序设计和运行时都可更改。 语法: 对象.Caption cText 设置 其中的cText即为对象标题设置的文本。 备注: 标题属性对于不同的对象其显示是不同的: 表单:标题显示在表单的标题栏中,如图 1。 当表单缩到最小,标题文本显示在该表单图标的旁边,如图 2。 其它控件:有的标题显示在控件上面,有的显示在其旁边。 当您创建一个新的表单或控件,它的隐含标题与它的隐含名称属性是一样,但实际上是两回事,当您要指定一个对象时您必 须用它的名称,而不能用它的标题。比如您要在一个表单上创建一个退出按钮,如果它是在表单上创建的第二个按钮,那么 它的隐含标题很可能是 command2,名称也是同样的,当然您很可能马上会将其标题改为“退出”,但其名称仍是 command2, 如您要在程序中调用这个按钮,必须用它的名称来指定调用的是那个对象,例如:要用程序把焦点放在这按钮上,程序应这 样写: command2.setfocus 而不能写成: 13 退出.setfocus 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 左起始位属性(left) 设定对象的左边起始位置。 也就是该对象的左边界与容纳该对象的容器的左边界的距离,比如一个表单中的按钮,表单就是按钮的容器,按钮左边界与 表单左边界的距离就是按钮的左起始位置。 在程序设计和运行时都可更改。 一个表单的隐含容器为 VFP 主窗口。 语法: 对象.Left nDist 其中的 nDist 为代表左边界的数值,使用时用一具体数值代入。 备注: 一般不需要在程序中用以上语句来设置对象的左边界,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其左边界 就设好了。当我们用鼠标改变其位置时,其左边界也会相应变化。 当然如果我们要在程序运行的过程中,改变某对象的左边界,以达到改变对象位置的目的,就可用到上面的语句了。 例如: 我们要在程序中把按钮 command1 的左边界设为 10,实现的语句为: command1.left=10 此语句一旦运行,command1 按钮就会移动到其左边界为 10 的地方。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 上起始位属性(top) 设定对象的上边起始位置。 也就是该对象的上边界与容纳该对象的容器的上边界的距离,比如一个表单中的按钮,表单就是按钮的容器,按钮左边界与 表单上边界的距离就是按钮的上起始位置。 14 在程序设计和运行时都可更改。 一个表单的隐含容器为 VFP 主窗口。 语法: 对象.Top nValue 其中的 nValue 为代表左边界的数值,使用时用一具体数值代入。 备注: 一般不需要在程序中用以上语句来设置对象的上边界,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其上边界 就设好了。当我们用鼠标改变其位置时,其上边界也会相应变化。 当然如果我们要在程序运行的过程中,想改变某对象的上边界,以达到改变对象位置的目的,就可用到上面的语句了。 例如: 我们要在程序中把按钮 command1 的上边界设为 10,实现的语句为: command1.top=10 此语句一旦运行,command1 按钮就会移动到其上边界为 10 的地方。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 宽度属性(width) 设定对象的宽度。 在程序设计和运行时都可更改。 语法: 对象.Width nWidth nWidth 为指定宽度的数值。 备注: 一般不需要在程序中用以上语句来设置对象的宽度,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其宽度就设 好了。当我们用鼠标改变其大小时,其宽度也会相应变化。 当然如果我们要在程序运行的过程中,想改变某对象的宽度,以达到改变对象大小的目的,就可用到上面的语句了。 例如: 我们要在程序中把按钮 command1 的宽度设为 10,实现的语句为: 15 command1.width=10 此语句一旦运行,command1 按钮的宽度就会为 10 了。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 高度属性(height) 设定对象的高度。 在程序设计和运行时都可更改。 语法: 对象.Height nHeight nHeight 为指定宽度的数值。 备注: 一般不需要在程序中用以上语句来设置对象的高度,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其高度就设 好了。当我们用鼠标改变其大小时,其高度也会相应变化。 当然如果我们要在程序运行的过程中,想改变某对象的高度,以达到改变对象大小的目的,就可用到上面的语句了。 例如: 我们要在程序中把按钮 command1 的高度设为 10,实现的语句为: command1.height=10 此语句一旦运行,command1 按钮的高度就会为 10 了。 常用到的对象 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 控制源属性(controlsource) 指定与对象邦定的数据源。 一般是指一个变量或数据库字段,比如对于一个文本框来说,指定一个变量为其控制源,那么在文本框中输入的数据就会存 贮到这个变量中。 在程序设计和运行时都可更改。 语法: 16 对象.ControlSource cName 设置: cName 即为控制变量名,可以是一个变量,也可以是一个数据库字段。 备注: 一旦某对象控制源属性设置到了一字段或变量,该对象的“值”属性与控制源相同。 一般情况下,我们不需要用上面的语句为对象设置控制源,而只需在面向对象编程时,当设好一对象后,在属性窗口中找到 contorlsource 属性,输入相应的变量或字段名即可。 例如: 在程序中要将文本框 text1 中所输入的数据放在变量 sj 中,则将 text1 的控制源设为 sj,实现的语句为: text1.controlsource=sj 常用到的对象 文本框(text) [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 名称属性(name) 指定对象被调用的名称。 在程序设计和运行时都可更改。 语法: 对象.Name=cName 设置: cName 即为给对象指定的名称文本。 备注: 对象隐含的名称一般是对象的类型再加一个整数,比如:创建的第一个表单就叫 form1,在一个表单中创建的第三个文本框 就被叫做 text3。当然您可以修改为任何您所喜欢的名称,但为了简便起见我们一般都不改。 名称和标题不同,虽然隐含时它们是一样的,当您要调用一个对象时必须用它的名称,而不能用它的标题(caption),参见标 题属性。所以当您改了一个对象的标题时,并不表示它的名称也改了,它的名称还是原来的,您可以在属性窗口的name属性 中看到。 如果一个对象是容器型对象 (其中包含有别的对象),而它又是最外一层的容器 (因为容器中还可有容器),那么在程序中 第一次调用它时,应将它附给一个变量,以后调用它时,用这个变量名,而不用它自己的名称。比如一般我们在程序中第一 次调用一个表单往往是用类似如下的语句: 17 do form xy7 name lucky 这里的 lucky 就是 xy7 表单所附于的变量名,您可以用任何变量名,只要不与程序中的其它变量重名,当然也可以用与表单 名一样的变量名 (我们常常是这样),以后在调用这个表单时就用这个变量名,如把焦点设到这个表单中的 command1 按钮, 程序为: mand1.setfocus 而不是:mand1.setfocus 当在一个对象内部的事件程序中调用本对象时,可用“this”代替对象名称,比如在幸运7 表单中,在按过开始按钮后,我 们想把这个按钮的标题设为“再开始”,那么可在这个按钮的 click 事件中加上如下语句: this.caption=再开始 它等同于 command1.caption=再开始,但当这个按钮的名称改为“command3”时,这一句就不对了,必须做修改才能正确 运行,但上一句不用改,仍然可以用。 如果这个对象是表单,那么调用它自己时不能用“this”,而用“thisform”代替名称或名称变量。 常用到的对象 所有对象都要用。 [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 可见属性(visible) 设定一个控件是否可以看见。 在程序设计和运行时都可更改。 语法: 对象.Visible lExpr 设置: lExpr 可设置的值有: .t. 真,即可见 .f. 假,即不可见 备注: 就如同我们在幸运 7 程序中对“输”、“赢”两字的处理。 常用到的对象 18 几乎所有对象都用。 [dvnews_page=第四课 常用的对象、属性、事件、方法(1)] 常用事件: 单击事件(click) 初始化(init) 当一个对象被鼠标左键点击时发生此事件。 表单(form) 按钮(commandbutton) 标签(label) 文本框(text) 表格(grid) 初始化(init) 常用方法: 刷新(refresh) 刷新方法(refresh) 重新显示对象,并把它们的各个值设为最新。 语法: 表单.对象.Refresh 备注: 一般说来,系统会自动在需要的时候为对象刷新,但并不总是有效,有时我们会看到在程序执行过程中改变了一个对象的某 个值,但这个对象却没有任何反应,这时我们就调用一下刷新方法程序,来将这个对象刷新一下。 常用到的对象 表单(form) 按钮(commandbutton) 文本框(text) 表格(grid) 释放方法(release) 释放一个表单,也就是关闭一个表闭。 语法: 表单.Release 常用到的对象 表单(form) VFP 初级教程——第五课 常用编程命令及常用函数(1) 注:在语法中如用方括号“[ ]”括起来的词句,表示可以不用。 函数 19 数值转换字符函数(str()) 返回与指定数值表达式对应的字符。 语法: str(数值表达式 [,长度 [,小数位数]]) 返回值的类型 字符型 参数: 数值表达式:要被转换为字符的数值表达式。 长度:转换后字符的长度。该长度等于小数点和小数点右边第个数字所占字符的数目总和。 如果指定长度大于所需长度,自动在前面加空格补齐。 如果指定长度小于所需长度,返回一串星(*)号,表示数值溢出。 如省略长度,则默认长度为 10。 小数位数:指定返回字符串中的小数位数。 如指定位数小于实际位数,则返回值四舍五入。 如指定位数大于实际位数,则加 0 补齐。 如省略小数位数,默认为 0。 在指定了小数位数的情况下,如指定长度 (第二个参数)小于总长度,但大于整数长度,则返回对小数部分做了四舍五入的 字符。 备注: 返回后的值看起来还是数的形式,但它的数据类型已经变了,不再是一个数值,也就是不能再用来做加、减、乘、除的算术 运算,但可以和字符进行加减。比如: ? 季度+1 就会出错,因为一个字符是不能和一个数值相加的。写成如下形式就可以了: ? 季度+str(1,1) 结果是: 季度 1 注意,这里一定要指定长度,否则由于默认长度是 10,就会出现如下结果: 季度 1 20 假如不知道数值有几位数怎么办呢?请参见 ltrim()函数。 字符转换数值函数(val()) 将数字组成的字符表达式转换成数字值。 语法: val(字符表达式) 返回值的类型 数值型 参数: 字符表达式:要被转换为数值的字符表达式。该表达式由最多 16位的数字组成,若超过 16位,则对其圆整。 备注: val()函数从左到右返回字符表达式中的数字,直到遇到非数值型字符(忽略前面的空格)时为止。 若字符表达式的第一个字符不是数字,也不是正、负号,则返回 0。 举例: a=123 如果按下面的写法,就会出错,因为一个字符不能与一个数值相加: ? a+3 写成如下形式便可以了: ? val(a)+3 结果是 126。 取系统日期函数(date()) 返回由操作系统控制的当前系统日期。 语法: date() 返回值的类型 日期型 [dvnews_page=VFP 初级教程——第五课 常用编程命令及常用函数(1)] 取年份函数(year()) 21 从指定的日期表达式中返回年份。 语法: year(日期表达式) 返回值的类型 数值型 参数: 日期表达式:指定的日期表达式,该函数即是返回其年份值。 举例: ? year(date()) 如果当前的系统日期是 1999 年 2 月 5 日,则显示的结果为1999。 取月份函数(month()) 从指定的日期表达式中返回月份。 语法: month(日期表达式) 返回值的类型 数值型 参数: 日期表达式:指定的日期表达式,该函数即是返回其月份值。 举例: ? month(date()) 如果当前的系统日期是 1999 年 2 月 5 日,则显示的结果为2。 取天日函数(day()) 以数值型返回日期表达式是当月的第几天。 语法: day(日期表达式) 返回值的类型 数值型 22 参数: 日期表达式:指定的日期表达式,该函数返回该日期是当月的第几天。 举例: ? day(date()) 如果当前的系统日期是 1999 年 2 月 5 日,则显示的结果为5。 [dvnews_page=VFP 初级教程——第五课 常用编程命令及常用函数(1)] 取整函数(int()) 返回数值表达式值的整数部分。 语法: int(数值表达式) 返回值的类型 数值型 参数: 数值表达式:指定的数值表达式,该函数返回其整数部分。 举例: ? int(123.47) 结果是 123。 四舍五入函数(round()) 对指定表达式进行四舍五入运算,并把结果返回。 语法: round(数值表达式,小数位数) 返回值的类型 数值型 参数: 数值表达式:指定的数值表达式,该函数返回其四舍五入后的值。 小数位数:保留的小数位数。 举例: 23 ? int(123.457,2) 结果是 123.46。 删除标记函数(delete()) 确定当前记录是否已做删除标记,若已做删除标记,返回真(.t.),否则返回假(.f.)。 语法: delete([表别名 工作区]) 返回值的类型: 逻辑型 参数: 表别名 工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区去检测另一工作区的表的记录是否 做了删除标记,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别 名或工作区只选一个。 [dvnews_page=VFP 初级教程——第五课 常用编程命令及常用函数(1)] 记录号函数(recno()) 返回当前表或指定表中的当前记录号。 语法: recno([表别名 工作区]) 返回值的类型: 数值型 参数: 表别名 工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区去得到另一工作区的表的当前记录 号,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工作区 只选一个。 记录数函数(reccount()) 返回当前表或指定表中的记录数目。 语法: reccount([表别名 工作区]) 返回值的类型: 数值型 24 参数: 表别名 工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区去得到另一工作区的表的记录数, 而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工作区只选 一个。 找到记录函数(found()) 如果 locate、continue、seek 等查找记录的命令成功 (即找到了记录),该函数返回“真”(.t.),否则返回“假”(.f.)。 语法: found([表别名 工作区]) 返回值的类型: 逻辑型 参数: 表别名 工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区知道另一个工作区上次查找记录是 否找到,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工 作区只选一个。 举例: locate for 姓名=庄稼 ?found() 如找到记录,显示结果为.t.,否则为.f

  ·国家开发大学电大《经济应用文写作》课程重点考试复习资料整理精编.doc

  ·国家开发大学电大《经济应用文写作》课程重点考试复习知识点整理精编.doc

  ·国家开发大学电大《人际沟通与社交礼仪》期末复习1-6章精选重点试题.doc

  ·国家开发大学电大《纳税基础与实务》课程各次平时作业试题及参考答案汇总.doc

  ·宁夏育才中学学益校区2019-2020学年高一数学上学期第二次月考试题【含答案】.pdf

  ·青海省西宁市第十四中学2019-2020学年高二历史上学期期末考试试题【含答案】.pdf

  ·八年级生物上册5.15.1动物运动的方式课件(新版)北师大版.ppt

  ·全国I卷2020届高三数学12月教育教学质量监测考试试题文【含答案】.pdf

  ·宁夏育才中学孔德学区2019-2020学年高二地理上学期第二次月考试题【含答案】.pdf

  ·宁夏育才中学孔德学区2019-2020学年高二生物上学期第二次月考试题【含答案】.pdf

  ·国家开发大学电大《开放教育学习指南》课程形考作业试题及答案参考.doc

  ·国家开发大学电大《领导学基础》课程考试重点复习资料及打印版整理精编.doc

  请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。用户名:验证码:匿名?发表评论

点击这里复制本文地址 免责声明:本站内容由程序自动采集于互联网,无人工干预,只作交流和学习使用,本站不储存任何资源内容,如有侵权请联系qq邮箱798244092@qq.com立刻删除,谢谢!

支持Ctrl+Enter提交

基带源码 © All Rights Reserved.  
联系我们| 关于我们| 留言建议| 网站管理
免责声明:本站内容由程序自动采集于互联网,无人工干预,只作交流和学习使用,本站不储存任何资源内容,如有侵权请联系qq邮箱798244092@qq.com立刻删除,谢谢!