tbwshc

          pb常用函數(shù)(二)(轉(zhuǎn))

          GetFocus()
          功能確定當(dāng)前焦點(diǎn)位于哪個控件上。
          語法GetFocus ( )
          返回值GraphicObject。函數(shù)執(zhí)行成功時返回當(dāng)前得到焦點(diǎn)控件的引用,發(fā)生錯誤時返回?zé)o效引用。用法應(yīng)用程序利用IsValid()函數(shù)可以檢測GetFocus()是否返回有效的控件引用。同時,使用TypeOf()函數(shù)可以確定控件的類型。
          Post()
          功能將指定消息加入到某個窗口的消息隊(duì)列中,這個窗口既可以是PowerBuilder應(yīng)用的窗口,也可以是其它應(yīng)用的窗口。
          語法Post( handle, messageno, word, long )
          參數(shù)handlelong類型,指定窗口的系統(tǒng)句柄,將向該窗口郵寄消息messagenoUnsignedInteger類型,指定要郵寄的消息號 wordlong類型,指定與消息一起郵寄的word類參數(shù)值。如果messageno參數(shù)指定的消息不使用該參數(shù),那么將這個參數(shù)的值設(shè)置為0longlong類型或string,指定與消息一起郵寄的long型參數(shù)值或字符串返回值Boolean。如果任何參數(shù)的值為NULL,Post()函數(shù)返回NULL。
          用法Post()函數(shù)用于向窗口發(fā)送非PowerBuilder預(yù)定義事件的消息,這個窗口可以是PowerBuilder應(yīng)用的窗口,也可以是其它應(yīng)用的窗口。Post()函數(shù)把發(fā)送的消息放置在指定窗口消息隊(duì)列的尾部,然后返回到應(yīng)用程序中,它并不等待相應(yīng)事件事件處理程序的執(zhí)行。這一點(diǎn)與Send()函數(shù)不同,Send()函數(shù)直接觸發(fā)指定窗口相應(yīng)的事件,執(zhí)行事件處理程序后返回到調(diào)用應(yīng)用中。因此,我們說Post()函數(shù)采用的是異步方式,Send()函數(shù)采用的是同步方式。Post()函數(shù)的參數(shù)handle指定接收消息的窗口句柄,對PowerBuilder窗口來說,使用Handle()函數(shù)可以得到該句柄。對其它應(yīng)用程序的窗口來說,可以調(diào)用系統(tǒng)API函數(shù)查找窗口并得到相應(yīng)窗口的句柄。如果應(yīng)用程序要郵寄PowerBuilder定義事件(包括預(yù)定義事件和用戶定義事件),那么使用PostEvent()函數(shù)既簡單有方便。當(dāng)應(yīng)用程序在long參數(shù)位置指定一個字符串時,Post()函數(shù)復(fù)制一個該字符串的副本,然后將副本的地址傳送給指定窗口。
          ProfileInt()
          功能從初始化文件(.ini)中讀取整型設(shè)置值。
          語法ProfileInt ( filename, section, key, default )
          參數(shù)filenamestring類型,指定初始化文件的名稱,可以包括路徑,省略路徑時,該函數(shù)按操作系統(tǒng)的標(biāo)準(zhǔn)路徑搜索指定文件sectionstring類型,指定要得到的值所在的節(jié)(Sectionkeystring類型,指定要得到的值的名稱,不用區(qū)分大小寫defaultinteger類型,當(dāng)指定的文件、節(jié)名、項(xiàng)目名不存在或不能轉(zhuǎn)換為整數(shù)時,函數(shù)返回該參數(shù)指定的值返回值Integer。函數(shù)執(zhí)行成功時,在指定的文件、節(jié)名、項(xiàng)目名不存在任何錯誤的情況下,函數(shù)返回相應(yīng)項(xiàng)的值;如果指定的文件、節(jié)名、項(xiàng)目名不存在或不能轉(zhuǎn)換為整數(shù)時,函數(shù)返回default參數(shù)指定的缺省值。如果發(fā)生錯誤,函數(shù)返回-1。如果任何參數(shù)的值為NULLProfileInt()函數(shù)返回NULL
          ProfileString()
          功能從初始化文件(.ini)中讀取字符串型設(shè)置值。
          語法ProfileString ( filename, section, key, default )
          參數(shù)filenamestring類型,指定初始化文件的名稱,可以包括路徑,省略路徑時,該函數(shù)按操作系統(tǒng)的標(biāo)準(zhǔn)路徑搜索指定文件sectionstring類型,指定要得到的值所在的節(jié)(Sectionkeystring類型,指定要得到的值的名稱,不用區(qū)分大小寫defaultstring類型,當(dāng)指定的文件、節(jié)名、項(xiàng)目名不存在時,函數(shù)返回該參數(shù)指定的值返回值String。函數(shù)執(zhí)行成功時,在指定的文件、節(jié)名、項(xiàng)目名不存在任何錯誤的情況下,函數(shù)返回相應(yīng)項(xiàng)的值;如果指定的文件、節(jié)名、項(xiàng)目名不存在,tb函數(shù)返回default參數(shù)指定的缺省值。如果發(fā)生錯誤,函數(shù)返回空字符串。如果任何參數(shù)的值為NULL,ProfileString()函數(shù)返回NULL。
          Restart()
          功能停止所有程序段的執(zhí)行、關(guān)閉所有窗口、提交事務(wù)、斷開與數(shù)據(jù)庫的連接,然后重新啟動應(yīng)用程序。
          語法Restart()
          返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1
          Run()
          功能運(yùn)行指定的應(yīng)用程序。
          語法Run ( string {, windowstate } )
          參數(shù)stringstring類型,指定要運(yùn)行的應(yīng)用程序的名稱,其中可以包括路徑以及相應(yīng)的參數(shù),就像在命令行中鍵入的那樣windowstateWindowState枚舉類型,可選項(xiàng),指定程序運(yùn)行時的窗口狀態(tài)。有效取值為:Maximized! - 最大化窗口;Minimized! - 最小化窗口;Normal! - 缺省值,正常窗口返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULL,Run()函數(shù)返回NULL。
          用法使用Run()函數(shù),應(yīng)用程序能夠啟動操作系統(tǒng)中的任何程序。當(dāng)在Run()參數(shù)中指定了要啟動應(yīng)用程序的參數(shù)時,參數(shù)的意義、格式、個數(shù)等由具體的應(yīng)用程序確定。如果在Run()函數(shù)的string參數(shù)中指定了文件名但沒有給出擴(kuò)展名時,PowerBuilder認(rèn)為該文件的擴(kuò)展名為.EXE。要運(yùn)行擴(kuò)展名不是.EXE的應(yīng)用程序(比如.BAT, .COM, .PIF),必須在Run()函數(shù)的參數(shù)中指定文件的擴(kuò)展名。
          Send()
          功能向窗口發(fā)送指定的消息并立即執(zhí)行相應(yīng)的事件處理程序。
          語法Send( handle, messageno, word, long )
          參數(shù)handlelong類型,指定窗口的系統(tǒng)句柄,將向該窗口發(fā)送消息messagenoUnsignedInteger類型,指定要發(fā)送的消息號wordlong類型,指定與消息一起發(fā)送的word類參數(shù)值。如果messageno參數(shù)指定的消息不使用該參數(shù),那么將這個參數(shù)的值設(shè)置為0longlong類型或string,指定與消息一起發(fā)送的long型參數(shù)值或字符串返回值Long。函數(shù)執(zhí)行成功時返回Windows系統(tǒng)調(diào)用SendMessage()的返回值,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULLSend()函數(shù)返回NULL
          用法Send()函數(shù)用于向窗口發(fā)送非PowerBuilder預(yù)定義事件的消息,這個窗口可以是PowerBuilder應(yīng)用的窗口,也可以是其它應(yīng)用的窗口。Send()函數(shù)直接觸發(fā)指定窗口相應(yīng)的事件,執(zhí)行事件處理程序后返回到調(diào)用應(yīng)用中,這一點(diǎn)與Post()函數(shù)不同,Post()函數(shù)把發(fā)送的消息放置在指定窗口消息隊(duì)列的尾部,然后返回到應(yīng)用程序中,它并不等待相應(yīng)事件事件處理程序的執(zhí)行。因此,我們說Post()函數(shù)采用的是異步方式,Send()函數(shù)采用的是同步方式。Send()函數(shù)的參數(shù)handle指定接收消息的窗口句柄,對PowerBuilder窗口來說,使用Handle()函數(shù)可以得到該句柄。對其它應(yīng)用程序的窗口來說,可以調(diào)用系統(tǒng)API函數(shù)查找窗口并得到相應(yīng)窗口的句柄。實(shí)際上,Send()函數(shù)把它的各個參數(shù)直接傳送給Windows的系統(tǒng)調(diào)用SendMessage()。在各種C++開發(fā)工具的WINDOWS.H文件中可以查到各消息編號。如果應(yīng)用程序要發(fā)送PowerBuilder定義事件(包括預(yù)定義事件和用戶定義事件),那么使用TriggerEvent()函數(shù)既簡單有方便。當(dāng)應(yīng)用程序在long參數(shù)位置指定一個字符串時,Send()函數(shù)復(fù)制一個該字符串的副本,然后將副本的地址傳送給指定窗口。
          SetProfileString()
          功能設(shè)置初始化文件中指定項(xiàng)的值。
          語法SetProfileString ( filename, section, key, value )
          參數(shù)filenamestring類型,指定初始化文件的名稱,可以包括路徑,省略路徑時,該函數(shù)按操作系統(tǒng)的標(biāo)準(zhǔn)路徑搜索指定文件sectionstring類型,指定要設(shè)置的值所在的節(jié)(Sectionkeystring類型,指定要設(shè)置的值的名稱,不用區(qū)分大小寫defaultstring類型,指定要設(shè)置項(xiàng)的值返回值Integer。函數(shù)執(zhí)行成功時返回1,指定的文件未找到或指定的文件不能訪問時函數(shù)返回-1。如果任何參數(shù)的值為NULL,SetProfileString()函數(shù)返回NULL。
          ShowHelp()
          功能顯示應(yīng)用程序幫助,該幫助使用Microsoft Windows幫助系統(tǒng)進(jìn)行操作。
          語法ShowHelp ( helpfile, helpcommand {, typeid } )
          參數(shù)helpfilestring類型,指定幫助文件的名稱helpcommandHelpCommand枚舉類型,指定顯示幫助的格式。有效取值為:Index! - 顯示目錄主題,使用該值時不要指定typeid參數(shù);Keyword! - 轉(zhuǎn)移到由指定關(guān)鍵字確定的主題;Topic! - 顯示指定主題的幫助typeid:可選項(xiàng),指定幫助主題返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULLShowHelp()函數(shù)返回NULL。
          SignalError()
          功能觸發(fā)應(yīng)用對象的SystemError事件,通常用于代碼調(diào)試。
          語法SignalError ( { number }, { text } )
          參數(shù)numberinteger類型,可選項(xiàng),其值將保存到Error對象的number屬性中textstring類型,可選項(xiàng),其值將保存到Error對象的text屬性中返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1
          Yield()
          功能將控制權(quán)轉(zhuǎn)移給其它圖形對象,包括非PowerBuilder對象。該函數(shù)檢測消息隊(duì)列,如果有消息,就把消息取出。利用該函數(shù)可以在執(zhí)行耗時較長的操作時把控制權(quán)轉(zhuǎn)讓給其它應(yīng)用。
          語法Yield()
          返回值Boolean。如果在消息隊(duì)列中提取到了消息,那么函數(shù)返回TRUE,否則返回FALSE。用法正常情況下,PowerBuilder應(yīng)用程序在執(zhí)行一段代碼(比如函數(shù)或事件處理程序)的過程中不響應(yīng)用戶的操作。對耗時短暫的代碼段來說,這種處理方式?jīng)]有什么不妥的地方,但是,如果某個代碼段的執(zhí)行耗時較長,應(yīng)用程序又希望為用戶提供更多的控制權(quán),那么需要在這段代碼中插入Yield()函數(shù),讓用戶能夠進(jìn)行其它操作,特別在循環(huán)執(zhí)行的代碼中更應(yīng)該如此。應(yīng)用程序執(zhí)行Yield()函數(shù)后,如果發(fā)現(xiàn)消息隊(duì)列中存在消息,它將允許對象處理這些消息,處理之后,繼續(xù)Yield()函數(shù)后面代碼的執(zhí)行。因此,代碼中插入Yield()函數(shù)將降低應(yīng)用程序的運(yùn)行效率。
          Close()
          功能關(guān)閉窗口并釋放窗口以及窗口上的控件所占據(jù)的內(nèi)存。
          語法Close(windowname)
          參數(shù)windowname:要關(guān)閉窗口的名稱返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果參數(shù)windowname的值為NULL,Close()函數(shù)返回NULL。
          用法應(yīng)用程序使用Open()或其它Open簇函數(shù)打開窗口后,不需要窗口時,可以使用Close()關(guān)閉窗口并釋放窗口以及窗口上所有控件占據(jù)的內(nèi)存。Close()函數(shù)的執(zhí)行過程為:如果要關(guān)閉窗口的CloseQuery/Close事件已經(jīng)編寫了事件處理程序,那么執(zhí)行這些事件處理程序,從屏幕上刪除要關(guān)閉的窗口、關(guān)閉窗口、之后執(zhí)行調(diào)用Close()函數(shù)語句后面的語句。當(dāng)窗口被關(guān)閉后,應(yīng)用程序就不能再訪問已經(jīng)關(guān)閉窗口的屬性、實(shí)例變量、對象函數(shù)、以及窗口上的控件了。如果關(guān)閉窗口后應(yīng)用程序依然訪問上述特性,那么將引發(fā)運(yùn)行錯誤。當(dāng)然,應(yīng)用程序也可以阻止窗口被關(guān)閉,方法很簡單,只要在欲阻止關(guān)閉窗口的CloseQuery事件處理程序中使用RETURN語句返回1即可,格式為:RETURN1
          CloseWithReturn()
          功能關(guān)閉窗口并將返回值保存在Message對象中,該函數(shù)只能對響應(yīng)窗口使用。
          語法CloseWithReturn ( windowname, returnvalue)
          參數(shù)windowname:要關(guān)閉窗口的名稱returnvalue:指定關(guān)閉窗口時保存到Message對象中的值,調(diào)用CloseWithReturn()函數(shù)的代碼段通過查看Message對象屬性的值得到關(guān)閉窗口時被關(guān)閉窗口傳遞的值。returnvalue參數(shù)必須是下述三種類型之一:String、Numeric、PowerObject返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果參數(shù)任何的值為NULL,CloseWithReturn()函數(shù)返回NULL
          Open()
          功能 打開窗口。該函數(shù)有兩種語法格式:
          語法一、打開編程時已知數(shù)據(jù)類型的窗口對象;
          語法二、打開程序運(yùn)行后才能確定數(shù)據(jù)類型的窗口對象。下面分別予以介紹:
          語法一、打開編程時已知數(shù)據(jù)類型的窗口對象
          語法Open ( windowvar {, parent } )
          參數(shù)windowvar:要打開窗口的窗口名,可以使用窗口畫筆定義的窗口對象名,也可以使用該窗口對象的某個變量。Open()函數(shù)把打開窗口的引用放置到windowvar變量中parent:可選項(xiàng),指定要打開窗口的父窗口,要打開窗口成為父窗口的子窗口,只有當(dāng)要打開窗口需要成為某個窗口的子窗口時才需要指定該參數(shù)。如果應(yīng)用程序使用Open()函數(shù)打開某個子窗口或彈出窗口而又省略了該參數(shù),那么當(dāng)前活動窗口成為被打開窗口的父窗口返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULLOpen()函數(shù)返回NULL。
          語法二、打開程序運(yùn)行后才能確定數(shù)據(jù)類型的窗口對象
          語法Open ( windowvar, windowtype {, parent } )
          參數(shù)windowvar:指定窗口變量名,Open()函數(shù)把打開窗口的引用放置到該變量中windowtypestring類型,指定要打開窗口的數(shù)據(jù)類型,該參數(shù)指定的窗口數(shù)據(jù)類型必須與windowvar參數(shù)的類型相同或是windowvar類型的后繼對象parent:可選項(xiàng),指定要打開窗口的父窗口,要打開窗口成為父窗口的子窗口,只有當(dāng)要打開窗口需要成為某個窗口的子窗口時才需要指定該參數(shù)。如果應(yīng)用程序使用Open()函數(shù)打開某個子窗口或彈出窗口而又省略了該參數(shù),那么當(dāng)前活動窗口成為被打開窗口的父窗口返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULL,Open()函數(shù)返回NULL。
          OpenSheet()
          功能在MDI框架窗口中打開MDI子窗口,并在指定菜單中創(chuàng)建選擇該子窗口的菜單項(xiàng)。
          語法OpenSheet(sheetrefvar{,windowtype},mdiframe{,position{,arrangeopen}})
          參數(shù)sheetrefvar:指定要作為工作表打開的窗口名windowtypestring類型,可選項(xiàng),指定要打開窗口的類型(也就是窗口畫筆中保存的窗口對象名)mdiframe:指定要放置工作表的MDI框架窗口名position:可選參數(shù),指定所打開的工作表的名稱作為一個菜單項(xiàng)顯示在第幾個菜單標(biāo)題下面,缺省時,被放在倒數(shù)第二個菜單標(biāo)題下,原因是,大多數(shù)商業(yè)軟件的最后兩個菜單標(biāo)題是WindowHelp,把工作表的名稱放到Window菜單標(biāo)題中用于選擇工作表窗口是個合情合理的選擇arrangeopenArrangeOpen枚舉類型,可選參數(shù),但如果選用了此參數(shù),那么position參數(shù)也必須同時指定。arrangeopen參數(shù)告訴系統(tǒng)如何顯示打開的工作表返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果參數(shù)任何的值為NULL,OpenSheet()函數(shù)返回NULL。
          用法arrangeopen參數(shù)的可能取值為:Cascaded!把一個工作表放在另一個的上面,每個都向右下方偏移一點(diǎn),這樣所有工作表的標(biāo)題欄用戶都能看到。該值是OpenSheet()函數(shù)的缺省選擇。Layered!將工作表顯示在客戶區(qū)的左上角,并最大化工作表,使其充滿MDI框架窗口的整個客戶區(qū)。Original!操作動作與Cascaded!參數(shù)相同,只是不放大窗口,而以窗口定義時的大小顯示。
          OpenSheetWithParm()
          功能 MDI框架窗口中打開MDI子窗口,同時把參數(shù)保存在Message對象中進(jìn)行傳遞。
          語法OpenSheetWithParm(sheetrefvar,parameter{,windowtype},mdiframe{,position{,arrangeopen}}
          參數(shù)sheetrefvar:指定要作為工作表打開的窗口名parameter:指定要傳遞給打開工作表的數(shù)據(jù),該數(shù)據(jù)保存在Message對象的屬性中, parameter參數(shù)的數(shù)據(jù)類型必須是下述三種類型之一:StringNumeric、PowerObjectwindowtypestring類型,可選項(xiàng),指定是要打開窗口的類型(也就是窗口畫筆中保存的窗口對象名)mdiframe:指定要放置工作表的MDI框架窗口名position:可選參數(shù),指定所打開的工作表的名稱作為一個菜單項(xiàng)顯示在第幾個菜單標(biāo)題下面,缺省時,被放在倒數(shù)第二個菜單標(biāo)題下,原因是,大多數(shù)商業(yè)軟件的最后兩個菜單標(biāo)題是WindowHelp,把工作表的名稱放到Window菜單標(biāo)題中用于選擇工作表窗口是個合情合理的選擇arrangeopenArrangeOpen枚舉類型,可選參數(shù),但如果選用了此參數(shù),那么position參數(shù)也必須同時指定。arrangeopen參數(shù)告訴系統(tǒng)如何顯示打開的工作表返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果參數(shù)任何的值為NULL,OpenSheet()函數(shù)返回NULL
          用法arrangeopen參數(shù)的可能取值為:Cascaded!把一個工作表放在另一個的上面,每個都向右下方偏移一點(diǎn),這樣所有工作表的標(biāo)題欄用戶都能看到。該值是OpenSheet()函數(shù)的缺省選擇。Layered!將工作表顯示在客戶區(qū)的左上角,并最大化工作表,使其充滿MDI框架窗口的整個客戶區(qū)。Original!操作動作與Cascaded!參數(shù)相同,只是不放大窗口,而以窗口定義時的大小顯示。
          OpenWithParm()
          功能帶參數(shù)打開窗口,與打開窗口的Open()函數(shù)相似,OpenWithParm()有兩種語法格式:
          語法一、帶參數(shù)打開編程時已知數(shù)據(jù)類型的窗口對象;
          語法二、帶參數(shù)打開程序運(yùn)行后才能確定數(shù)據(jù)類型的窗口對象。下面分別予以介紹:
          語法一、帶參數(shù)打開編程時已知數(shù)據(jù)類型的窗口對象
          語法OpenWithParm(windowvar,parameter{,parent})
          參數(shù)windowvar:要打開窗口的窗口名,可以使用窗口畫筆定義的窗口對象名,也可以使用該窗口對象的某個變量。Open()函數(shù)把打開窗口的引用放置到windowvar變量中parameter:指定要傳遞給打開窗口的數(shù)據(jù),該數(shù)據(jù)保存在Message對象的屬性中,parameter參數(shù)的數(shù)據(jù)類型必須是下述三種類型之一:String、Numeric、PowerObjectparent:可選項(xiàng),指定要打開窗口的父窗口,要打開窗口成為父窗口的子窗口,只有當(dāng)要打開窗口需要成為某個窗口的子窗口時才需要指定該參數(shù)。如果應(yīng)用程序使用Open()函數(shù)打開某個子窗口或彈出窗口而又省略了該參數(shù),那么當(dāng)前活動窗口成為被打開窗口的父窗口返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULLOpenWithParm()函數(shù)返回NULL
          用法消息對象Message有三個屬性用于存儲OpenWithParm()函數(shù)傳遞給打開窗口的數(shù)據(jù)。根據(jù)parameter參數(shù)數(shù)據(jù)類型的不同,該參數(shù)的值保存在Message對象的不同屬性中。
          語法二、帶參數(shù)打開程序運(yùn)行后才能確定數(shù)據(jù)類型的窗口對象
          語法OpenWithParm(windowvar,parameter,windowtype{,parent})
          參數(shù)windowvar:指定窗口變量名,Open()函數(shù)把打開窗口的引用放置到該變量中parameter:指定要傳遞給打開窗口的數(shù)據(jù),該數(shù)據(jù)保存在Message對象的屬性中,parameter參數(shù)的數(shù)據(jù)類型必須是下述三種類型之一:String、Numeric、PowerObjectwindowtypestring類型,指定要打開窗口的數(shù)據(jù)類型,該參數(shù)指定的窗口數(shù)據(jù)類型必須與windowvar參數(shù)的類型相同或是windowvar類型的后繼對象parent:可選項(xiàng),指定要打開窗口的父窗口,要打開窗口成為父窗口的子窗口,只有當(dāng)要打開窗口需要成為某個窗口的子窗口時才需要指定該參數(shù)。如果應(yīng)用程序使用Open()函數(shù)打開某個子窗口或彈出窗口而又省略了該參數(shù),那么當(dāng)前活動窗口成為被打開窗口的父窗口返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULLOpenWithParm()函數(shù)返回NULL。
          CloseChannel()
          功能關(guān)閉先前用OpenChannel()函數(shù)打開的DDE服務(wù)器的通道。
          語法CloseChannel ( handle {, windowhandle } )
          參數(shù)handlelong類型,通道句柄,指明要關(guān)閉的DDE通道windowhandlelong類型,可選項(xiàng),指明用做DDE客戶的PowerBuilder窗口的窗口句柄返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-2通道不能被關(guān)閉-3不能確認(rèn)服務(wù)器-9Handle參數(shù)的值為NULL
          ExecRemote()
          功能請求DDE服務(wù)器應(yīng)用程序執(zhí)行命令。該函數(shù)有兩種語法格式:語法一、直接向DDE服務(wù)器應(yīng)用發(fā)送一條命令(冷連接方式);語法二、應(yīng)用程序打開某個通道后向DDE服務(wù)器應(yīng)用發(fā)送命令(熱連接方式)。下面分別予以介紹。
          語法一、直接向DDE服務(wù)器應(yīng)用發(fā)送一條命令(冷連接方式);
          語法ExecRemote ( command, applname, topicname )
          參數(shù)commandstring類型,其值為希望DDE服務(wù)器應(yīng)用執(zhí)行的命令,命令格式和語法需要參看DDE服務(wù)器應(yīng)用的文檔applnamestring類型,指定服務(wù)器應(yīng)用的DDE名稱topicnamestring類型,指定命令中要使用的DDE應(yīng)用的數(shù)據(jù)或?qū)嵗祷刂?/span>Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-3不能終止服務(wù)器如果任何參數(shù)的值為NULLExecRemote()函數(shù)返回NULL
          語法二、應(yīng)用程序打開某個通道后向DDE服務(wù)器應(yīng)用發(fā)送命令(熱連接方式)
          語法ExecRemote ( command, handle {, windowhandle } )
          參數(shù)commandstring類型,其值為希望DDE服務(wù)器應(yīng)用執(zhí)行的命令,命令格式和語法需要參看DDE服務(wù)器應(yīng)用的文檔handlelong類型,指定使用的DDE通道句柄windowhandlelong類型,可選項(xiàng),指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數(shù)時,當(dāng)前應(yīng)用中的活動窗口用做DDE客戶返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-9handle參數(shù)的值為NULL
          GetDataDDE()
          功能從熱連接服務(wù)器應(yīng)用中獲取數(shù)據(jù),并將其保存到指定的字符串變量中。
          語法GetDataDDE ( string )
          參數(shù)stringstring類型變量,用于保存接收到的數(shù)據(jù)返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULLGetDataDDE()函數(shù)返回NULL。
          GetDataDDEOrigin()
          功能確定來自熱連接DDE服務(wù)器應(yīng)用的數(shù)據(jù)源,成功時將應(yīng)用的DDE標(biāo)識保存在參數(shù)指定的變量中。
          語法GetDataDDEOrigin ( applstring, topicstring, itemstring )
          參數(shù)applstringstring類型變量,用于保存服務(wù)器應(yīng)用的名稱topicstringstring類型變量,用于保存主題(比如,在Excel中,主題可以是REGION.XLSitemstringstring類型變量,用于保存數(shù)據(jù)項(xiàng)標(biāo)識(比如,在Excel中,數(shù)據(jù)項(xiàng)標(biāo)識可以是R1C2)返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULL,GetDataDDEOrigin()函數(shù)返回NULL
          GetRemote()
          功能請求服務(wù)器應(yīng)用傳送數(shù)據(jù),該函數(shù)有兩種格式:語法一、請求DDE服務(wù)器應(yīng)用提供數(shù)據(jù)并將數(shù)據(jù)保存在變量中,該格式不要求事先打開通道,適用于僅發(fā)出少數(shù)幾個請求的情況;語法二、請求DDE服務(wù)器應(yīng)用提供數(shù)據(jù)并將數(shù)據(jù)保存在變量中,該格式適用于熱連接的情況,即應(yīng)用程序已經(jīng)與服務(wù)器建立通道。下面分別予以介紹。
          語法一、請求DDE服務(wù)器應(yīng)用提供數(shù)據(jù)并將數(shù)據(jù)保存在變量中,該格式不要求事先打開通道,適用于僅發(fā)出少數(shù)幾個請求的情況。
          語法GetRemote ( location, target, applname, topicname )
          參數(shù)locationstring類型,指明要從DDE服務(wù)器的哪個位置返回數(shù)據(jù)。位置的表達(dá)方式由具體的DDE服務(wù)器決定targetstring類型變量,用于保存返回的數(shù)據(jù)applnamestring類型,指定DDE服務(wù)器應(yīng)用的DDE名稱topicnamestring類型,指定命令中要使用的DDE應(yīng)用的數(shù)據(jù)或?qū)嵗祷刂?/span>Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕如果任何參數(shù)的值為NULL,GetRemote()函數(shù)返回NULL。
          語法二、請求DDE服務(wù)器應(yīng)用提供數(shù)據(jù)并將數(shù)據(jù)保存在變量中,該格式適用于熱連接的情況,即應(yīng)用程序已經(jīng)與服務(wù)器建立通道。語法GetRemote ( location, target, handle {, windowhandle } )參數(shù)locationstring類型,指明要從DDE服務(wù)器的哪個位置返回數(shù)據(jù)。位置的表達(dá)方式由具體的DDE服務(wù)器決定targetstring類型變量,用于保存返回的數(shù)據(jù)handlelong類型,指定使用的DDE通道句柄 windowhandlelong類型,可選項(xiàng),指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數(shù)時,當(dāng)前應(yīng)用中的活動窗口用做DDE客戶。使用handle()函數(shù)可以得到窗口句柄。返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-9Handle參數(shù)的值為NULL
          OpenChannel()
          功能打開連接DDE服務(wù)器的通道。
          語法OpenChannel ( applname, topicname {, windowhandle } )applnamestring類型,指定DDE服務(wù)器應(yīng)用的DDE名稱topicnamestring類型,指定命令中要使用的DDE應(yīng)用的數(shù)據(jù)或?qū)嵗?/span>windowhandlelong類型,可選項(xiàng),指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數(shù)時,當(dāng)前應(yīng)用中的活動窗口用做DDE客戶返回值Long。函數(shù)執(zhí)行成功時返回一個正數(shù)作為已打開通道的句柄,發(fā)生錯誤時返回下述值之一:-1打開失敗-9句柄為NULL
          RespondRemote()
          功能發(fā)送一條DDE消息,指示是否接受來自遠(yuǎn)程DDE應(yīng)用的命令或數(shù)據(jù)。
          語法RespondRemote ( boolean )
          參數(shù)boolean:其值為boolean量的邏輯表達(dá)式,TRUE表示接收先前收到的命令或數(shù)據(jù),FALSE表示不接收先前收到的命令或數(shù)據(jù)返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果boolean參數(shù)的值為NULLRespondRemote()函數(shù)返回NULL。
          SetRemote()
          功能請求服務(wù)器應(yīng)用把指定項(xiàng)設(shè)置為指定值。該函數(shù)有兩種語法格式:語法一、請求DDE服務(wù)器應(yīng)用接收保存在指定位置的數(shù)據(jù),該格式不要求事先打開通道,適用于僅發(fā)出少數(shù)幾個請求的情況;語法二、請求DDE服務(wù)器應(yīng)用接收保存在指定位置的數(shù)據(jù),該格式適用于熱連接的情況,即應(yīng)用程序已經(jīng)與服務(wù)器建立通道。下面分別予以介紹。
          語法一、請求DDE服務(wù)器應(yīng)用接收保存在指定位置的數(shù)據(jù),該格式不要求事先打開通道,適用于僅發(fā)出少數(shù)幾個請求的情況。
          語法SetRemote ( location, value, applname, topicname )
          參數(shù)locationstring類型,指明要DDE服務(wù)器的哪一部分接收數(shù)據(jù)。位置的表達(dá)方式由具體的DDE服務(wù)器決定valuestring類型變量,指定發(fā)送給DDE服務(wù)器的數(shù)據(jù)applnamestring類型,指定DDE服務(wù)器應(yīng)用的DDE名稱topicnamestring類型,指定要接收數(shù)據(jù)的DDE應(yīng)用的數(shù)據(jù)或?qū)嵗祷刂?/span>Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕如果任何參數(shù)的值為NULLSetRemote()函數(shù)返回NULL。
          語法二、請求DDE服務(wù)器應(yīng)用接收保存在指定位置的數(shù)據(jù),該格式適用于熱連接的情況,即應(yīng)用程序已經(jīng)與服務(wù)器建立通道。
          語法SetRemote ( location, value, handle {, windowhandle } )
          參數(shù)locationstring類型,指明要DDE服務(wù)器的哪一部分接收數(shù)據(jù)。位置的表達(dá)方式由具體的DDE服務(wù)器決定valuestring類型變量,指定發(fā)送給DDE服務(wù)器的數(shù)據(jù)handlelong類型,指定使用的DDE通道句柄windowhandlelong類型,可選項(xiàng),指明用做DDE客戶的PowerBuilder窗口的窗口句柄。省略該參數(shù)時,當(dāng)前應(yīng)用中的活動窗口用做DDE客戶返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1未啟動連接-2請求被拒絕-9Handle參數(shù)的值為NULL
          StartHotLink()
          功能建立與DDE服務(wù)器應(yīng)用的熱連接,熱連接建立之后,DDE服務(wù)器端相關(guān)數(shù)據(jù)的變化會立即觸發(fā)PowerBuilder應(yīng)用相關(guān)窗口的HotLinkAlarm事件。
          語法StartHotLink ( location, applname, topic )
          參數(shù)locationstring類型,指明DDE服務(wù)器哪一部分?jǐn)?shù)據(jù)變化時觸發(fā)窗口的HotLinkAlarm事件。位置的表達(dá)方式由具體的DDE服務(wù)器決定applnamestring類型,指定DDE服務(wù)器應(yīng)用的DDE名稱topicnamestring類型,指定數(shù)據(jù)改變將觸發(fā)窗口的HotLinkAlarm事件的DDE應(yīng)用的數(shù)據(jù)或?qū)嵗祷刂?/span>Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1無指定服務(wù)器-2請求被拒絕如果任何參數(shù)的值為NULL,StartHotLink()函數(shù)返回NULL
          StopHotLink()
          功能關(guān)閉與DDE服務(wù)器應(yīng)用的熱連接。
          語法StopHotLink ( location, applname, topic )
          參數(shù)locationstring類型,指明要終止DDE服務(wù)器哪一部分的熱連接。位置的表達(dá)方式由具體的DDE服務(wù)器決定applnamestring類型,指定DDE服務(wù)器應(yīng)用的DDE名稱topicnamestring類型,指定要終止熱連接的DDE應(yīng)用的數(shù)據(jù)或?qū)嵗祷刂?/span>Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回下述值之一:-1連接未曾啟動-2請求被拒絕-3不能終止服務(wù)器如果任何參數(shù)的值為NULL,StopHotLink()函數(shù)返回NULL。  
          CPU()
          功能得到自當(dāng)前應(yīng)用程序啟動后開始CPU所消耗的時間,以毫秒為單位。
          語法CPU()
          返回值Long。返回自當(dāng)前應(yīng)用程序啟動后開始CPU所消耗的時間,以毫秒為單位。
          Idle()
          功能該函數(shù)在用戶每次活動(例如,按鍵盤、移動鼠標(biāo)等)后重置定時器,n秒后觸發(fā)應(yīng)用對象的Idle事件。
          語法Idle ( n )
          參數(shù)n:指定空閑時間間隔,以秒為單位。該參數(shù)的值設(shè)置為0時,停止空閑檢測,不再觸發(fā)應(yīng)用對象的Idle事件返回值Integer。函數(shù)執(zhí)行成功時返回1,此時啟動定時器。如果不能啟動定時器或定時器未啟動而n的值指定為0時,函數(shù)返回-1。如果任何參數(shù)的值為NULLIdle()函數(shù)返回NULL。用法利用Idle()函數(shù),應(yīng)用程序可以構(gòu)造自己的屏幕保護(hù)程序,避免安全數(shù)據(jù)的泄露。當(dāng)使用Idle()函數(shù)已經(jīng)啟動了定時器后,如果再次以非0參數(shù)調(diào)用Idle()函數(shù),那么該函數(shù)重設(shè)時間間隔,但并不啟動新的定時器。Idle()函數(shù)啟動定時器后,如果在指定的時間間隔(從用戶最近一次操作算起)內(nèi)沒有操作應(yīng)用程序,那么就觸發(fā)應(yīng)用對象的Idle事件,在這個事件中可以編寫關(guān)閉窗口、退出數(shù)據(jù)庫登錄等一系列代碼,然后使用Restart()函數(shù)重新啟動應(yīng)用程序,起到保密的目的。發(fā)生下述任何情況時,系統(tǒng)自動重置定時器(即重新開始計時):n 用戶在該應(yīng)用程序的任何窗口內(nèi)移動鼠標(biāo)或單擊鼠標(biāo)(雙擊鼠標(biāo)時首先觸發(fā)單擊事件)n 在該應(yīng)用程序的某個窗口是當(dāng)前窗口時用戶按下了任意一個或多個鍵n 在該應(yīng)用程序的窗口最小化時,用戶在該應(yīng)用的圖標(biāo)上單擊鼠標(biāo)或移動鼠標(biāo)n 在該應(yīng)用程序的窗口最小化并且該應(yīng)用程序是當(dāng)前應(yīng)用程序(應(yīng)用名稱被加亮顯示)時,用戶按了任何按鍵n 可視數(shù)據(jù)窗口檢索數(shù)據(jù)時引起的編輯控件(指漂浮在數(shù)據(jù)窗口當(dāng)前行/列上的編輯控件)重繪操作
          Timer()
          功能 在指定的時間間隔內(nèi)反復(fù)觸發(fā)指定窗口的定時器事件。
          語法Timer ( interval {, windowname } )
          參數(shù)interval:指定兩次觸發(fā)Timer事件之間的時間間隔,有效值在065之間。如果該參數(shù)的值指定為0,那么關(guān)閉定時器,不再觸發(fā)指定窗口的Timer事件windowname:窗口名,指定時間間隔到時要觸發(fā)哪個窗口的Timer事件。省略該參數(shù)時,觸發(fā)當(dāng)前窗口的Timer事件返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果任何參數(shù)的值為NULL,Timer()函數(shù)返回NULL。用法使用Timer()函數(shù)可以周期性地觸發(fā)指定窗口的Timer事件,這樣,每當(dāng)時間間隔過去時,應(yīng)用程序都可以完成一些周期性的工作,比如繪制簡單動畫等。將Timer()interval參數(shù)設(shè)置為非0值時啟動定時器并開始計時;將該函數(shù)的interval參數(shù)設(shè)置為0時關(guān)閉定時器,終止計時任務(wù)。需要注意的是,在Microsoft Windows系統(tǒng)中,該函數(shù)能夠計時的最小時間間隔為0.055秒(約1/18秒),如果把interval參數(shù)的值設(shè)置小于0.055,那么該定時器將每隔0.055秒觸發(fā)一次窗口的Timer事件。Microsoft Windows 3.x最多只支持系統(tǒng)中同時啟動16個定時器。
          Day()
          功能得到日期型數(shù)據(jù)中的號數(shù)(131之間的整數(shù)值)。
          語法Day ( date )
          參數(shù)date:要得到號數(shù)的日期值返回值 Integer。函數(shù)執(zhí)行成功時返回號數(shù)(131之間的整數(shù)值)。如果date參數(shù)的值為NULL,則Day()函數(shù)返回NULL。
          DayName()
          功能得到指定日期是一周中的星期幾(例如,Sunday, Monday...)
          語法DayName ( date )
          參數(shù)datedate類型值或變量返回值String。函數(shù)執(zhí)行成功時返回指定日期的星期表示(例如,Sunday, Monday...)。如果date參數(shù)的值為NULL,則DayName()函數(shù)返回NULL。
          DayNumber()
          功能得到日期型數(shù)據(jù)是一星期中的第幾天(17之間的整數(shù)表示,星期天為1,星期一為2...)。
          語法DayNumber ( date )
          參數(shù)datedate類型值或變量返回值Integer。函數(shù)執(zhí)行成功時返回指定日期是一星期中的第幾天(1~7表示,星期天為1,星期一為2,...)。如果date參數(shù)的值為NULL,則DayNumber()函數(shù)返回NULL。
          DaysAfter()
          功能得到兩個日期間的天數(shù)。
          語法DaysAfter ( date1, date2 )
          參數(shù)date1date類型,指定起始日期date2date類型,指定終止日期返回值Long。函數(shù)執(zhí)行成功時得到兩個日期之間的天數(shù)。如果date2的日期在date1的前面,那么DaysAfter()函數(shù)返回負(fù)值。如果任何參數(shù)的值為NULL,則DaysAfter()函數(shù)返回NULL。
          Hour()
          功能得到時間值中的小時,采用24小時制。
          語法Hour ( time )
          參數(shù)timetime類型的值返回值Integer。函數(shù)執(zhí)行成功時得到time參數(shù)中的小時(0023之間)。如果time參數(shù)的值為NULL,則Hour()函數(shù)返回NULL。
          Minute()

          功能得到時間值中的分鐘,有效值在0059之間。
          語法Minute ( time )
          參數(shù)timetime類型的值返回值Integer。函數(shù)執(zhí)行成功時得到time參數(shù)中的分鐘(0059之間)。如果time參數(shù)的值為NULL,則Minute()函數(shù)返回NULL。
          Month()
          功能得到日期值中的月份,有效值在112之間。
          語法Month ( date )
          參數(shù)datedate類型的值返回值Integer。函數(shù)執(zhí)行成功時得到date參數(shù)中的月份(112之間)。如果date參數(shù)的值為NULL,則Month()函數(shù)返回NULL
          Now()
          功能得到客戶機(jī)的當(dāng)前系統(tǒng)時間,返回值為Time類型。
          語法Now()返回值Time。該函數(shù)返回客戶機(jī)的當(dāng)前系統(tǒng)時間。
          RelativeDate()
          功能得到指定日期前多少天或后多少天的日期。
          語法RelativeDate(date,n)
          參數(shù)dateDate類型,指定基準(zhǔn)日期ninteger類型,指定天數(shù)返回值Date。當(dāng)n的值大于0時返回參數(shù)date指定日期后第n天的日期;當(dāng)n的值小于0時返回參數(shù)date指定日期前第n天的日期。如果任何參數(shù)的值為NULL,則RelativeDate()函數(shù)返回NULL。
          RelativeTime()
          功能得到指定時間前多少秒或后多少秒的時間,采用24小時制。
          語法RelativeTime ( time, n )參數(shù)timetime類型,指定基準(zhǔn)時間nlong類型,指定秒數(shù)返回值Time。當(dāng)n的值大于0時返回參數(shù)time指定時間后第n秒的時間;當(dāng)n的值小于0時返回參數(shù)time指定時間前第n秒的時間。如果任何參數(shù)的值為NULL,則RelativeTime()函數(shù)返回NULL。
          Second()
          功能得到時間值中的秒,有效值在0059之間。
          語法Second ( time )
          參數(shù)timetime類型的值返回值Integer。函數(shù)執(zhí)行成功時得到time參數(shù)中的秒(0059之間)。如果time參數(shù)的值為NULL,則Second()函數(shù)返回NULL。
          Today()
          功能得到當(dāng)前系統(tǒng)日期,在某些情況下,同時得到當(dāng)前系統(tǒng)時間。
          語法Today()返回值Date。該函數(shù)返回當(dāng)前系統(tǒng)日期。用法單獨(dú)調(diào)用Today()函數(shù)時,該函數(shù)總是返回當(dāng)前系統(tǒng)日期,但是,雖然Today()函數(shù)的返回值類型為Date,在該函數(shù)用做某些函數(shù)的參數(shù)、而該參數(shù)要求DateTime類型的值時,Today()函數(shù)也能夠在返回當(dāng)前系統(tǒng)日期的同時返回當(dāng)前系統(tǒng)時間。再如,Today()函數(shù)作為數(shù)據(jù)窗口控件SetItem()函數(shù)的參數(shù),該函數(shù)參數(shù)中指定的數(shù)據(jù)窗口列的數(shù)據(jù)類型為DateTime,那么當(dāng)前系統(tǒng)日期和時間將同時設(shè)置到數(shù)據(jù)窗口指定項(xiàng)中。
          Year()
          功能得到日期值中的年度(有效取值10003000)
          語法Year(date)
          參數(shù)datedate類型的值返回值Integer。函數(shù)執(zhí)行成功時得到date參數(shù)中的年份(采用四位數(shù)字),發(fā)生錯誤時返回1900,如果date參數(shù)的值為NULL,則Year()函數(shù)返回NULL。用法當(dāng)應(yīng)用程序把有兩位數(shù)字表示年份的字符串轉(zhuǎn)換成日期時,PowerBuilder根據(jù)下述規(guī)則選擇世紀(jì):如果年份值在0049之間,PowerBuilder將年份中的世紀(jì)(前兩位數(shù)字)當(dāng)作20;如果年份值在5099之間,PowerBuilder將年份中的世紀(jì)(前兩位數(shù)字)當(dāng)作19。比如,字符串"20-10-25"PowerBuilder轉(zhuǎn)換為2020-10-25;字符串"98-10-25"PowerBuilder轉(zhuǎn)換為1998-10-25。因此,如果應(yīng)用程序中需要指定1950年之前的日期,應(yīng)該使用四位數(shù)字表示年份,以避免引起歧義。PowerBuilder能夠處理的年份從10003000之間。  
          FileClose()
          功能關(guān)閉先前用FileOpen()函數(shù)打開的文件。
          語法FileClose ( fileno )
          參數(shù)filenointeger,指定要關(guān)閉文件的文件句柄,該句柄使用FileOpen()函數(shù)打開文件時得到返回值Integer。函數(shù)執(zhí)行成功時返回1,發(fā)生錯誤時返回-1。如果fileno參數(shù)的值為NULL,那么FileClose()函數(shù)返回NULL。
          FileDelete()
          功能刪除指定的文件。
          語法FileDelete ( filename )
          參數(shù)filenamestring類型,指定要刪除文件的文件名,其中可以包含路徑返回值Boolean。函數(shù)執(zhí)行成功時返回TRUE,發(fā)生錯誤時返回FALSE。如果filename參數(shù)的值為NULL,那么FileDelete()函數(shù)返回NULL
          FileExists()
          功能檢查指定的文件是否存在。
          語法FileExists ( filename )
          參數(shù)filenamestring類型,指定要檢查存在性的文件的文件名,其中可以包含路徑返回值Boolean。如果指定文件存在時返回TRUE,不存在時返回FALSE。如果filename參數(shù)的值為NULL,那么FileExists()函數(shù)返回NULL。用法如果filename參數(shù)指定的文件被另一個應(yīng)用加鎖鎖住,那么FileExists()函數(shù)也將返回FALSE
          FileLength()
          功能得到指定文件的長度(以字節(jié)為單位)。
          語法FileLength ( filename )
          參數(shù)filenamestring類型,指定要得到其長度的文件的文件名,其中可以包含路徑返回值Long。函數(shù)執(zhí)行成功時返回指定文件的長度(以字節(jié)為單位)。如果指定的文件不存在,函數(shù)返回-1。如果filename參數(shù)的值為NULL,那么FileLength()函數(shù)返回NULL。
          FileOpen()
          功能以指定的讀寫方式打開指定的文件,同時返回該文件的句柄。
          語法FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode,{creator,filetype}}}}})
          參數(shù)filenamestring類型,指定要打開文件的名稱,其中可以包含路徑 filemodeFileMode枚舉類型,可選項(xiàng),指定文件打開方式。有效取值為:?LineMode! - 缺省值,行模式;?StreamMode! - 流模式fileaccessFileAccess枚舉類型,可選項(xiàng),指定文件訪問方式。有效取值為:?Read! - 缺省值,只讀方式,這樣打開的文件只能進(jìn)行讀操作;?Write! - 只寫方式,這樣打開的文件只能進(jìn)行寫操作?filelockFileLock枚舉類型,可選項(xiàng),指定文件加鎖方式。有效取值為:n LockReadWrite! - 缺省值,只有打開該文件的用戶能夠訪問該文件,其它用 戶對該文件的訪問均被拒絕;n LockRead! - 只有打開該文件的用戶能夠讀該文件,但其它任何用戶均可寫該文件;n LockWrite! - 只有打開該文件的用戶能夠?qū)懺撐募?,但其它任何用戶均可讀該文件;n Shared! - 所有用戶均可讀寫該文件writemodeWriteMode枚舉類型,可選項(xiàng),當(dāng)fileaccess參數(shù)指定為Write!時,該參數(shù)指定在指定文件已經(jīng)存在時數(shù)據(jù)的添加方式。有效取值為:?Append! - 缺省值,將數(shù)據(jù)添加到原文件尾部;?Replace! - 覆蓋原有數(shù)據(jù)creator:可選項(xiàng),用于Macintosh機(jī),使用四個字符的字符串指定文件的創(chuàng)建者。指定該參數(shù)后,必須同時指定filetype參數(shù)filetype:可選項(xiàng),用于Macintosh機(jī),使用四個字符的字符串指定文件類型返回值Integer。函數(shù)執(zhí)行成功時返回打開文件的句柄,隨后的文件操作函數(shù)利用該句柄完成對文件的操作。發(fā)生錯誤時函數(shù)返回-1。如果任何參數(shù)的值為NULL,那么FileOpen()函數(shù)返回NULL。用法當(dāng)文件以行模式打開時,每執(zhí)行一次FileRead()函數(shù)讀取一行數(shù)據(jù);每執(zhí)行一次FileWrite()函數(shù),該函數(shù)自動在寫出的字符串末尾增加一個回車(CR)換行(LF)符(這是應(yīng)用程序在Windows 系統(tǒng)中運(yùn)行時的情況,在UNIX下只加一個換行字符)。當(dāng)文件以流模式打開時,執(zhí)行一次FileRead()函數(shù)讀取32,765個字節(jié)的數(shù)據(jù),如果余下數(shù)據(jù)沒有這么多,那么FileRead()函數(shù)就讀取所有余下的數(shù)據(jù);執(zhí)行一次FileWrite()函數(shù)時,最多可寫入32,765個字節(jié)的數(shù)據(jù),并且不添加回車換行字符。當(dāng)文件以寫方式使用FileOpen()函數(shù)打開時,如果指定的文件不存在,那么FileOpen()函數(shù)創(chuàng)建該文件。
          FileRead()
          功能從指定文件中讀取數(shù)據(jù)。
          語法FileRead ( fileno, variable )
          參數(shù)filenointeger類型,指定文件句柄(由FileOpen()函數(shù)得到)variablestringblob類型的變量,用于保存讀取的數(shù)據(jù)返回值Integer。函數(shù)執(zhí)行成功時返回讀取的字符數(shù)或字節(jié)數(shù);如果在讀取任何字符前讀到了文件結(jié)束符(EOF),則FileRead()函數(shù)返回-100;當(dāng)指定文件以行模式打開時,如果在讀取任何字符之前遇到了回車(CR)或換行(LF)字符,則FileRead()函數(shù)返回0。如果發(fā)生其它錯誤,FileRead()函數(shù)返回-1。如果任何參數(shù)的值為NULL,那么FileRead()函數(shù)返回NULL。用法當(dāng)指定文件以行模式(Line Mode)打開時,FileRead()函數(shù)一次讀取一行數(shù)據(jù),并把它保存到參數(shù)variable中,然后跳過行結(jié)束符(回車換行符,操作系統(tǒng)不同,使用的字符也不同),把文件指針移動到下一行的起始位置。當(dāng)文件以流模式(Stream Mode)打開時,FileRead()函數(shù)或一直讀取到文件結(jié)尾,或讀取32,765字節(jié)的數(shù)據(jù),決定于兩者哪個數(shù)據(jù)長度更短些。
          FileSeek()
          功能將文件指針移動到指定位置。讀寫文件時相應(yīng)函數(shù)會自動移動文件指針。
          語法FileSeek ( fileno, position, origin )
          參數(shù)filenointeger類型,指定文件句柄(由FileOpen()函數(shù)得到)positionlong類型,指定相對于origin參數(shù)指定位置的新位置偏移量,以字節(jié)為單位originSeekType枚舉類型,指定從哪里開始移動文件指針,即指針移動的基準(zhǔn)。有效取值為:?FromBeginning! - 缺省值,從文件開頭移動指針;?FromCurrent! - 從當(dāng)前位置移動文件指針;?FromEnd! - 從文件結(jié)尾處移動文件指針返回值Long。函數(shù)執(zhí)行成功時返回指針移動后的指針位置。如果任何參數(shù)的值為NULL,那么FileSeek()函數(shù)返回NULL。

          posted on 2012-06-14 13:10 chen11-1 閱讀(875) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 峨山| 抚州市| 潮安县| 温宿县| 织金县| 潼关县| 嘉兴市| 蚌埠市| 永春县| 富宁县| 甘洛县| 且末县| 天祝| 阿克陶县| 环江| 通道| 师宗县| 涪陵区| 太湖县| 栾城县| 渭源县| 平远县| 资溪县| 太原市| 肇庆市| 隆化县| 盐亭县| 邢台市| 临朐县| 皋兰县| 乐昌市| 精河县| 太谷县| 修武县| 澄迈县| 巫山县| 凤冈县| 买车| 鄂温| 浮山县| 阜康市|