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...
...方法代码为:wait "mymethod" window 这道vfp上机怎么做?非常感谢了...
执行〔表单〕→〔新建方法程序〕菜单命令,在弹出的新建方法程序的对话框的名称文本框中输入mymethod,单击添加按钮新增方法,然后关闭对话框!接着在属性窗口中双击此方法,打开用户自定义过程代码框中输入wait mymethod window即可!
VFP:方法的问题。+属性问题。
建立表单属性案例如登陆表单,为了限制登陆次数,可以public n(定义一个公共变量来存登陆次数)也可以用表单新建属性。如 新建属性times(次数),可在表单的在右边的属性窗口中把times的初始值设为0(vfp默认值是.f.)于是在程序中就可以写thisform.times=thisform.times+1 &&登陆密码错误一次加1 if thi...
vfp6.0 表单中容器控件的addrec方法是怎样添加到属性栏中去的,请大家...
要给一个“表单控件” 增加一个 方法,操作方法如下是:新建一个 类 → 命名它并 选择它的 基类 → 然后 用前述表单加方法的办法给这个 新类 增加一个 方法 → 填写它的代码并保存它 → 在你的新表单中使用这个类,这个时候,它的属性方法列表中 就会显示 你创建的那个新方法。
VFP表单中Thisform.num是什么意思
其中的num是一个用户自定义过程。thisform.init 表示对当前表单中init事件的引用。同样:Thisform.num 表示对当前表单中num事件的引用。至于num是什么呢?这要看用户怎么定义的。猜测:num 的中文是序号,所以很可能是对记录号之类的操作。
关于2010下半年江苏省计算机二级vfp的几个问题
VFP的难点内容有:(1)设置数据库表中字段的有效性规则(2)设置多个表之间的参照完整性(3)构造多字段索引表达式(4)设计含有表达式和分组条件的多表查询与参数化视图(5)为对象编写事件代码和方法程序(6)为自定义类添加新的属性和方法 本回答由提问者推荐 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 为...
自定义VFP工具栏?
在vfp中可以按照以下操作自定义工具栏:1. 用类设计器定义工具栏类 单击文件菜单中的新建 → 选择类、新文件 → 给出自定义工具栏类名、基于toolbar、类库名 → 在类设计器中,将所需的命令按钮和分隔符依次添加到自定义工具栏上 → 在属性窗口中为每个按钮选择Picture 和 ToolTipText → 双击各...
vfp ,在表单集中怎样让用命令弹出的第二个窗体置于第一个窗体之上_百度...
用鼠标单击“表单控制”工具栏中的“CommandGroup”,移动鼠标光标至自定义工具栏内,这时光标变为十字光标,单击鼠标左键。工具栏内出现一个带两个命令按钮的命令按钮组,用同样的方法也可以在工具栏内加入其他对象。接下来的就是修改对象的属性了。对象的属性有很多,下面列出比较重要的、常用的几个属性...
VisualFoxPro90SP2中文版VisualFoxPro90SP2中文版功能简介
可扩展的开发者生产力工具。使用可停靠的用户窗体增强用户界面,自动锚定控件,以及改进的图像支持。用最喜欢的属性、自定义编辑器、字体和颜色设置个性化属性窗口。灵活地构建所有类型的数据库解决方案。为基于Windows的平板电脑构建和部署独立和远程应用程序。创建和访问与Microsoft.NET技术兼容的COM组件和XML ...
VF,VB的发展接方向
很少有人搞清楚:到底vb和vfp哪个才是面对对象的编程语言。所谓的面对对象编程,主要是指语言的四个特征:抽象、封装、继承和多态性。具体的讲,要判断一门语言是否视面对对象的,只要看看它是否能够建立自己的类、能否派生子类、建立自定义属性、方法就可以知道了。过去,我们宣传一个面对对象编程语言的好处是:使用图形...