VFP问题 用户可以给表单添加自定义属性和方法程序???
发布网友
发布时间:2022-04-23 08:45
我来回答
共3个回答
热心网友
时间:2022-06-18 13:11
在运行时刻向一个对象添加一个新属性。
ADDPROPERTY( ) 用于向有效的 Visual FoxPro 对象添加新属性和值,对象包括由 Visual FoxPro 类生成的类,COM 类,以及 SCATTER...NAME 命令生成的类。
ADDPROPERTY(oObjectName, cPropertyName, [, eNewValue ])
参数
oObjectName
指定要加属性的对象的名称。如果 oObjectName 不是一个有效的对象,Visual FoxPro 将产生适当的提示信息。
cPropertyName
指定要添加到对象中的新属性的名称。如果指定的属性名不存,该属性将被创建并添加。
eNewValue
指定新属性的设置值。当省略 eNewValue时,如果该属性已经存在,Visual FoxPro保持该属性值不变;如果该属性是新添加的,Visual FoxPro 将该属性值设为“假”(.F.)。
返回值
逻辑型数据类型。下表中列出了ADDPROPERTY( )的返回值,及添加一个已经存在的属性到对象时的表现。
返回值 说明
真 (.T.)
当 ADDPROPERTY( ) 成功添加属性时。
当新属性是一个数组属性,并且该数组已经存在,ADDPROPERTY( ) 根据cPropertyName中指定的情况重新调整数组的大小。如果用eNewValue指定了属性值,数组中所有元素都将设为该值。如果省略 eNewValue,所有的数组元素都将被设为假(.F.)。
如果新属性不是一个数组属性,但已经存在的属性是一个数组属性,该属性将保持同样大小的数组属性。如果用 eNewValue指定了新值,数组中全部元素将被设为该值。如果省略eNewValue,所有数组元素将被设为假(.F.)。
如果新属性不是一个数组属性,并且已存在的属性是不是数组属性或者不是一个只读的 Visual FoxPro 自带属性,如果eNewValue中指定了新值,已存在的属性将被设为该值。如果省略eNewValue,已存在的属性值将保持不变。
如果指定的属性是一个已经存在,被标为Hidden (隐藏)或 Protected(受保护)的对象成员, Visual FoxPro 产生一个错误,"name 属性没有找到(Error 1734)"并且该属性不能被 ADDPROPERTY( )设置。
假 (.F.)
当 ADDPROPERTY( ) 未能成功添加属性时。
当新属性是数组属性,已存在的属性不是数组属性,已存在的属性将保持不变。
说明
用 ADDPROPERTY( ) 可以为对象创建属性数组。如果提供了eNewValue,每个数组元素初始化为该值。否则,数组中每个属性的值都被设为假(.F.)。更多的关于为对象创建属性数组的信息,请参见示例。
Visual FoxPro新添加的属性将做为Public(公共)属性。该属性可以被指定为 Protected 或 Hidden。
如果已存在的属性是只读的 Visual FoxPro 自带属性,比如BaseClass 属性,Visual FoxPro 将产生一个错误,"属性名是只读的(Error 1743)"。
如果属性名不是效的,例如,属性名中包含空格或其它非法字符,Visual FoxPro 将产生一个错误,"不正确的属性名(Error 1470)"。
对于由Visual FoxProFor类继承而来的对象的实例,ADDPROPERTY( ) 将保持AddProperty方法中的可视化设置。如果AddProperty 被标为 Hidden 或 Protected, ADDPROPERTY( ) 不创建新属性并返回假(.F.)。如果 AddProperty 方法被标为Public (默认),ADDPROPERTY( ) 创建数组并返回真(.T.)。这保护了原始的类设计。
注意:
这个不能应用到由 Visual FoxPro OLEPUBLIC 类创建的 COM 对象。
对于FOR EACH命令中的对象引用,不能使用ADDPROPERTY( )函数,但可以用AddProperty 方法程序来实现该功能。
示例
示例 1
下面的示例向SCATTER命令创建的对象添加一个新的属性。
USE customers
SCATTER NAME oCust
ADDPROPERTY(oCust,"MyProperty")
示例 2
下面的示例向 oMyForm 对象添加了一个属性数组,并且显示它的内容,1 和 "Two"。
oMyForm = CREATEOBJECT('Form')
ADDPROPERTY(oMyForm, 'MyArray(2)', 1)
oMyForm.MyArray(2) = "Two"
CLEAR
? oMyForm.MyArray(1)
? oMyForm.MyArray(2)
热心网友
时间:2022-06-18 13:12
打开表单,选择菜单“表单”-->"编辑属性/方法",新建属性“D"
热心网友
时间:2022-06-18 13:12
可以!
VFP问题 用户可以给表单添加自定义属性和方法程序???
Visual FoxPro新添加的属性将做为Public(公共)属性。该属性可以被指定为 Protected 或 Hidden。如果已存在的属性是只读的 Visual FoxPro 自带属性,比如BaseClass 属性,Visual FoxPro 将产生一个错误,"属性名是只读的(Error 1743)"。如果属性名不是效的,例如,属性名中包含空格或其它非法字符,Visual F...
VFP:方法的问题。+属性问题。
建立表单属性案例如登陆表单,为了限制登陆次数,可以public n(定义一个公共变量来存登陆次数)也可以用表单新建属性。如 新建属性times(次数),可在表单的在右边的属性窗口中把times的初始值设为0(vfp默认值是.f.)于是在程序中就可以写thisform.times=thisform.times+1 &&登陆密码错误一次加1 if thi...
...方法代码为:wait "mymethod" window 这道vfp上机怎么做?非常感谢了...
执行〔表单〕→〔新建方法程序〕菜单命令,在弹出的新建方法程序的对话框的名称文本框中输入mymethod,单击添加按钮新增方法,然后关闭对话框!接着在属性窗口中双击此方法,打开用户自定义过程代码框中输入wait mymethod window即可!
VFP表单中Thisform.num是什么意思
其中的num是一个用户自定义过程。thisform.init 表示对当前表单中init事件的引用。同样:Thisform.num 表示对当前表单中num事件的引用。至于num是什么呢?这要看用户怎么定义的。猜测:num 的中文是序号,所以很可能是对记录号之类的操作。
VisualFoxPro90SP2中文版VisualFoxPro90SP2中文版功能简介
可扩展的开发者生产力工具。使用可停靠的用户窗体增强用户界面,自动锚定控件,以及改进的图像支持。用最喜欢的属性、自定义编辑器、字体和颜色设置个性化属性窗口。灵活地构建所有类型的数据库解决方案。为基于Windows的平板电脑构建和部署独立和远程应用程序。创建和访问与Microsoft.NET技术兼容的COM组件和XML ...
VFP表单题目求答案
VFP的函数有两种,一种是用户自定义的函数,一种是系统函数。自定义函数由用户根据需要自行编写 , 系统函数则是由VFP提供的内部函数,用户可以随时调用。 VFP提供的系统函数大约有380多个,主要分为:数值函数、字符处理函数、表和数据库函数、日期时间函数、类型转换函数、测试函数、菜单函数、窗口函数、数组函数、SQL查询...
VFP常用的命令代码
VFP常用命令,函数,属性,事件和方法 一.常用命令 1.CREATE TABLE-SQL 创建一个含有指定字段的表。2.ALTER TABLE-SQL 以编程方式修改表的结构。3.SELECT 激活指定工作区。4.USE 打开一个表及其相关索引文件,或打开一个SQL视图。5.CLOSE TABLES 关闭所有打开数据库中的所有表。6.COPY STRUCTURE...
跪求整理好的VF指令
<P><FONT face=黑体color=#0909f7><STRONG> 十二、Visual FoxPro类及程序库命令</STRONG></FONT></P> <P> DEFINE CLASS 创建一个用户自定义类或子类,并为创建的类或子类指定属性、事</P> <P> 件和方法</P> <P> DISPLAY OBJECTS 显示有关一个对象或一组对象的信息</P> <P> MODIFY CLASS ...
关于江苏计算机二级考试(VFP),分数构成、大纲!
(1)表单的组成和设计,菜单设计器的使用,菜单程序的生成(2)定制系统工具栏,创建自定义工具栏7、类的设计(1)用户自定义类的创建与修改(2)类库文件及其使用 (3)类的应用8、应用程序设计(1)构造应用程序的主程序(2)应用程序的连编9、常用命令、函数、属性、事件和方法(1) 常用命令CREATE TABLE-SQL,ALTER TABLE...
VFP 如何加载表单,如何卸载某一个控件?
表单集就是将表单的特殊性拆开,将里面的表单变成一个普通的容器控件,你可以这样想想, 一个表单里有2个容器控件, 和, 一个表单集里有2个表单是一样的 你将表单的某个容器控件去除,你还能再建立吗? 再用createobject方法建立也不是原来的了,一些自定义属性,事件代码都没有了(除非你事先创建了类)