VFP問題使用者可以給表單新增自定義屬性和方法程式

2022-05-22 18:10:02 字數 2920 閱讀 6001

1樓:匿名使用者

在執行時刻向乙個物件新增乙個新屬性。

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)

2樓:匿名使用者

開啟表單,選擇選單「表單」-->"編輯屬性/方法",新建屬性「d"

vfp表單自定義屬性

3樓:

還有乙個方法,看你是否採用了,你可以在表單的init事件中定義乙個public d,後面直接使用d就可以了,例如d=100,在這個表單的任何事件中都能引用d.

4樓:匿名使用者

是不是自己定義的「d」裡需要變數「d」。可此時未做定義。

5樓:匿名使用者

開啟表單,選擇選單「表單」-->"編輯屬性/方法",新建屬性「d"

回答對錯在新建乙個表單時,可以新增新的屬性,方法和事件. 這句話是對的還是錯的?為什麼

6樓:匿名使用者

計算機等級二級vfp筆試樣卷及答案第八題

關於vfp的str函式問題,關於vfp 的str函式問題

返回與指定數值表示式對應的字元。str nexpression nlength ndecimalplaces 返回值字元型 引數nexpression str 要計算的數值表示式。nlength str 返回的字串長度。該長度包括小數點所佔的字元和小數點右邊每個數字所佔的字元。如果指定長度大於小數點...

請教VFP問題關於SQL語句SELECT

第一句是條件是看能否滿足這個條件,但不要在結果中顯示。滿足了就顯示相應的內容,輸出什麼樣的資料要看sele後的定義。就是說不需要輸出這個結果,而第二個因是要輸出的結果,就要計算出結果後再輸出結果。sele 後要給出相應的表示式的結果,這是第二句的作用,對這個式子只能得出邏輯的真或假的結果,vfp中如...

asp使用者註冊問題

你的 有問題,你貼出全部的 來,或者發到5257516 163.com 我幫你修改 提交的話,你用js在提交表單的時候做判斷吧!我給你寫了乙個判斷的,為空就不能提交!只在資料庫裡設定不為空的話只是在新增的時候出錯,不能避免新增空值 接收頁判斷一下,或者用正規表示式限制一下 正確啊 但是你的這兩句有用...