GetFocus()
功能確定當前焦點位于哪個控件上。
語法GetFocus ( )
返回值GraphicObject。函數執行成功時返回當前得到焦點控件的引用,發生錯誤時返回無效引用。用法應用程序利用IsValid()函數可以檢測GetFocus()是否返回有效的控件引用。同時,使用TypeOf()函數可以確定控件的類型。
Post()
功能將指定消息加入到某個窗口的消息隊列中,這個窗口既可以是PowerBuilder應用的窗口,也可以是其它應用的窗口。
語法Post( handle, messageno, word, long )
參數handle:long類型,指定窗口的系統句柄,將向該窗口郵寄消息messageno:UnsignedInteger類型,指定要郵寄的消息號 word:long類型,指定與消息一起郵寄的word類參數值。如果messageno參數指定的消息不使用該參數,那么將這個參數的值設置為0long:long類型或string,指定與消息一起郵寄的long型參數值或字符串返回值Boolean。如果任何參數的值為NULL,Post()函數返回NULL。
用法Post()函數用于向窗口發送非PowerBuilder預定義事件的消息,這個窗口可以是PowerBuilder應用的窗口,也可以是其它應用的窗口。Post()函數把發送的消息放置在指定窗口消息隊列的尾部,然后返回到應用程序中,它并不等待相應事件事件處理程序的執行。這一點與Send()函數不同,Send()函數直接觸發指定窗口相應的事件,執行事件處理程序后返回到調用應用中。因此,我們說Post()函數采用的是異步方式,Send()函數采用的是同步方式。Post()函數的參數handle指定接收消息的窗口句柄,對PowerBuilder窗口來說,使用Handle()函數可以得到該句柄。對其它應用程序的窗口來說,可以調用系統API函數查找窗口并得到相應窗口的句柄。如果應用程序要郵寄PowerBuilder定義事件(包括預定義事件和用戶定義事件),那么使用PostEvent()函數既簡單有方便。當應用程序在long參數位置指定一個字符串時,Post()函數復制一個該字符串的副本,然后將副本的地址傳送給指定窗口。
ProfileInt()
功能從初始化文件(.ini)中讀取整型設置值。
語法ProfileInt ( filename, section, key, default )
參數filename:string類型,指定初始化文件的名稱,可以包括路徑,省略路徑時,該函數按操作系統的標準路徑搜索指定文件section:string類型,指定要得到的值所在的節(Section)key:string類型,指定要得到的值的名稱,不用區分大小寫default:integer類型,當指定的文件、節名、項目名不存在或不能轉換為整數時,函數返回該參數指定的值返回值Integer。函數執行成功時,在指定的文件、節名、項目名不存在任何錯誤的情況下,函數返回相應項的值;如果指定的文件、節名、項目名不存在或不能轉換為整數時,函數返回default參數指定的缺省值。如果發生錯誤,函數返回-1。如果任何參數的值為NULL,ProfileInt()函數返回NULL。
ProfileString()
功能從初始化文件(.ini)中讀取字符串型設置值。
語法ProfileString ( filename, section, key, default )
參數filename:string類型,指定初始化文件的名稱,可以包括路徑,省略路徑時,該函數按操作系統的標準路徑搜索指定文件section:string類型,指定要得到的值所在的節(Section)key:string類型,指定要得到的值的名稱,不用區分大小寫default:string類型,當指定的文件、節名、項目名不存在時,函數返回該參數指定的值返回值String。函數執行成功時,在指定的文件、節名、項目名不存在任何錯誤的情況下,函數返回相應項的值;如果指定的文件、節名、項目名不存在,tb函數返回default參數指定的缺省值。如果發生錯誤,函數返回空字符串。如果任何參數的值為NULL,ProfileString()函數返回NULL。
Restart()
功能停止所有程序段的執行、關閉所有窗口、提交事務、斷開與數據庫的連接,然后重新啟動應用程序。
語法Restart()
返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。
Run()
功能運行指定的應用程序。
語法Run ( string {, windowstate } )
參數string:string類型,指定要運行的應用程序的名稱,其中可以包括路徑以及相應的參數,就像在命令行中鍵入的那樣windowstate:WindowState枚舉類型,可選項,指定程序運行時的窗口狀態。有效取值為:Maximized! - 最大化窗口;Minimized! - 最小化窗口;Normal! - 缺省值,正常窗口返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值為NULL,Run()函數返回NULL。
用法使用Run()函數,應用程序能夠啟動操作系統中的任何程序。當在Run()參數中指定了要啟動應用程序的參數時,參數的意義、格式、個數等由具體的應用程序確定。如果在Run()函數的string參數中指定了文件名但沒有給出擴展名時,PowerBuilder認為該文件的擴展名為.EXE。要運行擴展名不是.EXE的應用程序(比如.BAT, .COM, 或.PIF),必須在Run()函數的參數中指定文件的擴展名。
Send()
功能向窗口發送指定的消息并立即執行相應的事件處理程序。
語法Send( handle, messageno, word, long )
參數handle:long類型,指定窗口的系統句柄,將向該窗口發送消息messageno:UnsignedInteger類型,指定要發送的消息號word:long類型,指定與消息一起發送的word類參數值。如果messageno參數指定的消息不使用該參數,那么將這個參數的值設置為0long:long類型或string,指定與消息一起發送的long型參數值或字符串返回值Long。函數執行成功時返回Windows系統調用SendMessage()的返回值,發生錯誤時返回-1。如果任何參數的值為NULL,Send()函數返回NULL。
用法Send()函數用于向窗口發送非PowerBuilder預定義事件的消息,這個窗口可以是PowerBuilder應用的窗口,也可以是其它應用的窗口。Send()函數直接觸發指定窗口相應的事件,執行事件處理程序后返回到調用應用中,這一點與Post()函數不同,Post()函數把發送的消息放置在指定窗口消息隊列的尾部,然后返回到應用程序中,它并不等待相應事件事件處理程序的執行。因此,我們說Post()函數采用的是異步方式,Send()函數采用的是同步方式。Send()函數的參數handle指定接收消息的窗口句柄,對PowerBuilder窗口來說,使用Handle()函數可以得到該句柄。對其它應用程序的窗口來說,可以調用系統API函數查找窗口并得到相應窗口的句柄。實際上,Send()函數把它的各個參數直接傳送給Windows的系統調用SendMessage()。在各種C++開發工具的WINDOWS.H文件中可以查到各消息編號。如果應用程序要發送PowerBuilder定義事件(包括預定義事件和用戶定義事件),那么使用TriggerEvent()函數既簡單有方便。當應用程序在long參數位置指定一個字符串時,Send()函數復制一個該字符串的副本,然后將副本的地址傳送給指定窗口。
SetProfileString()
功能設置初始化文件中指定項的值。
語法SetProfileString ( filename, section, key, value )
參數filename:string類型,指定初始化文件的名稱,可以包括路徑,省略路徑時,該函數按操作系統的標準路徑搜索指定文件section:string類型,指定要設置的值所在的節(Section)key:string類型,指定要設置的值的名稱,不用區分大小寫default:string類型,指定要設置項的值返回值Integer。函數執行成功時返回1,指定的文件未找到或指定的文件不能訪問時函數返回-1。如果任何參數的值為NULL,SetProfileString()函數返回NULL。
ShowHelp()
功能顯示應用程序幫助,該幫助使用Microsoft Windows幫助系統進行操作。
語法ShowHelp ( helpfile, helpcommand {, typeid } )
參數helpfile:string類型,指定幫助文件的名稱helpcommand:HelpCommand枚舉類型,指定顯示幫助的格式。有效取值為:Index! - 顯示目錄主題,使用該值時不要指定typeid參數;Keyword! - 轉移到由指定關鍵字確定的主題;Topic! - 顯示指定主題的幫助typeid:可選項,指定幫助主題返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值為NULL,ShowHelp()函數返回NULL。
SignalError()
功能觸發應用對象的SystemError事件,通常用于代碼調試。
語法SignalError ( { number }, { text } )
參數number:integer類型,可選項,其值將保存到Error對象的number屬性中text:string類型,可選項,其值將保存到Error對象的text屬性中返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。
Yield()
功能將控制權轉移給其它圖形對象,包括非PowerBuilder對象。該函數檢測消息隊列,如果有消息,就把消息取出。利用該函數可以在執行耗時較長的操作時把控制權轉讓給其它應用。
語法Yield()
返回值Boolean。如果在消息隊列中提取到了消息,那么函數返回TRUE,否則返回FALSE。用法正常情況下,PowerBuilder應用程序在執行一段代碼(比如函數或事件處理程序)的過程中不響應用戶的操作。對耗時短暫的代碼段來說,這種處理方式沒有什么不妥的地方,但是,如果某個代碼段的執行耗時較長,應用程序又希望為用戶提供更多的控制權,那么需要在這段代碼中插入Yield()函數,讓用戶能夠進行其它操作,特別在循環執行的代碼中更應該如此。應用程序執行Yield()函數后,如果發現消息隊列中存在消息,它將允許對象處理這些消息,處理之后,繼續Yield()函數后面代碼的執行。因此,代碼中插入Yield()函數將降低應用程序的運行效率。
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。
CloseChannel()
功能關閉先前用OpenChannel()函數打開的DDE服務器的通道。
語法CloseChannel ( handle {, windowhandle } )
參數handle:long類型,通道句柄,指明要關閉的DDE通道windowhandle:long類型,可選項,指明用做DDE客戶的PowerBuilder窗口的窗口句柄返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-2通道不能被關閉-3不能確認服務器-9Handle參數的值為NULL
ExecRemote()
功能請求DDE服務器應用程序執行命令。該函數有兩種語法格式:語法一、直接向DDE服務器應用發送一條命令(冷連接方式);語法二、應用程序打開某個通道后向DDE服務器應用發送命令(熱連接方式)。下面分別予以介紹。
語法一、直接向DDE服務器應用發送一條命令(冷連接方式);
語法ExecRemote ( command, applname, topicname )
參數command:string類型,其值為希望DDE服務器應用執行的命令,命令格式和語法需要參看DDE服務器應用的文檔applname:string類型,指定服務器應用的DDE名稱topicname:string類型,指定命令中要使用的DDE應用的數據或實例返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-3不能終止服務器如果任何參數的值為NULL,ExecRemote()函數返回NULL。
語法二、應用程序打開某個通道后向DDE服務器應用發送命令(熱連接方式)
語法ExecRemote ( command, handle {, windowhandle } )
參數command:string類型,其值為希望DDE服務器應用執行的命令,命令格式和語法需要參看DDE服務器應用的文檔handle:long類型,指定使用的DDE通道句柄windowhandle:long類型,可選項,指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數時,當前應用中的活動窗口用做DDE客戶返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-9handle參數的值為NULL
GetDataDDE()
功能從熱連接服務器應用中獲取數據,并將其保存到指定的字符串變量中。
語法GetDataDDE ( string )
參數string:string類型變量,用于保存接收到的數據返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值為NULL,GetDataDDE()函數返回NULL。
GetDataDDEOrigin()
功能確定來自熱連接DDE服務器應用的數據源,成功時將應用的DDE標識保存在參數指定的變量中。
語法GetDataDDEOrigin ( applstring, topicstring, itemstring )
參數applstring:string類型變量,用于保存服務器應用的名稱topicstring:string類型變量,用于保存主題(比如,在Excel中,主題可以是REGION.XLS)itemstring:string類型變量,用于保存數據項標識(比如,在Excel中,數據項標識可以是R1C2)返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果任何參數的值為NULL,GetDataDDEOrigin()函數返回NULL。
GetRemote()
功能請求服務器應用傳送數據,該函數有兩種格式:語法一、請求DDE服務器應用提供數據并將數據保存在變量中,該格式不要求事先打開通道,適用于僅發出少數幾個請求的情況;語法二、請求DDE服務器應用提供數據并將數據保存在變量中,該格式適用于熱連接的情況,即應用程序已經與服務器建立通道。下面分別予以介紹。
語法一、請求DDE服務器應用提供數據并將數據保存在變量中,該格式不要求事先打開通道,適用于僅發出少數幾個請求的情況。
語法GetRemote ( location, target, applname, topicname )
參數location:string類型,指明要從DDE服務器的哪個位置返回數據。位置的表達方式由具體的DDE服務器決定target:string類型變量,用于保存返回的數據applname:string類型,指定DDE服務器應用的DDE名稱topicname:string類型,指定命令中要使用的DDE應用的數據或實例返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕如果任何參數的值為NULL,GetRemote()函數返回NULL。
語法二、請求DDE服務器應用提供數據并將數據保存在變量中,該格式適用于熱連接的情況,即應用程序已經與服務器建立通道。語法GetRemote ( location, target, handle {, windowhandle } )參數location:string類型,指明要從DDE服務器的哪個位置返回數據。位置的表達方式由具體的DDE服務器決定target:string類型變量,用于保存返回的數據handle:long類型,指定使用的DDE通道句柄 windowhandle:long類型,可選項,指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數時,當前應用中的活動窗口用做DDE客戶。使用handle()函數可以得到窗口句柄。返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-9Handle參數的值為NULL
OpenChannel()
功能打開連接DDE服務器的通道。
語法OpenChannel ( applname, topicname {, windowhandle } )applname:string類型,指定DDE服務器應用的DDE名稱topicname:string類型,指定命令中要使用的DDE應用的數據或實例windowhandle:long類型,可選項,指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數時,當前應用中的活動窗口用做DDE客戶返回值Long。函數執行成功時返回一個正數作為已打開通道的句柄,發生錯誤時返回下述值之一:-1打開失敗-9句柄為NULL
RespondRemote()
功能發送一條DDE消息,指示是否接受來自遠程DDE應用的命令或數據。
語法RespondRemote ( boolean )
參數boolean:其值為boolean量的邏輯表達式,TRUE表示接收先前收到的命令或數據,FALSE表示不接收先前收到的命令或數據返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果boolean參數的值為NULL,RespondRemote()函數返回NULL。
SetRemote()
功能請求服務器應用把指定項設置為指定值。該函數有兩種語法格式:語法一、請求DDE服務器應用接收保存在指定位置的數據,該格式不要求事先打開通道,適用于僅發出少數幾個請求的情況;語法二、請求DDE服務器應用接收保存在指定位置的數據,該格式適用于熱連接的情況,即應用程序已經與服務器建立通道。下面分別予以介紹。
語法一、請求DDE服務器應用接收保存在指定位置的數據,該格式不要求事先打開通道,適用于僅發出少數幾個請求的情況。
語法SetRemote ( location, value, applname, topicname )
參數location:string類型,指明要DDE服務器的哪一部分接收數據。位置的表達方式由具體的DDE服務器決定value:string類型變量,指定發送給DDE服務器的數據applname:string類型,指定DDE服務器應用的DDE名稱topicname:string類型,指定要接收數據的DDE應用的數據或實例返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕如果任何參數的值為NULL,SetRemote()函數返回NULL。
語法二、請求DDE服務器應用接收保存在指定位置的數據,該格式適用于熱連接的情況,即應用程序已經與服務器建立通道。
語法SetRemote ( location, value, handle {, windowhandle } )
參數location:string類型,指明要DDE服務器的哪一部分接收數據。位置的表達方式由具體的DDE服務器決定value:string類型變量,指定發送給DDE服務器的數據handle:long類型,指定使用的DDE通道句柄windowhandle:long類型,可選項,指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數時,當前應用中的活動窗口用做DDE客戶返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-9Handle參數的值為NULL
StartHotLink()
功能建立與DDE服務器應用的熱連接,熱連接建立之后,DDE服務器端相關數據的變化會立即觸發PowerBuilder應用相關窗口的HotLinkAlarm事件。
語法StartHotLink ( location, applname, topic )
參數location:string類型,指明DDE服務器哪一部分數據變化時觸發窗口的HotLinkAlarm事件。位置的表達方式由具體的DDE服務器決定applname:string類型,指定DDE服務器應用的DDE名稱topicname:string類型,指定數據改變將觸發窗口的HotLinkAlarm事件的DDE應用的數據或實例返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1無指定服務器-2請求被拒絕如果任何參數的值為NULL,StartHotLink()函數返回NULL。
StopHotLink()
功能關閉與DDE服務器應用的熱連接。
語法StopHotLink ( location, applname, topic )
參數location:string類型,指明要終止DDE服務器哪一部分的熱連接。位置的表達方式由具體的DDE服務器決定applname:string類型,指定DDE服務器應用的DDE名稱topicname:string類型,指定要終止熱連接的DDE應用的數據或實例返回值Integer。函數執行成功時返回1,發生錯誤時返回下述值之一:-1連接未曾啟動-2請求被拒絕-3不能終止服務器如果任何參數的值為NULL,StopHotLink()函數返回NULL。
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個定時器。
Day()
功能得到日期型數據中的號數(1到31之間的整數值)。
語法Day ( date )
參數date:要得到號數的日期值返回值 Integer。函數執行成功時返回號數(1到31之間的整數值)。如果date參數的值為NULL,則Day()函數返回NULL。
DayName()
功能得到指定日期是一周中的星期幾(例如,Sunday, Monday...)。
語法DayName ( date )
參數date:date類型值或變量返回值String。函數執行成功時返回指定日期的星期表示(例如,Sunday, Monday...)。如果date參數的值為NULL,則DayName()函數返回NULL。
DayNumber()
功能得到日期型數據是一星期中的第幾天(用1到7之間的整數表示,星期天為1,星期一為2,...)。
語法DayNumber ( date )
參數date:date類型值或變量返回值Integer。函數執行成功時返回指定日期是一星期中的第幾天(用1~7表示,星期天為1,星期一為2,...)。如果date參數的值為NULL,則DayNumber()函數返回NULL。
DaysAfter()
功能得到兩個日期間的天數。
語法DaysAfter ( date1, date2 )
參數date1:date類型,指定起始日期date2:date類型,指定終止日期返回值Long。函數執行成功時得到兩個日期之間的天數。如果date2的日期在date1的前面,那么DaysAfter()函數返回負值。如果任何參數的值為NULL,則DaysAfter()函數返回NULL。
Hour()
功能得到時間值中的小時,采用24小時制。
語法Hour ( time )
參數time:time類型的值返回值Integer。函數執行成功時得到time參數中的小時(00到23之間)。如果time參數的值為NULL,則Hour()函數返回NULL。
Minute()
功能得到時間值中的分鐘,有效值在00~59之間。
語法Minute ( time )
參數time:time類型的值返回值Integer。函數執行成功時得到time參數中的分鐘(00到59之間)。如果time參數的值為NULL,則Minute()函數返回NULL。
Month()
功能得到日期值中的月份,有效值在1~12之間。
語法Month ( date )
參數date:date類型的值返回值Integer。函數執行成功時得到date參數中的月份(1到12之間)。如果date參數的值為NULL,則Month()函數返回NULL。
Now()
功能得到客戶機的當前系統時間,返回值為Time類型。
語法Now()返回值Time。該函數返回客戶機的當前系統時間。
RelativeDate()
功能得到指定日期前多少天或后多少天的日期。
語法RelativeDate(date,n)
參數date:Date類型,指定基準日期n:integer類型,指定天數返回值Date。當n的值大于0時返回參數date指定日期后第n天的日期;當n的值小于0時返回參數date指定日期前第n天的日期。如果任何參數的值為NULL,則RelativeDate()函數返回NULL。
RelativeTime()
功能得到指定時間前多少秒或后多少秒的時間,采用24小時制。
語法RelativeTime ( time, n )參數time:time類型,指定基準時間n:long類型,指定秒數返回值Time。當n的值大于0時返回參數time指定時間后第n秒的時間;當n的值小于0時返回參數time指定時間前第n秒的時間。如果任何參數的值為NULL,則RelativeTime()函數返回NULL。
Second()
功能得到時間值中的秒,有效值在00~59之間。
語法Second ( time )
參數time:time類型的值返回值Integer。函數執行成功時得到time參數中的秒(00到59之間)。如果time參數的值為NULL,則Second()函數返回NULL。
Today()
功能得到當前系統日期,在某些情況下,同時得到當前系統時間。
語法Today()返回值Date。該函數返回當前系統日期。用法單獨調用Today()函數時,該函數總是返回當前系統日期,但是,雖然Today()函數的返回值類型為Date,在該函數用做某些函數的參數、而該參數要求DateTime類型的值時,Today()函數也能夠在返回當前系統日期的同時返回當前系統時間。再如,Today()函數作為數據窗口控件SetItem()函數的參數,該函數參數中指定的數據窗口列的數據類型為DateTime,那么當前系統日期和時間將同時設置到數據窗口指定項中。
Year()
功能得到日期值中的年度(有效取值1000到3000)。
語法Year(date)
參數date:date類型的值返回值Integer。函數執行成功時得到date參數中的年份(采用四位數字),發生錯誤時返回1900,如果date參數的值為NULL,則Year()函數返回NULL。用法當應用程序把有兩位數字表示年份的字符串轉換成日期時,PowerBuilder根據下述規則選擇世紀:如果年份值在00到49之間,PowerBuilder將年份中的世紀(前兩位數字)當作20;如果年份值在50到99之間,PowerBuilder將年份中的世紀(前兩位數字)當作19。比如,字符串"20-10-25"被PowerBuilder轉換為2020-10-25;字符串"98-10-25"被PowerBuilder轉換為1998-10-25。因此,如果應用程序中需要指定1950年之前的日期,應該使用四位數字表示年份,以避免引起歧義。PowerBuilder能夠處理的年份從1000到3000之間。
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。