RegistryDelete()
功能刪除Windows系統註冊庫中的一個鍵或鍵的某個值。
語法RegistryDelete ( key, valuename )
參數key:string類型,指定鍵名,將刪除該鍵或刪除該鍵的某個值valuename:string類型,指定要刪除的值的名稱。如果想刪除鍵、鍵的值、以及其下的所有子鍵,那麼將該參數指定爲空字符串返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。用法爲了唯一地標識某個鍵,在key參數中,可以從根鍵開始依次指定各級父鍵,各鍵之間使用反斜槓(\)分隔。
--------------------------------------------------------------------------------
RegistryGet()
功能從系統註冊庫中得到指定鍵的值。
語法RegistryGet ( key, valuename, valuetype, valuevariable )
參數key:string類型,指定鍵名valuename:string類型,指定要訪問值的名稱。每個鍵可以有一個未命名的值和多個命名的值。要訪問未命名的值,把該參數指定爲空字符串("")valuetype:RegistryValueType枚舉類型,指定值的數據類型。有效取值請參看用法valuevariable:用於保存鍵值的變量,其數據類型應該與valuetype參數指定的類型相匹配返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果valuevariable的數據類型與valuetype參數指定的類型不匹配,將引發運行錯誤。
用法valuetype的可能取值爲:RegString!以空字符結束的字符串RegExpandString!以空字符結束的字符串,其中包括了對環境變量的非擴展應用RegBinary!二進制數據ReguLong!32位數據ReguLongBigEndian!32位大數據RegLink!Unicode符號鏈RegMultiString!動態字符串數組爲了唯一地標識某個鍵,在key參數中,可以從根鍵開始依次指定各級父鍵,各鍵之間使用反斜槓(\)分隔。
--------------------------------------------------------------------------------
RegistryKeys()
功能從系統註冊庫中得到指定鍵的有效子鍵。
語法RegistryKeys ( key, subkeys )
參數key:string類型,指定鍵名subkeys:字符串數組變量,用於保存各子鍵返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。用法在subkeys參數中可以使用定長數組,也可以使用動態數組。使用動態數組時,數組的上界反映了能夠得到的子鍵個數。當使用定長數組時,其數組元素個數必須足夠多,保證能夠容納所有子鍵,但是,在具體得到子鍵之前,沒有辦法能夠預先知道實際子鍵個數。爲了唯一地標識某個鍵,在key參數中,可以從根鍵開始依次指定各級父鍵,各鍵之間使用反斜槓(\)分隔。
--------------------------------------------------------------------------------
RegistrySet()
功能在系統註冊庫中設置或創建指定鍵。
語法RegistrySet ( key, valuename, valuetype, value )
參數key:string類型,指定鍵名valuename:string類型,指定要訪問值的名稱。每個鍵可以有一個未命名的值和多個命名的值。要訪問未命名的值,把該參數指定爲空字符串("")。如果註冊庫中不存在指定值名,該函數將創建新的值名valuetype:RegistryValueType枚舉類型,指定值的數據類型。有效取值請參看用法value:要設置的值,其數據類型應該與valuetype參數指定的類型相匹配返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果valuevariable的數據類型與valuetype參數指定的類型不匹配,將引發運行錯誤。用法valuetype的可能取值爲:RegString!以空字符結束的字符串RegExpandString!以空字符結束的字符串,其中包括了對環境變量的非擴展應用RegBinary!二進制數據ReguLong!32位數據ReguLongBigEndian!32位大數據RegLink!Unicode符號鏈RegMultiString!動態字符串數組爲了唯一地標識某個鍵,在key參數中,可以從根鍵開始依次指定各級父鍵,各鍵之間使用反斜槓(\)分隔。
--------------------------------------------------------------------------------
RegistryValues()
功能得到與指定鍵相關的一組值名。該函數在Windows 3.1中無效。
語法RegistryValues ( key, valuename )
參數key:string類型,指定鍵名valuename:字符串數組變量,用於保存值名返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。用法在valuename 參數中可以使用定長數組,也可以使用動態數組。使用動態數組時,數組的上界反映了能夠得到的值名個數。當使用定長數組時,其數組元素個數必須足夠多,保證能夠容納所有值名,但是,在具體得到值名之前,沒有辦法能夠預先知道實際值名個數。爲了唯一地標識某個鍵,在key參數中,可以從根鍵開始依次指定各級父鍵,各鍵之間使用反斜槓(\)分隔。
--------------------
CPU()
功能得到自當前應用程序啓動後開始CPU所消耗的時間,以毫秒爲單位。
語法CPU()
返回值Long。返回自當前應用程序啓動後開始CPU所消耗的時間,以毫秒爲單位。
--------------------------------------------------------------------------------
Idle()
功能該函數在用戶每次活動(例如,按鍵盤、移動鼠標等)後重置定時器,n秒後觸發應用對象的Idle事件。
語法Idle ( n )
參數n:指定空閒時間間隔,以秒爲單位。該參數的值設置爲0時,停止空閒檢測,不再觸發應用對象的Idle事件返回值Integer。函數執行成功時返回1,此時啓動定時器。如果不能啓動定時器或定時器未啓動而n的值指定爲0時,函數返回-1。如果任何參數的值爲NULL,Idle()函數返回NULL。用法利用Idle()函數,應用程序可以構造自己的屏幕保護程序,避免安全數據的泄露。當使用Idle()函數已經啓動了定時器後,如果再次以非0參數調用Idle()函數,那麼該函數重設時間間隔,但並不啓動新的定時器。Idle()函數啓動定時器後,如果在指定的時間間隔(從用戶最近一次操作算起)內沒有操作應用程序,那麼就觸發應用對象的Idle事件,在這個事件中可以編寫關閉窗口、退出數據庫登錄等一系列代碼,然後使用Restart()函數重新啓動應用程序,起到保密的目的。發生下述任何情況時,系統自動重置定時器(即重新開始計時):n
用戶在該應用程序的任何窗口內移動鼠標或單擊鼠標(雙擊鼠標時首先觸發單擊事件)n 在該應用程序的某個窗口是當前窗口時用戶按下了任意一個或多個鍵n 在該應用程序的窗口最小化時,用戶在該應用的圖標上單擊鼠標或移動鼠標n 在該應用程序的窗口最小化並且該應用程序是當前應用程序(應用名稱被加亮顯示)時,用戶按了任何按鍵n 可視數據窗口檢索數據時引起的編輯控件(指漂浮在數據窗口當前行/列上的編輯控件)重繪操作
--------------------------------------------------------------------------------
Timer()
功能 在指定的時間間隔內反覆觸發指定窗口的定時器事件。
語法Timer ( interval {, windowname } )
參數interval:指定兩次觸發Timer事件之間的時間間隔,有效值在0到65之間。如果該參數的值指定爲0,那麼關閉定時器,不再觸發指定窗口的Timer事件windowname:窗口名,指定時間間隔到時要觸發哪個窗口的Timer事件。省略該參數時,觸發當前窗口的Timer事件返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,Timer()函數返回NULL。用法使用Timer()函數可以週期性地觸發指定窗口的Timer事件,這樣,每當時間間隔過去時,應用程序都可以完成一些週期性的工作,比如繪製簡單動畫等。將Timer()的interval參數設置爲非0值時啓動定時器並開始計時;將該函數的interval參數設置爲0時關閉定時器,終止計時任務。需要注意的是,在Microsoft
Windows系統中,該函數能夠計時的最小時間間隔爲0.055秒(約1/18秒),如果把interval參數的值設置小於0.055,那麼該定時器將每隔0.055秒觸發一次窗口的Timer事件。Microsoft Windows 3.x最多隻支持系統中同時啓動16個定時器。
------------
GetCommandDDE()
功能得到DDE客戶應用發送的命令。
語法GetCommandDDE ( string )
參數string:string類型的變量,用於保存DDE客戶應用發送的命令返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果string參數的值爲NULL, GetCommandDDE()函數返回NULL。用法當DDE客戶應用向DDE服務器應用發送一條命令時,這個動作將觸發DDE服務器應用活動窗口的RemoteExec事件,在這個事件的事件處理程序中,可以使用GetCommandDDE()函數得到DDE客戶應用發送的命令。
--------------------------------------------------------------------------------
GetCommandDDEOrigin()
功能確定哪一個DDE客戶應用向服務器發送了命令。
語法GetCommandDDEOrigin ( applstring )
參數applstring:string變量,用於保存發送命令的DDE客戶應用的名稱返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果applstring參數的值爲 NULL,GetCommandDDEOrigin()函數返回NULL。
--------------------------------------------------------------------------------
GetDataDDE()
功能得到DDE客戶應用發送的數據。
語法GetDataDDE ( string )
參數string:string類型變量,用於保存接收到的數據返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL, GetDataDDE()函數返回NULL。
--------------------------------------------------------------------------------
GetDataDDEOrigin()功能確定哪個DDE客戶應用發送了數據。
語法GetDataDDEOrigin ( applstring, topicstring, itemstring )
參數applstring:string類型變量,用於保存客戶應用的名稱topicstring:string類型變量,用於保存主題(比如,在Excel中,主題可以是REGION.XLS)itemstring:string類型變量,用於保存數據項標識(比如,在Excel中,數據項標識可能是R1C2)返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,GetDataDDEOrigin()函數返回NULL。
--------------------------------------------------------------------------------
RespondRemote()
功能向客戶端應用指明最近的命令或數據是否已經接收。
語法RespondRemote ( boolean )
參數boolean:其值爲boolean量的邏輯表達式,TRUE表示接收先前收到的命令或數據,FALSE表示不接收先前收到的命令或數據返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果boolean參數的值爲NULL,RespondRemote()函數返回NULL。
--------------------------------------------------------------------------------
SetDataDDE()
功能向DDE客戶應用發送數據。
語法SetDataDDE ( string {, applname, topic, item } )
參數string:指定要發送到DDE客戶應用的數據applname:string類型,可選項,指定接收數據的客戶應用的DDE名稱topic:string類型,可選項,指定基礎數據組item:string類型,可選項,指定基礎數據組中的數據項返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1函數調用的環境不對-2數據未被接收如果任何參數的值爲NULL,SetDataDDE()函數返回NULL。
--------------------------------------------------------------------------------
StartServerDDE()
功能將當前應用設置爲DDE服務器。
語法StartServerDDE ( { windowname, } applname, topic {, item } )
參數windowname:可選項,指定服務器窗口名,缺省值爲當前窗口applname:當前應用的DDE名稱topic:string類型,指定DDE客戶應用能夠引用的基本數據組item:由逗號(,)分隔的一個或多個字符串,指定服務器應用支持的數據項返回值Integer。函數執行成功時返回1,發生錯誤時返回-1,表示當前應用已經設置爲DDE服務器。如果任何參數的值爲NULL,StartServerDDE()函數返回NULL。
--------------------------------------------------------------------------------
StopServerDDE()
功能停止當前應用的DDE服務器功能。執行該函數後,發給該應用的任何DDE客戶應用請求都將失敗。
語法StopServerDDE ( { windowname, } applname, topic )
參數windowname:可選項,指定要關閉服務器功能的服務器窗口名,缺省值爲當前窗口,如果當前應用有多個服務器窗口,那麼必須指定該參數applname:當前應用的DDE名稱topic:string類型,應該與StartServerDDE()中對應參數相同返回值Integer。函數執行成功時返回1,發生錯誤時返回-1,表示當前應用未曾作爲DDE服務器啓動。如果任何參數的值爲NULL,StopServerDDE()函數返回NULL。
----------------------------------------
FileClose()
功能關閉先前用FileOpen()函數打開的文件。
語法FileClose ( fileno )
參數fileno:integer,指定要關閉文件的文件句柄,該句柄使用FileOpen()函數打開文件時得到返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果fileno參數的值爲NULL,那麼FileClose()函數返回NULL。
--------------------------------------------------------------------------------
FileDelete()
功能刪除指定的文件。
語法FileDelete ( filename )
參數filename:string類型,指定要刪除文件的文件名,其中可以包含路徑返回值Boolean。函數執行成功時返回TRUE,發生錯誤時返回FALSE。如果filename參數的值爲NULL,那麼FileDelete()函數返回NULL。
--------------------------------------------------------------------------------
FileExists()
功能檢查指定的文件是否存在。
語法FileExists ( filename )
參數filename:string類型,指定要檢查存在性的文件的文件名,其中可以包含路徑返回值Boolean。如果指定文件存在時返回TRUE,不存在時返回FALSE。如果filename參數的值爲NULL,那麼FileExists()函數返回NULL。用法如果filename參數指定的文件被另一個應用加鎖鎖住,那麼FileExists()函數也將返回FALSE。
--------------------------------------------------------------------------------
FileLength()
功能得到指定文件的長度(以字節爲單位)。
語法FileLength ( filename )
參數filename:string類型,指定要得到其長度的文件的文件名,其中可以包含路徑返回值Long。函數執行成功時返回指定文件的長度(以字節爲單位)。如果指定的文件不存在,函數返回-1。如果filename參數的值爲NULL,那麼FileLength()函數返回NULL。
--------------------------------------------------------------------------------
FileOpen()
功能以指定的讀寫方式打開指定的文件,同時返回該文件的句柄。
語法FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode,{creator,filetype}}}}})
參數filename:string類型,指定要打開文件的名稱,其中可以包含路徑 filemode:FileMode枚舉類型,可選項,指定文件打開方式。有效取值爲:?LineMode! - 缺省值,行模式;?StreamMode! - 流模式fileaccess:FileAccess枚舉類型,可選項,指定文件訪問方式。有效取值爲:?Read! - 缺省值,只讀方式,這樣打開的文件只能進行讀操作;?Write! - 只寫方式,這樣打開的文件只能進行寫操作?filelock:FileLock枚舉類型,可選項,指定文件加鎖方式。有效取值爲:n
LockReadWrite! - 缺省值,只有打開該文件的用戶能夠訪問該文件,其它用 戶對該文件的訪問均被拒絕;n LockRead! - 只有打開該文件的用戶能夠讀該文件,但其它任何用戶均可寫該文件;n LockWrite! - 只有打開該文件的用戶能夠寫該文件,但其它任何用戶均可讀該文件;n Shared! - 所有用戶均可讀寫該文件writemode:WriteMode枚舉類型,可選項,當fileaccess參數指定爲Write!時,該參數指定在指定文件已經存在時數據的添加方式。有效取值爲:?Append!
- 缺省值,將數據添加到原文件尾部;?Replace! - 覆蓋原有數據creator:可選項,用於Macintosh機,使用四個字符的字符串指定文件的創建者。指定該參數後,必須同時指定filetype參數filetype:可選項,用於Macintosh機,使用四個字符的字符串指定文件類型返回值Integer。函數執行成功時返回打開文件的句柄,隨後的文件操作函數利用該句柄完成對文件的操作。發生錯誤時函數返回-1。如果任何參數的值爲NULL,那麼FileOpen()函數返回NULL。用法當文件以行模式打開時,每執行一次FileRead()函數讀取一行數據;每執行一次FileWrite()函數,該函數自動在寫出的字符串末尾增加一個回車(CR)換行(LF)符(這是應用程序在Windows
系統中運行時的情況,在UNIX下只加一個換行字符)。當文件以流模式打開時,執行一次FileRead()函數讀取32,765個字節的數據,如果餘下數據沒有這麼多,那麼FileRead()函數就讀取所有餘下的數據;執行一次FileWrite()函數時,最多可寫入32,765個字節的數據,並且不添加回車換行字符。當文件以寫方式使用FileOpen()函數打開時,如果指定的文件不存在,那麼FileOpen()函數創建該文件。
--------------------------------------------------------------------------------
FileRead()
功能從指定文件中讀取數據。
語法FileRead ( fileno, variable )
參數fileno:integer類型,指定文件句柄(由FileOpen()函數得到)variable:string或blob類型的變量,用於保存讀取的數據返回值Integer。函數執行成功時返回讀取的字符數或字節數;如果在讀取任何字符前讀到了文件結束符(EOF),則FileRead()函數返回-100;當指定文件以行模式打開時,如果在讀取任何字符之前遇到了回車(CR)或換行(LF)字符,則FileRead()函數返回0。如果發生其它錯誤,FileRead()函數返回-1。如果任何參數的值爲NULL,那麼FileRead()函數返回NULL。用法當指定文件以行模式(Line
Mode)打開時,FileRead()函數一次讀取一行數據,並把它保存到參數variable中,然後跳過行結束符(回車換行符,操作系統不同,使用的字符也不同),把文件指針移動到下一行的起始位置。當文件以流模式(Stream Mode)打開時,FileRead()函數或一直讀取到文件結尾,或讀取32,765字節的數據,決定於兩者哪個數據長度更短些。
--------------------------------------------------------------------------------
FileSeek()
功能將文件指針移動到指定位置。讀寫文件時相應函數會自動移動文件指針。
語法FileSeek ( fileno, position, origin )
參數fileno:integer類型,指定文件句柄(由FileOpen()函數得到)position:long類型,指定相對於origin參數指定位置的新位置偏移量,以字節爲單位origin:SeekType枚舉類型,指定從哪裏開始移動文件指針,即指針移動的基準。有效取值爲:?FromBeginning! - 缺省值,從文件開頭移動指針;?FromCurrent! - 從當前位置移動文件指針;?FromEnd! - 從文件結尾處移動文件指針返回值Long。函數執行成功時返回指針移動後的指針位置。如果任何參數的值爲NULL,那麼FileSeek()函數返回NULL。
--------------------------------------------------------------------------------
FileWrite()
功能向指定文件中寫數據。
語法FileWrite (fileno , variable )
參數fileno:integer類型,指定文件句柄(由FileOpen()函數得到)variable:string或blob類型,其值將寫入fileno參數指定的文件返回值Integer。函數執行成功時返回寫入文件的字符或字節數,發生錯誤時返回-1。如果任何參數的值爲NULL,那麼FileWrite()函數返回NULL。用法FileWrite()函數從當前文件指針開始寫入指定數據,寫入之後,將文件指針調整到剛剛寫入數據的下一個字節位置。當文件以writemode參數設置爲Replace!方式打開時,文件指針最初位於文件的開頭位置;當文件以writemode參數設置爲Append!方式打開時,文件指針最初位於文件的結尾位置。當文件以行模式打開時,執行FileWrite()函數時,該函數自動在每次寫入數據的後面加上回車換行符,並把文件指針移動到回車換行符後面。當文件以流模式打開時,FileWrite()函數一次最多寫入32,765個字節。如果variable參數中數據的長度超過了32,765個字節,那麼FileWrite()函數只向文件中寫入前32,765個字符並返回32,765。
--------------------------------------------------------------------------------
GetFileOpenName()
功能顯示打開文件對話框,讓用戶選擇要打開的文件。
語法GetFileOpenName(title,pathname,filename{,extension{,filter}})
參數title:string類型,指定對話框的標題pathname:string類型變量,用於保存該對話框返回的文件路徑及文件名filename:string類型變量,用於保存該對話框返回的文件名extension:string類型,可選項,使用1到3個字符指定缺省的擴展文件名 filter:string類型,可選項,其值爲文件名掩碼,指定顯示在該對話框的列表框中供用戶選擇的文件名滿足的條件(比如*.*,*.TXT,*.EXE等)返回值Integer。函數執行成功時返回1;當用戶單擊了對話框上的“Cancel”按鈕時函數返回0;發生錯誤時返回-1。如果任何參數的值爲NULL,那麼GetFileOpenName()函數返回NULL。
用法filter參數的格式爲:description,*. ext缺省值爲:"All Files (*.*),*.*"其中,description說明擴展名的意義,比如“所有文件”、“文本文件”等。你可以根據需要指定在打開文件對話框中顯示的文件名類型。當需要指定多種文件類型時,各類型之間使用逗號分隔,例如:"PIF 文件, *.PIF, 批處理文件, *.BAT"需要注意的是,該函數只是得到一個文件名,而並沒有打開文件,需要打開文件時,依然需要使用FileOpen()函數。
--------------------------------------------------------------------------------
GetFileSaveName()
功能顯示保存文件對話框,讓用戶選擇要保存到的文件。
語法GetFileSaveName(title,pathname,filename{,extension{,filter}})
參數title:string類型,指定對話框的標題pathname:string類型變量,用於保存該對話框返回的文件路徑及文件名filename:string類型變量,用於保存該對話框返回的文件名extension:string類型,可選項,使用1到3個字符指定缺省的擴展文件名filter:string類型,可選項,其值爲文件名掩碼,指定顯示在該對話框的列表框中供用戶選擇的文件名滿足的條件(比如*.*,*.TXT,*.EXE等)返回值Integer。函數執行成功時返回1;當用戶單擊了對話框上的“Cancel”按鈕時函數返回0;發生錯誤時返回-1。如果任何參數的值爲NULL,那麼GetFileSaveName()函數返回NULL。
用法filter參數的格式爲:description,*. ext缺省值爲:"All Files (*.*),*.*"其中,description說明擴展名的意義,比如“所有文件”、“文本文件”等。你可以根據需要指定在打開文件對話框中顯示的文件名類型。當需要指定多種文件類型時,各類型之間使用逗號分隔,例如:"PIF 文件, *.PIF, 批處理文件, *.BAT"需要注意的是,該函數只是得到一個文件名,而並沒有打開文件,需要打開文件時,依然需要使用FileOpen()函數。
--------------------------------------------------------
LibraryCreate()
功能創建一個空的PowerBuilder應用庫,並可根據需要在創建應用庫的同時添加庫註解。
語法LibraryCreate ( libraryname{, comments } )
參數libraryname:string類型,指定要創建應用庫的名稱,可以帶上路徑,不帶路徑時在當前目錄下創建應用庫comments:string類型,可選項,指定要創建的應用庫的註解返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,LibraryCreate()函數返回NULL。用法LibraryCreate()函數在指定路徑下創建一個空的PowerBuilder應用庫(PBL)。如果在指定應用庫名稱時沒有指定文件的擴展名,那麼該函數自動加上擴展名.PBL。
--------------------------------------------------------------------------------
LibraryDelete()
功能刪除應用庫庫文件或應用庫中的數據窗口對象。
語法LibraryDelete ( libraryname{, objectname, objecttype } )
參數libraryname:string類型,指定庫名,可以帶上路徑,不帶路徑時在系統搜索路徑下查找應用庫objectname:string類型,可選項,指定要從庫中刪除的數據窗口對象的名稱objecttype:LibImportType類型,可選項,指定要刪除對象的類型,目前僅支持ImportDataWindow!返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,LibraryDelete()函數返回NULL。
用法執行LibraryDelete()函數時,如果未指定後兩個參數,那麼該函數刪除指定的應用庫;如果指定了後兩個參數,那麼該函數刪除指定應用庫中指定的數據窗口對象。LibraryDelete()函數只能刪除應用庫中的數據窗口對象,如果想刪除其它對象,那麼只能在PowerBuilder開發環境中使用庫管理畫筆(Library Painter)來實現了。
--------------------------------------------------------------------------------
LibraryDirectory()
功能 得到應用庫中指定對象的信息列表,內容包括對象名稱、最近修改日期和時間、以及對象的註釋。
語法LibraryDirectory ( libraryname, objecttype )
參數libraryname:string類型,指定PowerBuilder應用庫的名稱,如果名稱中未指定路徑,那麼該函數根據操作系統標準的文件搜索路徑查找指定文件objecttype:LibDirType枚舉類型,指定希望函數列出的對象類型,有效取值請參看用法。返回值String。函數執行成功時返回一個字符串,每個對象佔用一行,行中各信息之間使用Tab字符(~t)分隔。行中信息格式爲:對象名~t修改日期/時間~t註釋~n發生錯誤時函數返回空字符串("")。如果任何參數的值爲NULL,LibraryDirectory()函數返回NULL。
用法LibraryDirectory()函數的objecttype參數是個LibDirType枚舉類型的量,其有效取值爲:DirAll!得到所有對象的信息DirApplication!得到應用對象的信息DirDataWindow!得到所有數據窗口對象的信息DirFunction!得到所有函數對象的信息DirMenu!得到所有菜單對象的信息DirPipeline!得到所有數據管道對象的信息DirProject!得到工程對象的信息DirQuery!得到所有查詢對象的信息DirStructure!得到所有結構對象的信息DirUserObject!得到所有用戶對象的信息DirWindow!得到所有窗口對象的信息使用LibraryDirectory()函數得到指定對象的名稱、修改日期/時間以及可能的註釋後,應用程序既可以使用Pos()函數進行定位和字符串分割,也可以使用數據窗口的ImportString()函數將結果顯示在數據窗口中。
--------------------------------------------------------------------------------
LibraryExport()
功能從指定應用庫中以對象的語法定義格式卸出對象。
語法LibraryExport ( libraryname, objectname, objecttype )
參數libraryname:string類型,指定要移出對象的應用庫的名稱,如果名稱中未指定路徑,那麼該函數根據操作系統標準的文件搜索路徑查找指定文件objectname:string類型,指定要移出對象的名稱objecttype :LibExportType枚舉類型,指定要移出對象的類型,具體取值請參看用法返回值String。函數執行成功時返回指定對象的語法,該語法與使用庫管理畫筆(Library Painter)移出對象時的語法相同,區別在於LibraryExport()函數省略了移出語法的頭部。如果發生錯誤,則函數返回空字符串("")。如果任何參數的值爲NULL,LibraryExport()函數返回NULL。
用法LibraryExport()的objecttype參數的可能取值爲: ExportApplication!應用對象ExportDataWindow!數據窗口對象ExportFunction!函數對象ExportMenu!菜單對象ExportPipeline!數據管道對象ExportProject!工程對象ExportQuery!查詢對象ExportStructure!結構對象ExportUserObject!用戶對象ExportWindow!窗口對象
--------------------------------------------------------------------------------
LibraryImport()
功能將以語法格式表示的數據窗口對象裝入指定的應用庫中。
語法LibraryImport(libraryname,objectname,objecttype,syntax,errors{,comments } )
參數libraryname:string類型,指定要移入對象的應用庫的名稱,如果名稱中未指定路徑,那麼該函數根據操作系統標準的文件搜索路徑查找指定文件objectname:string類型,指定要移入的數據窗口對象的名稱 objecttype:LibImportType枚舉類型,指定要移入對象的類型,目前該函數只支持ImportDataWindow!,表示只能嚮應用庫中移入數據窗口對象syntax:string類型,指定要移入數據窗口對象的語法errors:string類型變量,用於在發生錯誤時保存出錯信息comments:string類型,可選項,用於指定移入對象的註解返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,LibraryImport()函數返回NULL。
用法當應用程序在運行過程中動態創建數據窗口對象後,可以使用LibraryImport()函數把動態數據窗口對象的定義保存到應用庫中,以後就可以直接使用該對象了。
-------------------------------------------
Print()
功能以當前字體在打開的打印作業中打印一行或多行文本。
語法Print(printjobnumber,{tab1,}string{,tab2})
參數printjobnumber:用PrintOpen()函數打開的打印作業號tab1:Integer類型,可選項,指定文本開始打印的位置,在開始打印字符串之前將打印光標移動到該位置,從打印區的左邊界開始計算,以千分之一英寸爲單位。如果打印光標已經位於指定位置、或打印光標已經超過了指定位置、或省略了該參數,那麼,Print()函數從打印光標的當前位置開始打印string:string類型,指定要打印的字符串。如果字符串中包括回車換行字符(~r~n),那麼該字符串將被分成多行輸出,但是,除第一行之外,其它行忽略tab1參數指定的起始打印位置tab2:Integer類型,可選項,指定字符串打印結束後打印光標移動到的位置,從打印區的左邊界開始計算,以千分之一英寸爲單位。如果打印光標已經超過了指定位置,那麼Print()函數忽略該參數,打印光標位於已打印字符串的尾部。如果省略了該參數,Print()函數把打印光標移動到下一行的起始位置。返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,Print()函數返回NULL。用法在打印作業中,PowerBuilder使用打印光標來跟蹤打印位置。打印光標保存了即將打印區域左上角的座標。使用Print()函數打印文本後,PowerBuilder自動更新打印光標。PowerBuilder使用行距來決定打印出的兩行文本之間的距離,行距與字符的高度成比例,缺省的行距是字符高度的1.2倍。使用PrintSetSpacing()函數可以改變行距。當Print()函數在下一行打印輸出時,它把打印光標的x座標設置爲0、y座標增加當前行距指示的數值。由於每打印一行時Print()函數都自動調整打印光標的y座標位置,因此,該函數會自動處理分頁,因此,應用程序沒有必要調用PrintPage()函數進行分頁。打印區由紙張的物理尺寸和邊界空白決定,PrintSend()函數能夠發送具體打印機的ESC控制序列,使用這個函數可以改變邊界空白的大小。另外,在打印開始之前,使用PrintDefineFont()和PrintSetFont()函數可以改變Print()使用的字體。
--------------------------------------------------------------------------------
PrintBitmap()
功能在打印區域的指定位置打印位圖。
語法PrintBitmap ( printjobnumber, bitmap, x, y, width, height )
參數printjobnumber:用PrintOpen()函數打開的打印作業號bitmap:string類型,指定要打印的位圖文件的文件名x:integer類型,指定位圖起始打印位置的x座標,以千分之一英寸爲單位y:integer類型,指定位圖起始打印位置的y座標,以千分之一英寸爲單位width:integer類型,指定位圖的打印寬度,以千分之一英寸爲單位。如果該參數的值指定爲0,那麼按圖像的原始寬度打印height:integer類型,指定位圖的打印高度,以千分之一英寸爲單位。如果該參數的值指定爲0,那麼按圖像的原始高度打印返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintBitmap()函數返回NULL。用法執行PrintBitmap()函數後,打印光標的位置不變,依然停留在執行該函數前的位置上。
--------------------------------------------------------------------------------
PrintCancel()
功能取消用PrintOpen()函數啓動的打印作業。
語法PrintCancel ( printjobnumber )
參數printjobnumber:要取消的打印作業的作業號返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數printjobnumber的值爲NULL,PrintCancel()函數返回NULL。用法PrintCancel()函數取消指定的打印作業,刪除相應的打印池文件,關閉打印作業,所以,應用程序執行了PrintCancel()函數之後,不需要再執行PrintClose()函數關閉打印作業了。
--------------------------------------------------------------------------------
PrintClose()
功能關閉打印作業並把打印頁面發送到打印機上。
語法PrintClose ( printjobnumber )
參數printjobnumber:要關閉的打印作業的作業號返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數printjobnumber的值爲NULL,PrintClose()函數返回NULL。用法應用程序使用PrintOpen()函數啓動打印作業後,必須使用PrintClose()在完成打印任務後關閉打印作業,或根據需要使用PrintCancel()函數取消打印作業。
--------------------------------------------------------------------------------
PrintDataWindow()
功能打印數據窗口控件的內容,用該函數可以在一個打印作業中打印多個數據窗口控件的內容,每個都從新的一頁開始打印。
語法PrintDataWindow ( printjobnumber, dwcontrol )
參數printjobnumber:用PrintOpen()函數打開的打印作業號dwcontrol:要打印其內容的數據窗口控件名或子數據窗口控件名返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數printjobnumber的值爲NULL,PrintDataWindow()函數返回NULL。用法應用程序通過多次執行PrintDataWindow()函數可以在一個打印作業中一次打印多個數據窗口的內容,並且每個數據窗口都從新的一頁開始打印。當數據窗口的表現風格爲RichTextEdit時,數據窗口中的每一行都在新的一頁上開始打印。需要注意的是,PrintDataWindow()函數在打印數據窗口時使用數據窗口本身定義的字體以及風格,使用PrintDefineFont()和PrintSetFont()函數爲當前作業定義的字體不起作用。
--------------------------------------------------------------------------------
PrintDefineFont()
功能定義打印作業使用的字體,對每個打印作業PowerBuilder支持八種字體。
語法PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline)
參數printjobnumber:用PrintOpen()函數打開的打印作業號fontnumber:指定賦給當前定義字體的編號,有效值在1到8之間 facename:string類型,指定字體名稱,該字體應該是你的打印機支持的字體,比如“宋體”height:Integer類型,使用正值指定字體的高度,以千分之一英寸爲單位;使用負值指定字體點數,比如,-18代表18點。一般來說,使用點數更精確些weight:指定字體的磅數,正常字體爲400磅,粗體爲700磅fontpitch:FontPitch枚舉類型,指定字體標準。有效取值爲:Default!
- 缺省值;Fixed! - 固定形式;Variable! - 可變形式fontfamily:FontFamily枚舉類型,指定字體系列。有效取值爲:AnyFont!、Decorative!、Modern!、Roman!、Script!、Swiss!italic:boolean類型,指定是否使用斜體樣式。有效取值爲:TRUE - 使用斜體樣式;FALSE - 不使用斜體樣式。缺省值爲FALSEunderline:boolean類型,指定是否加下劃線。有效取值爲:TRUE - 加下劃線;FALSE - 不加下劃線。缺省值爲FALSE返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintDefineFont()函數返回NULL。用法在一個打印作業中,應用程序能夠最多同時定義8種字體。當應用程序需要使用更多的字體時,可以在使用了某個字體號輸出內容後使用PrintDefineFont()函數將該字體號對應的字體更換爲其它字體。
--------------------------------------------------------------------------------
PrintLine()
功能在當前打印頁上繪出指定厚度的一條線。
語法PrintLine ( printjobnumber, x1, y1, x2, y2, thickness )
參數printjobnumber:用PrintOpen()函數打開的打印作業號x1:integer類型,指定直線起點的x座標,以千分之一英寸爲單位y1:integer類型,指定直線起點的y座標,以千分之一英寸爲單位x2:integer類型,指定直線終點的x座標,以千分之一英寸爲單位y2:integer類型,指定直線終點的y座標,以千分之一英寸爲單位thickness:integer類型,指定直線的厚度,以千分之一英寸爲單位返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintLine()函數返回NULL。用法應用程序執行了PrintLine()函數後,該函數並不改變打印光標的位置。
--------------------------------------------------------------------------------
PrintOpen()
功能啓動打印作業並返回作業號。
語法PrintOpen ( { jobname } )
參數jobname:string類型,可選項,指定要打開打印作業的名稱,該名稱將顯示在打印管理器窗口中返回值Long。函數執行成功時返回打印作業號,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintOpen()函數返回NULL。用法應用程序執行PrintOpen()函數後,啓動新的打印作業並走紙到下一頁,同時將打印機缺省字體設置爲該打印作業的字體。打印光標的位置位於打印區的左上角。其它同組的打印函數使用PrintOpen()函數返回的作業號來標識作業。需要注意的是,使用PrintOpen()函數打開打印作業、使用同組的其它函數完成打印任務後,必須使用PrintClose()關閉打印作業,或根據需要使用PrintCancel()函數取消打印作業。
--------------------------------------------------------------------------------
PrintOval()功能在指定位置以指定線寬繪製橢圓或圓。
語法PrintOval ( printjobnumber, x, y, width, height, thickness )
參數printjobnumber:用PrintOpen()函數打開的打印作業號x:integer類型,指定橢圓或圓外形框左上角的x座標,以千分之一英寸爲單位y:integer類型,指定橢圓或圓外形框左上角的y座標,以千分之一英寸爲單位width:integer類型,指定橢圓或圓外形框的寬度,以千分之一英寸爲單位height:integer類型,指定橢圓或圓外形框的高度,以千分之一英寸爲單位thickness:integer類型,指定橢圓或圓外邊線的厚度,以千分之一英寸爲單位返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintOval()函數返回NULL。用法應用程序執行了PrintOval()函數後,該函數並不改變打印光標的位置。PrintOval()函數繪出的橢圓或圓是實心的,也就是說,執行該函數後,橢圓或圓下面的文字或圖像將完全被覆蓋。如果想在橢圓或圓中輸出文字或圖形,那麼應用程序應該首先繪製橢圓或圓,然後使用其它函數在橢圓或圓中輸出文字或圖形。
--------------------------------------------------------------------------------
PrintPage()
功能將當前頁發送給打印機或打印池並在當前打印作業中啓動一個新的打印頁。
語法PrintPage ( printjobnumber )
參數printjobnumber:用PrintOpen()函數打開的打印作業號返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintPage()函數返回NULL。
--------------------------------------------------------------------------------
PrintRect()
功能在指定位置以指定線寬打印矩形。
語法PrintRect ( printjobnumber, x, y, width, height, thickness )
參數printjobnumber:用PrintOpen()函數打開的打印作業號x:integer類型,指定矩形左上角的x座標,以千分之一英寸爲單位y:integer類型,指定矩形左上角的y座標,以千分之一英寸爲單位width:integer類型,指定矩形的寬度,以千分之一英寸爲單位height:integer類型,指定矩形的高度,以千分之一英寸爲單位thickness:integer類型,指定矩形邊線的厚度,以千分之一英寸爲單位返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintRect()函數返回NULL。用法應用程序執行了PrintRect()函數後,該函數並不改變打印光標的位置。PrintRect()函數繪出實心的矩形,也就是說,執行該函數後,矩形下面的文字或圖像將完全被覆蓋。如果想在矩形中輸出文字或圖形,那麼應用程序應該首先繪製矩形,然後使用其它函數在矩形中輸出文字或圖形。
--------------------------------------------------------------------------------
PrintRoundRect()
功能在指定位置以指定線寬打印圓角矩形。
語法PrintRoundRect(printjobnumber,x,y,width,height,xradius,yradius,thickness)
參數printjobnumber:用PrintOpen()函數打開的打印作業號x:integer類型,指定圓角矩形左上角的x座標,以千分之一英寸爲單位y:integer類型,指定圓角矩形左上角的y座標,以千分之一英寸爲單位width:integer類型,指定圓角矩形的寬度,以千分之一英寸爲單位height:integer類型,指定圓角矩形的高度,以千分之一英寸爲單位xradius:integer類型,指定圓角矩形圓角部分的x半徑,以千分之一英寸爲單位yradius:integer類型,指定圓角矩形圓角部分的y半徑,以千分之一英寸爲單位thickness:integer類型,指定圓角矩形邊線的厚度,以千分之一英寸爲單位返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintRoundRect()函數返回NULL。用法應用程序執行了PrintRoundRect()函數後,該函數並不改變打印光標的位置。PrintRoundRect()函數繪出實心的圓角矩形,也就是說,執行該函數後,圓角矩形下面的文字或圖像將完全被覆蓋。如果想在圓角矩形中輸出文字或圖形,那麼應用程序應該首先繪製圓角矩形,然後使用其它函數在圓角矩形中輸出文字或圖形。
--------------------------------------------------------------------------------
PrintScreen()
功能在打印作業中打印屏幕圖像。
語法PrintScreen ( printjobnumber, x, y {, width, height } )
參數printjobnumber:用PrintOpen()函數打開的打印作業號x:integer類型,指定要打印屏幕圖像左上角在打印頁上的x座標,以千分之一英寸爲單位y:integer類型,指定要打印屏幕圖像左上角在打印頁上的y座標,以千分之一英寸爲單位width:integer類型,可選項,指定屏幕圖像的打印寬度,以千分之一英寸爲單位。如果省略了該參數,那麼PowerBuilder按屏幕的原始寬度打印屏幕圖像。如果指定了該參數,必須同時指定height參數height:integer類型,可選項,指定屏幕圖像的打印高度,以千分之一英寸爲單位。如果省略了該參數,那麼PowerBuilder按屏幕的原始高度打印屏幕圖像返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintScreen()函數返回NULL。
--------------------------------------------------------------------------------
PrintSend()
功能直接向打印機發送任意字符串,通常用於發送打印機的控制代碼。
語法PrintSend ( printjobnumber, string {, zerochar } )
參數printjobnumber:用PrintOpen()函數打開的打印作業號string:string類型,指定發送到打印機的字符串。在該字符串中,使用非打印字符的ASCII碼值表示非打印字符zerochar:integer類型,可選項,指定在string參數中用於表示數值0的ASCII碼值。有效取值在1到255之間返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintSend()函數返回NULL。用法應用程序使用PrintSend()函數可以直接向打印機發送控制序列(換碼序列),比如,設置打印文字的濃淡、打印頁的四周空白等。不同類型的打印機使用不同的控制序列,你需要翻一翻你的打印機手冊。由於PowerBuilder使用數值0(即ASCII碼爲0的字符)結束每個字符串,因此,如果打印控制序列中包含了數值0,應用程序需要使用其它字符在參數string中替代數值0,並用zerochar參數指明這個替代字符。一般來說,應該選擇一個打印機控制序列中不使用的字符作爲0值字符的替代字符。通常情況下,按下述次序組織打印作業:1.
使用PrintOpen()函數打開打印作業2. 使用PrintSend()函數設置打印機特性,比如打印方向、四周空白等3. 使用PrintDefineFont()和PrintSetFont()函數設置該打印作業使用的字體4. 使用該組的其它函數打印輸出文字或圖形5. 執行PrintClose()函數關閉打印作業
--------------------------------------------------------------------------------
PrintSetFont()
功能設置當前打印作業使用的字體。
語法PrintSetFont ( printjobnumber, fontnumber )
參數printjobnumber:用PrintOpen()函數打開的打印作業號fontnumber:指定該打印作業使用字體的字體編號,該編號與PrintDefineFont()函數中定義的編號應該對應,字體編號的有效取值在1到8之間,0表示使用打印機的缺省字體返回值Integer。函數執行成功時返回當前字體的高度,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintSetFont()函數返回NULL。
--------------------------------------------------------------------------------
PrintSetSpacing()
功能設置行間距因子,打印函數將使用該因子來決定行間距。
語法PrintSetSpacing ( printjobnumber, spacingfactor )
參數printjobnumber:用PrintOpen()函數打開的打印作業號spacingfactor:指定行間距因子,用字符高度的倍數表示,缺省值爲1.2返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintSetSpacing()函數返回NULL。用法在PowerBuilder應用程序中,行間距與字符的高度成正比,缺省值爲字符高度的1.2倍。當Print組函數生成新行時,系統自動把打印光標的x座標位置設置爲0,y座標位置在原有基礎上增加當前行距值。使用PrintSetSpacing()函數可以改變當前打印作業的行距。
--------------------------------------------------------------------------------
PrintSetup()
功能打開打印機設置對話框。
語法PrintSetup ( )
返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintSetup()函數返回NULL。用法當系統中安裝了多種打印機時,在Windows 95中PrintSetup()函數打開如圖2-1所示的對話框,單擊“Setup”按鈕設置打印機各種特性。如果系統中只有一個打印機,則直接打開該打印機的打印設置對話框。需要注意的是,在Windows95和Windows NT 3.51以後的版本中,使用PrintSetup()函數設置的打印機設置只對當前應用起作用,並不影響其它應用的打印機設置。對Windows
3.1來說,使用PrintSetup()函數設置的打印機設置影響系統中的所有應用。
--------------------------------------------------------------------------------
PrintText()
功能在指定位置打印一行文本。
語法PrintText ( printjobnumber, string, x, y {, fontnumber } )
參數printjobnumber:用PrintOpen()函數打開的打印作業號string:string類型,指定要打印的文本x:integer類型,指定文本開始打印位置的x座標,以千分之一英寸爲單位y:integer類型,指定文本開始打印位置的y座標,以千分之一英寸爲單位fontnumber:可選參數,指定打印文本使用的字體號,該編號由PrintDefineFont()函數確定。省略該參數時,以打印作業的當前字體打印文本返回值Integer。函數執行成功時返回文本打印後打印光標的x位置,即參數x的值加上打印文本的寬度。發生錯誤時返回-1。如果任何參數的值爲NULL,PrintText()函數返回NULL。
--------------------------------------------------------------------------------
PrintWidth()
功能確定一個字符串在指定打印作業中按當前字體所佔的寬度,以千分之一英寸爲單位。
語法PrintWidth ( printjobnumber, string )
參數printjobnumber:用PrintOpen()函數打開的打印作業號string:string類型,指定要決定其打印寬度的字符串返回值Integer。函數執行成功時返回按當前字體計算的字符串打印寬度,以千分之一英寸爲單位,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintWidth()函數返回NULL。
--------------------------------------------------------------------------------
PrintX()
功能返回打印光標的x座標位置。
語法PrintX ( printjobnumber )
參數printjobnumber:用PrintOpen()函數打開的打印作業號返回值Integer。函數執行成功時返回打印光標的x座標位置,以千分之一英寸爲單位,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintX()函數返回NULL。
--------------------------------------------------------------------------------
PrintY()
功能返回打印光標的y座標位置。
語法PrintY ( printjobnumber )
參數printjobnumber:用PrintOpen()函數打開的打印作業號返回值Integer。函數執行成功時返回打印光標的y座標位置,以千分之一英寸爲單位,發生錯誤時返回-1。如果任何參數的值爲NULL,PrintY()函數返回NULL。
----------------------------------
Close()
功能關閉窗口並釋放窗口以及窗口上的控件所佔據的內存。
語法Close(windowname)
參數windowname:要關閉窗口的名稱返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數windowname的值爲NULL,Close()函數返回NULL。
用法應用程序使用Open()或其它Open簇函數打開窗口後,不需要窗口時,可以使用Close()關閉窗口並釋放窗口以及窗口上所有控件佔據的內存。Close()函數的執行過程爲:如果要關閉窗口的CloseQuery和/或Close事件已經編寫了事件處理程序,那麼執行這些事件處理程序,從屏幕上刪除要關閉的窗口、關閉窗口、之後執行調用Close()函數語句後面的語句。當窗口被關閉後,應用程序就不能再訪問已經關閉窗口的屬性、實例變量、對象函數、以及窗口上的控件了。如果關閉窗口後應用程序依然訪問上述特性,那麼將引發運行錯誤。當然,應用程序也可以阻止窗口被關閉,方法很簡單,只要在欲阻止關閉窗口的CloseQuery事件處理程序中使用RETURN語句返回1即可,格式爲:RETURN1
--------------------------------------------------------------------------------
CloseWithReturn()
功能關閉窗口並將返回值保存在Message對象中,該函數只能對響應窗口使用。
語法CloseWithReturn ( windowname, returnvalue)
參數windowname:要關閉窗口的名稱returnvalue:指定關閉窗口時保存到Message對象中的值,調用CloseWithReturn()函數的代碼段通過查看Message對象屬性的值得到關閉窗口時被關閉窗口傳遞的值。returnvalue參數必須是下述三種類型之一:String、Numeric、PowerObject返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數任何的值爲NULL,CloseWithReturn()函數返回NULL。
--------------------------------------------------------------------------------
Open()
功能 打開窗口。該函數有兩種語法格式:
語法一、打開編程時已知數據類型的窗口對象;
語法二、打開程序運行後才能確定數據類型的窗口對象。下面分別予以介紹:
語法一、打開編程時已知數據類型的窗口對象
語法Open ( windowvar {, parent } )
參數windowvar:要打開窗口的窗口名,可以使用窗口畫筆定義的窗口對象名,也可以使用該窗口對象的某個變量。Open()函數把打開窗口的引用放置到windowvar變量中parent:可選項,指定要打開窗口的父窗口,要打開窗口成爲父窗口的子窗口,只有當要打開窗口需要成爲某個窗口的子窗口時才需要指定該參數。如果應用程序使用Open()函數打開某個子窗口或彈出窗口而又省略了該參數,那麼當前活動窗口成爲被打開窗口的父窗口返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,Open()函數返回NULL。
語法二、打開程序運行後才能確定數據類型的窗口對象
語法Open ( windowvar, windowtype {, parent } )
參數windowvar:指定窗口變量名,Open()函數把打開窗口的引用放置到該變量中windowtype:string類型,指定要打開窗口的數據類型,該參數指定的窗口數據類型必須與windowvar參數的類型相同或是windowvar類型的後繼對象parent:可選項,指定要打開窗口的父窗口,要打開窗口成爲父窗口的子窗口,只有當要打開窗口需要成爲某個窗口的子窗口時才需要指定該參數。如果應用程序使用Open()函數打開某個子窗口或彈出窗口而又省略了該參數,那麼當前活動窗口成爲被打開窗口的父窗口返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,Open()函數返回NULL。
--------------------------------------------------------------------------------
OpenSheet()
功能在MDI框架窗口中打開MDI子窗口,並在指定菜單中創建選擇該子窗口的菜單項。
語法OpenSheet(sheetrefvar{,windowtype},mdiframe{,position{,arrangeopen}})
參數sheetrefvar:指定要作爲工作表打開的窗口名windowtype:string類型,可選項,指定要打開窗口的類型(也就是窗口畫筆中保存的窗口對象名)mdiframe:指定要放置工作表的MDI框架窗口名position:可選參數,指定所打開的工作表的名稱作爲一個菜單項顯示在第幾個菜單標題下面,缺省時,被放在倒數第二個菜單標題下,原因是,大多數商業軟件的最後兩個菜單標題是Window和Help,把工作表的名稱放到Window菜單標題中用於選擇工作表窗口是個合情合理的選擇arrangeopen:ArrangeOpen枚舉類型,可選參數,但如果選用了此參數,那麼position參數也必須同時指定。arrangeopen參數告訴系統如何顯示打開的工作表返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數任何的值爲NULL,OpenSheet()函數返回NULL。
用法arrangeopen參數的可能取值爲:Cascaded!把一個工作表放在另一個的上面,每個都向右下方偏移一點,這樣所有工作表的標題欄用戶都能看到。該值是OpenSheet()函數的缺省選擇。Layered!將工作表顯示在客戶區的左上角,並最大化工作表,使其充滿MDI框架窗口的整個客戶區。Original!操作動作與Cascaded!參數相同,只是不放大窗口,而以窗口定義時的大小顯示。
--------------------------------------------------------------------------------
OpenSheetWithParm()
功能 在MDI框架窗口中打開MDI子窗口,同時把參數保存在Message對象中進行傳遞。
語法OpenSheetWithParm(sheetrefvar,parameter{,windowtype},mdiframe{,position{,arrangeopen}}
參數sheetrefvar:指定要作爲工作表打開的窗口名parameter:指定要傳遞給打開工作表的數據,該數據保存在Message對象的屬性中, parameter參數的數據類型必須是下述三種類型之一:String、Numeric、PowerObjectwindowtype:string類型,可選項,指定是要打開窗口的類型(也就是窗口畫筆中保存的窗口對象名)mdiframe:指定要放置工作表的MDI框架窗口名position:可選參數,指定所打開的工作表的名稱作爲一個菜單項顯示在第幾個菜單標題下面,缺省時,被放在倒數第二個菜單標題下,原因是,大多數商業軟件的最後兩個菜單標題是Window和Help,把工作表的名稱放到Window菜單標題中用於選擇工作表窗口是個合情合理的選擇arrangeopen:ArrangeOpen枚舉類型,可選參數,但如果選用了此參數,那麼position參數也必須同時指定。arrangeopen參數告訴系統如何顯示打開的工作表返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數任何的值爲NULL,OpenSheet()函數返回NULL。
用法arrangeopen參數的可能取值爲:Cascaded!把一個工作表放在另一個的上面,每個都向右下方偏移一點,這樣所有工作表的標題欄用戶都能看到。該值是OpenSheet()函數的缺省選擇。Layered!將工作表顯示在客戶區的左上角,並最大化工作表,使其充滿MDI框架窗口的整個客戶區。Original!操作動作與Cascaded!參數相同,只是不放大窗口,而以窗口定義時的大小顯示。
--------------------------------------------------------------------------------
OpenWithParm()
功能帶參數打開窗口,與打開窗口的Open()函數相似,OpenWithParm()有兩種語法格式:
語法一、帶參數打開編程時已知數據類型的窗口對象;
語法二、帶參數打開程序運行後才能確定數據類型的窗口對象。下面分別予以介紹:
語法一、帶參數打開編程時已知數據類型的窗口對象
語法OpenWithParm(windowvar,parameter{,parent})
參數windowvar:要打開窗口的窗口名,可以使用窗口畫筆定義的窗口對象名,也可以使用該窗口對象的某個變量。Open()函數把打開窗口的引用放置到windowvar變量中parameter:指定要傳遞給打開窗口的數據,該數據保存在Message對象的屬性中,parameter參數的數據類型必須是下述三種類型之一:String、Numeric、PowerObjectparent:可選項,指定要打開窗口的父窗口,要打開窗口成爲父窗口的子窗口,只有當要打開窗口需要成爲某個窗口的子窗口時才需要指定該參數。如果應用程序使用Open()函數打開某個子窗口或彈出窗口而又省略了該參數,那麼當前活動窗口成爲被打開窗口的父窗口返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,OpenWithParm()函數返回NULL。
用法消息對象Message有三個屬性用於存儲OpenWithParm()函數傳遞給打開窗口的數據。根據parameter參數數據類型的不同,該參數的值保存在Message對象的不同屬性中。
語法二、帶參數打開程序運行後才能確定數據類型的窗口對象
語法OpenWithParm(windowvar,parameter,windowtype{,parent})
參數windowvar:指定窗口變量名,Open()函數把打開窗口的引用放置到該變量中parameter:指定要傳遞給打開窗口的數據,該數據保存在Message對象的屬性中,parameter參數的數據類型必須是下述三種類型之一:String、Numeric、PowerObjectwindowtype:string類型,指定要打開窗口的數據類型,該參數指定的窗口數據類型必須與windowvar參數的類型相同或是windowvar類型的後繼對象parent:可選項,指定要打開窗口的父窗口,要打開窗口成爲父窗口的子窗口,只有當要打開窗口需要成爲某個窗口的子窗口時才需要指定該參數。如果應用程序使用Open()函數打開某個子窗口或彈出窗口而又省略了該參數,那麼當前活動窗口成爲被打開窗口的父窗口返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,OpenWithParm()函數返回NULL。
---------------------------------------------------
IsAllArabic()
功能確定指定的字符串是否全部由阿拉伯文字符組成,該函數只能在PowerBuilder的阿拉伯文版本中使用。
語法IsAllArabic ( string )
參數string:要測試的字符串返回值Boolean。如果string的內容全部由阿拉伯文字符組成,那麼函數返回TRUE,否則返回FALSE。字符串中如果包含數字、空格、標點符號,那麼該函數也返回FALSE。如果PowerBuilder不是阿拉伯文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
IsAllHebrew()
功能確定指定的字符串是否全部由希伯來文字符組成,該函數只能在PowerBuilder的希伯來文版本中使用。
語法IsAllHebrew( string )
參數string:要測試的字符串返回值Boolean。如果string的內容全部由希伯來文字符組成,那麼函數返回TRUE,否則返回FALSE。字符串中如果包含數字、空格、標點符號,那麼該函數也返回FALSE。如果PowerBuilder不是希伯來文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
IsAnyArabic()
功能確定指定的字符串中是否包含阿拉伯文字符,該函數只能在PowerBuilder的阿拉伯文版本中使用。
語法IsAnyArabic( string )
參數string:要測試的字符串返回值Boolean。如果string中至少包含一個阿拉伯文字符成,那麼函數返回TRUE,否則返回FALSE。如果PowerBuilder不是阿拉伯文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
IsAnyHebrew()
功能確定指定的字符串中是否包含希伯來文字符,該函數只能在PowerBuilder的希伯來文版本中使用。
語法IsAnyArabic( string )
參數string:要測試的字符串返回值 Boolean。如果string中至少包含一個希伯來文字符,那麼函數返回TRUE,否則返回FALSE。如果PowerBuilder不是希伯來文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
IsArabic()
功能確定指定的字符是否是阿拉伯文字符,如果參數爲字符串,則只檢查左邊第一個字符是否是阿拉伯文字符。該函數只能在PowerBuilder的阿拉伯文版本中使用。
語法IsArabic ( character )
參數character:要測試的字符或字符串返回值Boolean。如果character是阿拉伯文字符,那麼函數返回TRUE,否則返回FALSE。如果PowerBuilder不是阿拉伯文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
IsArabicAndNumbers()
功能確定指定的字符串是否全部由阿拉伯文字符或數字組成,該函數只能在PowerBuilder的阿拉伯文版本中使用。
語法IsArabicAndNumbers ( string )
參數string:要測試的字符串返回值Boolean。如果string的內容全部由阿拉伯文字符或數字組成,那麼函數返回TRUE,否則返回FALSE。如果PowerBuilder不是阿拉伯文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
IsHebrew()
功能確定指定的字符是否是希伯來文字符,如果參數爲字符串,則只檢查左邊第一個字符是否是希伯來文字符。該函數只能在PowerBuilder的希伯來文版本中使用。
語法IsArabic ( character )
參數character:要測試的字符或字符串返回值Boolean。如果character是希伯來文字符,那麼函數返回TRUE,否則返回FALSE。如果PowerBuilder不是希伯來文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
IsHebrewAndNumbers()
功能確定指定的字符串是否全部由希伯來文字符或數字組成,該函數只能在PowerBuilder的希伯來文版本中使用。
語法IsArabicAndNumbers ( string )
參數string:要測試的字符串返回值Boolean。如果string的內容全部由希伯來文字符或數字組成,那麼函數返回TRUE,否則返回FALSE。如果PowerBuilder不是希伯來文版本,該函數總是返回FALSE。
--------------------------------------------------------------------------------
Reverse()
功能顛倒字符串中字符次序。
語法Reverse ( string )
參數string:要顛倒字符次序的字符串返回值String。函數執行成功時返回顛倒字符次序後的字符串,如果發生錯誤,那麼返回空字符串("")。用法Reverse()函數將一個字符串中最後一個字符放置到另一個字符串的第一個字符位置、倒數第二個字符放置在另一個字符串的第二個字符位置,以此類推。
--------------------------------------------------------------------------------
ToAnsi()
功能將Unicode字符轉換成ANSI字符。
語法ToAnsi ( string )
參數string:要進行轉換的Unicode編碼的字符串返回值Blob。函數執行成功時返回指定字符串對應的ANSI編碼的blob類型數據,發生錯誤時返回空值(NULL)。
--------------------------------------------------------------------------------
ToUnicode()
功能將ANSI字符轉換成Unicode字符。
語法ToUnicode( blob)
參數blob:要進行轉換的ANSI編碼的blob類型數據返回值String。函數執行成功時返回指定字符串對應的Unicode編碼的字符串,發生錯誤時返回空字符串。
------------------------------------------
Beep()
功能響鈴n次(n超過10時只響10次)。
語法Beep ( n )
參數n:數值類型,指定需要的響鈴次數。如果n的值大於10,那麼計算機只響鈴10次返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果參數n的值爲NULL,Beep()函數返回NULL。
--------------------------------------------------------------------------------
ClassName()
功能確定指定變量的類(數據類型)。
語法ClassName(variable)
參數variable:指定要確定其數據類型的變量返回值String。函數執行成功時返回指定變量的數據類型,發生錯誤時返回空字符串。如果參數variable的值爲NULL,ClassName()函數返回NULL。用法需要注意的是,ClassName()函數不能確定枚舉類型變量的類型,此時,ClassName()函數返回空字符串("")。
--------------------------------------------------------------------------------
DebugBreak()
功能暫停程序執行,打開調試器,進入調試模式。
語法DebugBreak ( )
返回值無用法 DebugBreak()函數可以幫助你調試應用程序。如果你希望應用程序執行某條語句後暫停執行,然後進入調試模式,那麼可以在該語句後面放上DebugBreak()函數,應用程序執行到DebugBreak()函數後,打開Debug(調試)窗口,並在其中顯示當前上下文信息。這種方式實現了應用程序在PowerBuilder開發環境中的即時調試功能。
--------------------------------------------------------------------------------
IntHigh()
功能得到Long型值的高位字。
語法IntHigh ( long )
參數long:long型值或變量返回值 Integer。函數執行成功時返回參數long的高位字,發生錯誤時返回-1。如果參數long的值爲NULL,IntHigh()函數返回NULL。用法IntHigh()函數通常用於分解外部C或C++語言函數的返回值和Windows消息。
--------------------------------------------------------------------------------
IntLow()
功能得到Long型值的低位字。
語法IntLow ( long )
參數long:long型值或變量返回值Integer。函數執行成功時返回參數long的低位字,發生錯誤時返回-1。如果參數long的值爲NULL,IntLow()函數返回NULL。用法IntLow()函數通常用於分解外部C或C++語言函數的返回值和Windows消息。示例請參看IntHigh()函數。
--------------------------------------------------------------------------------
IsValid()
功能檢查對象變量是否已經實例化,即實例變量的值是否是個有效的對象句柄。
語法IsValid ( objectname )
參數objectname:要檢測的對象名返回值Boolean。如果指定對象已經創建了對象實例,那麼IsValid()函數返回TRUE,否則返回FALSE。如果參數objectname的值爲NULL,IsValid()函數返回NULL。
--------------------------------------------------------------------------------
KeyDown()
功能檢查用戶是否按了鍵盤上指定的鍵。
語法KeyDown ( keycode )
參數 keycode:KeyCode枚舉類型或integer類型,指明要檢測的按鍵或某個鍵的ASCII值返回值Boolean。如果用戶按了keycode參數指定的按鍵,函數返回TRUE,否則返回FALSE。如果參數keycode的值爲NULL,KeyDown()函數返回NULL。用法KeyDown()函數通常在某個事件的事件處理程序中調用,它並不指明用戶鍵入了哪個字符,而是說明當前事件(即事件處理程序中調用KeyDown()函數的事件)發生時用戶正按着哪個按鍵。一般來說,應用程序在窗口的Key事件或控件的按鍵事件中調用KeyDown()函數,以檢測用戶是否按了某個特殊鍵。對控件來說,PowerBuilder沒有定義預定義的Key事件,這也沒有關係,如果在控件得到焦點後希望應用程序檢測用戶的按鍵,只要對該控件定義一個用戶事件,並把pbm_keydown
(其它控件)或pbm_dwnkey(數據窗口控件)映射到該用戶事件上即可。
--------------------------------------------------------------------------------
MessageBox()
功能顯示一個消息對話框。
語法MessageBox(title,text{,icon{,button{,default}}})
參數title:string類型,指定消息對話框的標題text:指定消息對話框中顯示的消息,該參數可以是數值數據類型、字符串或boolean值icon:Icon枚舉類型,可選項,指定要在該對話框左側顯示的圖標button:Button枚舉類型,可選項,指定顯示在該對話框底部的按鈕default:數值型,可選項,指定作爲缺省按鈕的按鈕編號,按鈕編號自左向右依次計數,缺省值爲1,如果該參數指定的編號超過了顯示的按鈕個數,那麼MessageBox()函數將使用缺省值返回值Integer。函數執行成功時返回用戶選擇的按鈕編號(例如1、2、3等),發生錯誤時返回-1。如果任何參數的值爲NULL,MessageBox()函數返回NULL。
用法當你的應用程序需要顯示一段簡短信息(比如顯示出錯、警告等信息)時,沒有必要自己從頭創建窗口、安排控件,使用MessageBox()函數既簡單又方便。用戶只有響應該窗口後,程序才能繼續運行下去。MessageBox()函數的icon參數指定顯示在窗口中的圖標,它是枚舉類型,可能取值爲: 取值 圖標Information! StopSign! Exclamation! Question! None! 無圖標其中Information!是Icon參數的缺省值。Button參數指定在窗口中顯示哪些按鈕,有效取值爲:取值中文Windows
95下顯示OK!“確定”按鈕OKCancel!“確定”、“取消”按鈕YesNo!“是”、“否”按鈕 YesNoCancel!“是”、“否”、“取消”按鈕RetryCancel!“重試”、“取消”按鈕AbortRetryIgnore!“終止”、“重試”、“忽略”按鈕
--------------------------------------------------------------------------------
PixelsToUnits()
功能 將像素值轉換爲PowerBuilder單位PBU。
語法PixelsToUnits ( pixels, type )
參數pixels:integer類型,指定要轉換爲PowerBuilder單位的像素數type:ConvertType枚舉類型,指定按哪個方向進行轉換。有效取值爲:XPixelsToUnits! - 按水平方向轉換像素;YPixelsToUnits! - 按垂直方向轉換像素返回值Integer。函數執行成功時返回pixels參數指定像素數按指定方向轉換成的PowerBuilder單位數,發生錯誤時返回-1。如果任何參數的值爲NULL,PixelsToUnits()函數返回NULL。用法窗口中水平方向和垂直方向相同的像素數表示的距離並不相同。如果你使用水平方向和垂直方向相同的像素數繪製一個方框,那麼你會看到,該方框不是正方形而是個矩形,而使用PBU計量的相同單位數將繪出正方形。因此,在進行單位轉換時,需要指明按那麼方向進行轉換。
--------------------------------------------------------------------------------
PopulateError()
功能以應用程序定製的錯誤號和錯誤信息填充Error對象,該函數不觸發應用對象的SystemError事件。
語法PopulateError ( number, text )
參數number:integer類型,指定要保存到Error對象number屬性中的值text:string類型,指定要保存到Error對象text屬性中的值返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。
用法當應用程序需要根據變量的當前取值來定製Error對象時,可以使用PopulateError()函數來填充Error對象的number和text屬性,同時該函數根據上下文自動填充Error對象的其它屬性。定製了Error對象後,應用程序可以使用不帶參數的SignalError()函數觸發應用對象的SystemError事件。這樣,在SystemError事件的事件處理程序中可以編寫處理定製錯誤和系統錯誤的通用代碼。如果應用程序沒有對SystemError事件編寫事件處理程序,那麼SignalError()函數什麼也不做。
--------------------------------------------------------------------------------
RGB()
功能將代表紅、綠、藍三原色的三個整數組合成一個表示顏色的長整數。
語法RGB ( red, green, blue )
參數red:integer類型,指定顏色中的紅色分量強度,有效值在0到255之間green:integer類型,指定顏色中的綠色分量強度,有效值在0到255之間blue:integer類型,指定顏色中的藍色分量強度,有效值在0到255之間返回值Long。函數執行成功時返回由指定分量確定的顏色,用長整數表示。發生錯誤時返回-1。如果任何參數的值爲NULL,RGB()函數返回NULL。
用法RGB()函數使用下述公式計算表示顏色的長整數:65536 * Blue+ 256 * Green+ Red其中,Blue代表藍色分量,Green代表綠色分量,Red代表紅色分量。各分量中,數值越小,亮度越低,數值越大,亮度越高。例如,RGB ( 0, 0, 0 )爲黑色(亮度最低),RGB ( 255, 255,255 )爲白色(亮度最高)。
--------------------------------------------------------------------------------
SetNull()
功能將指定變量的值設置爲NULL。這裏的變量可以是除數組、結構、自動實例化對象之外的任何數據類型。
語法SetNull ( anyvariable )
參數anyvariable:要將其值設置爲NULL的變量返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值爲NULL,SetNull()函數返回NULL。用法PowerBuilder應用程序在說明變量時,並不自動地將其初值設置爲NULL,而是根據類型的不同而設置不同的初值,比如,數值類型的變量自動初始化爲0,字符串型變量自動初始化爲空字符串("")。因此,如果需要將某個變量的值設置爲NULL,就需要使用SetNull()函數來完成任務了。一般來說,NULL值往往應用在數據庫值未確定的列上。
--------------------------------------------------------------------------------
SetPointer()
功能設置鼠標指針。
語法SetPointer ( type )
參數type:Pointer枚舉類型,指明要設置爲哪種鼠標指針返回值Pointer。返回更換前的鼠標指針,以便於應用程序恢復原有指針。如果參數type的值爲NULL,SetPointer()函數返回NULL。用法type參數的可能取值爲:Arrow!、Cross!、Beam!、HourGlass!、SizeNS!、SizeNESW!、SizeWE!、SizeNWSE!、UpArrow!。
--------------------------------------------------------------------------------
SignalError()
功能以編程方式觸發應用對象的SystemError事件。
語法SignalError ( { number }, { text } )
參數number:integer類型,可選項,指定出錯編號,該編號將保存到Error對象的number屬性中text:string類型,可選項,指定出錯信息,該信息將保存到Error對象的text屬性中返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。用法SignalError()函數通常用於測試應用程序的出錯處理代碼,它以人工方式產生錯誤,以此模擬應用程序運行過程中可能出現的錯誤。我們知道,應用程序本身產生錯誤的條件往往不容易在測試時遇到。當應用程序使用PopulateError()函數定製了Error對象後,可以以不帶參數的方式調用SignalError()函數,由該函數觸發應用對象的SystemError事件。如果我們在調用SignalError()函數時指定了參數number和text,那麼SignalError()函數將根據上下文填充Error對象的所有屬性,然後觸發應用對象的SystemError事件。如果應用程序沒有對應用對象的SystemError事件編寫事件處理程序,那麼SignalError()函數什麼也不做。
--------------------------------------------------------------------------------
UnitsToPixels()
功能將PowerBuilder單位(PBU)轉換爲像素。
語法UnitsToPixels ( units, type )
參數units:integer類型,指定要轉換爲像素的PowerBuilder單位(PBU)數type:ConvertType枚舉類型,指定按哪個方向進行轉換。有效取值爲:XUnitsToPixels! - 按水平方向轉換PBU;YUnitsToPixels! - 按垂直方向轉換PBU返回值Integer。函數執行成功時返回units參數指定PBU數按指定方向轉換成的像素數,發生錯誤時返回-1。如果任何參數的值爲NULL,UnitsToPixels()函數返回NULL。用法窗口中水平方向和垂直方向相同的像素數表示的距離並不相同。如果你使用水平方向和垂直方向相同的像素數繪製一個方框,那麼你會看到,該方框不是正方形而是個矩形,而使用PBU計量的相同單位數將繪出正方形。因此,在進行單位轉換時,需要指明按那麼方向進行轉換。
-------------------------------
These function descriptions are based on PB 6. There are do some extenstions for some of catagories, please read the online help.
|