很多朋友經常問如何根據一指定名稱的字符串判斷PB當中該對象是否存在?例如:WINDOW、控件、DATAWINDOW中的OBJECT、MENU等,本文將分類對這些情況予以討論:
一、如何判斷某指定WINDOW是否存在?
ClassDefinition cd_windef
cd_windef = FindClassDefinition("w_xxx")
if isvalid(cd_windef) then
//存在
end if
二、如何判斷WINDOW當中的某指定控件或指定控件的指定屬性是否存在?
可以藉助control[]數組。
三、如何判斷某指定MENU是否存在?
可以藉助item[]數組。
四、如何判斷DATAWINDOW當中指定OBJECT(如:指定列)是否存在?
(1)使用messagebox("1",dw_1.describe("objectname.name")),describe函數返回值若是無效的對象則返回!,如果是無效的屬性,則返回?,否則返回正確字符串。
(2)使用POS函數判斷指定對象NAME是否存在於dw_1.object.datawindow.objects中。
五、如何判斷某指定DATAWINDOW OBJECT是否存在?
datastore ld_ds
ld_ds = create datastore
ld_ds.dataobject = "demo"
if ld_ds.Describe("DataWindow.Objects")="" then //也可以用.Syntax
//不存在
end if
destroy ld_ds
也可以參考:
http://search.csdn.net/Expert/topic/1986/1986478.xml?temp=.1623957
http://community.csdn.net/Expert/topic/4038/4038005.xml?temp=.4138758
六、如何判斷某指定表在數據庫中是否存在?
可以藉助數據庫的系統表查找。