日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pb中数据窗口函数小结(转)

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pb中数据窗口函数小结(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pb中數據窗口函數小結(轉)

一、連接數據庫


連接數據庫也就是指定事務對象。PowerBuilder提供了兩個函數:SetTrans()和SetTransObject()。
語法格式:
dw_control.SetTrans(TransactionObject)
dw_control.SetTransObject(TransactionObject)
其中,dw_control是所使用的數據窗口控件,transactionObject是所要指定的事務對象。
這兩個函數有一個重要的區別就是在使用SetTrans()函數時,用戶不需做任何數據初始化或事務對象初始化工作。用戶只需要在這里填充一個事務對象,PB就會自動完成對該事物對象的初始化以及和數據庫連接的工作。而使用SetTransObject()函數時,用戶必須首先把所用的事務對象連接到數據庫上。
但是,這并不意味著SetTrans()函數比SetTransObject()函數更好,使用SetTrans()函數時,每調用一次函數必須連接一次數據庫,因為這個函數在每個事務處理的末端都會執行Disconnect語句。與此相反,使用SetTransObject()函數可以為數據庫維持一個開放性的連接。因此在一般情況下,為了提高效率,總是采用SetTransObject()函數。
這兩個函數都是成功時返回1,發生錯誤時返回-1。

二、檢索數據


用于檢索數據的函數只有一個,就是Retrieve()函數。
語法格式:
dw_control.Retrieve()
如果數據窗口控件上的數據窗口對象是有檢索參數的,就要在這個函數調用時加上檢索參數。而且檢索參數必須和數據窗口對象中定義順序一致。
此函數返回一個長整型的數據,代表檢索出來的數據行數。如果發生錯誤,將返回-1。

三、更新數據


當用戶對數據窗口對象內的數據修改后,想把這些修改反映到數據庫中去時,必須使用Update()函數。
語法格式:
dw_control.Update()
這個更新可能成功,也可能失敗。一般在這個函數被調用之后,總是要做一個檢查。請看下面的例子:
Int li_return
li_return = dw_1.Update()
IF li_return = 1 THEN
???? COMMIT USING SQLCA;
ELSE
???? ROLLBACK USING SQLCA;
END IF
在這段代碼中,首先對數據窗口控件進行更新操作。但是更新只是把數據寫入到客戶機的內存,并沒有提交到數據庫中。如果更新成功,就把它提交到數據庫中,如果更新失敗,就回滾到當前的事務。

行操作
行操作的函數主要是對數據庫中的數據進行插入、刪除或選擇操作。

一、插入行


在DataWindow中插入一行,可以使用InsertRow()函數。
語法格式:
dw_control.InsertRow(rownumber)
dw_control是數據窗口控件名,rownumber是要插入行的的行號。如果這個參數為0,代表在當前DataWindow的最后一行插入一空行。
InsertRow()函數返回一個長整型值,以此來代表插入的行號。如果插入失敗,則返回-1。

二、刪除行


要刪除DataWindow內的一行數據,則要使用DeleteRow()函數。
語法格式:
dw_control.DeleteRow(rownumber)
其中rownumber是要刪除的行號。如果該值為0,表示刪除當前行。如果刪除成功,返回1,失敗則返回-1。

三、設置當前行


如果要設置DataWindow中的某行為當前行,可以使用SetRow()函數。
語法格式:
dw_control.SetRow(rownumber)

其中rownumber是要設置為當前行的行號。如果函數返回1表示成功,返回-1代表失敗。

四、獲取當前行


如果想要獲取DataWindow中的某行為當前行,可以使用GetRow()函數。
語法格式:
dw_control.GetRow()
該函數沒有參數,它返回一個長整型,代表當前行號。如果返回-1代表失敗。如果返回0代表沒有選中任何行。

五、選擇行


如果想要在DataWindow中加亮顯示某一行或取消加亮顯示某一行,可以使用SelectRow()函數。
語法格式:
dw_control.SelectRow(rownumber,select)
其中,rownumber表示要加亮或者取消加這顯示的行號,0表示所有行。select是一個布爾類型的值,TRUE表示加亮,FALSE表示取消加亮顯示。該函數返回1時表示成功,返回-1時表示失敗。
如果想要直接設置某一行為加亮,需要首先取消其它行的加亮顯示狀態,采用如下的兩行代碼:
dw_1.SelectRow(0,FALSE)
dw_1.SelectRow(rownumber,TRUE)


六、獲取選擇行


如果想要獲取當前DataWindow中加亮顯示的行,可以使用GetSelectRow()函數。
語法格式:
dw_control.GetSelectRow(rownumber)
其中,rownumber為開始查找的行的行號,0表示從頭開始查找。該函數返回一個長整數,表示從rownumber開始查找第一個加亮顯示的行的行號。如果失敗返回0。

七、滾動行


如果在DataWindow的末尾插入一行數據,而當前行是在DataWindow的中央,那么這種插入可能不會被用戶覺察。為了改變這種情況,可以滾動行到DataWindow的末尾,這樣用戶就能發現新的改變。要滾動行,可以使用ScrollToRow()函數。
語法格式:
dw_control.ScrollToRow(rownumber)
該函數返回1時表示成功,返回-1時表示失敗。
與ScrollToRow()函數據功能相關的還有如下幾個函數:
ScrollPriorRow():向上滾動一行
ScrollNextRow():向下滾動一行

列操作
列操作類的函數主要是選擇指定的列和獲取列的信息。

一、獲取列


如果要獲取當前的列號,可以使用GetColumn()函數,如果要獲取當前的列名,可以使用GetColumnName()函數。
語法格式:
dw_control.GetColumn()
dw_control.GetColumnName()
這兩個函數都沒有參數,GetColumn()函數返回一個長整型值,代表當前的列號,GetColumnName()函數返回當前列的列名。如果返回0,表示當前沒有任何列被選擇返回-1表示失敗。

二、設置列


要設置某一列為DataWindow中的當前列,可以使用SetColumn()函數。
語法格式:
dw_control.SetColumn(column)
其中column既可以是列號,也可以是列名。當該函數返回1時表示成功,返回-1時表示失敗。

數據操作
數據操作類的函數主要是對DataWindow中的數據進行獲取、設置。

一、獲取數據


如果要從DataWindow的指定行和列中獲取數據,就要使用GetItem系列的函數。

這個系列的函數共有五個,分別是對字符串、數字、日期、日期時間和小數。
語法格式:
dw_control.GetItemString(rownumber,column)
dw_control.GetItemNumber(rownumber,column)
dw_control.GetItemDate(rownumber,column)
dw_control.GetItemDateTime(rownumber,column)
dw_control.GetItemDecimal(rownumber,column)
其中,rownumber參數表示行號,column可以是列號或列名。

二、設置數據


與獲取數據所用的函數不同,設置DataWindow內指定行列處的數據只要使用一個SetItem()函數就可以了。
語法格式:
dw_control.SetItem(rownumber, column, value)
其中rownumber表示行號,column可以是列號,也可以是列名,value表示要設置的值。但是該必須與DataWindow中指定的行列處的數據類型一致,不然PowerBuilder會報錯。
SetItem()函數返回1時表示成功,返回-1時表示失敗。

三、數據排序


如果希望對DataWindow內的數據進行重新排序,而又不想重新從數據庫中檢索數據,可以使用SetSort()和Sort()函數。這兩個函數一起完成對DataWindow進行排序的功能。其中SetSort()函數用于設置如何排序,Sort()函數用于對DataWindow實際進行排序
語法格式:
dw_control.SetSort(expression)
dw_control.Sort()
其中expression是一個字符串,表示排序的表達式,它的具體值是一個列名后面加一個空格,然后是"A",表示升序,或"D",表示降序。如果有多個列要同時進行排序,它們之間用逗號隔開。
例:dw_1.SetSort("name A,xh D")
這兩個函數都是返回1表示成功,返回-1表示失敗。

四、數據過濾


如果希望對DataWindow內的數據進行過濾而不重新從數據庫中檢索數據,可以使用SetFilter()和Filter()函數。它們一起完成對數據的過濾功能。其中

SetFilter()函數用來設置過濾條件,Filter()函數用于對DataWindow進行過濾。
語法格式:
dw_control.SetFiter(expression)
dw_control.Fiter()
其中expression是一個字符串,表示過濾的條件,它實際是一個邏輯表達式。
例:
dw_1.SetFilter("id>\'003\' AND name like\'王%\'")
dw_1.Filter()
這兩個函數都是返回1表示成功,返回-1表示失敗。

五、數據檢查


PowerBuilder
提供了兩個函數用于數據的檢查,它們是DeleteCount()和ModifiedCount(),其作用分別是檢查DataWindow中的數據自上一次更新到現在,被刪除的行數和被修改的行數。它們一般在窗口的CloseQuery事件中使用,用來檢查該窗口的DataWindow中的數據是否有尚未保存的修改。
語法格式:
dw_control.DeleteCount()
dw.control.ModifiedCount()
它們分別返回從上一次更新到現在,DataWindow中被刪除和被修改的行數。如果沒有行被刪除或被修改,那么它們返回0。如果出現錯誤則返回-1。
一般情況下,如果窗口中含有可供修改的數據窗口對象,那么在窗口的CloseQuery事件中通常使用如下代碼檢查數據窗口對象中是否有尚未保存的數據:
Int li_return
IF dw_1.ModifiedCount() > 0 OR dw_1.DeletedCount() >0 THEN
???? li_return = MessageBox("提示","數據尚未保存,是否保存?",Question!,YesNoCancel!,3)
???? CHOOSE CASE li_return
??????????? CASE 1
???????????????? TriggerEvent(\'ue_save\')
???????????????? RETURN 0
??????????? CASE 2
???????????????? RETURN 0
??????????? CASE 3
???????????????? RETURN 1
??? END CHOOSE
END IF

?

1.??? 怎么判斷數據窗口中指定字段的數據類型?

Dw_1.describe(“colname.coltype”)

返回類型為:string

pb常用函數(二)(轉)

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

功能得到時間值中的分鐘,有效值在0059之間。
語法Minute ( time )
參數timetime類型的值返回值Integer。函數執行成功時得到time參數中的分鐘(0059之間)。如果time參數的值為NULL,則Minute()函數返回NULL
Month()
功能得到日期值中的月份,有效值在112之間。
語法Month ( date )
參數datedate類型的值返回值Integer。函數執行成功時得到date參數中的月份(112之間)。如果date參數的值為NULL,則Month()函數返回NULL
Now()
功能得到客戶機的當前系統時間,返回值為Time類型。
語法Now()返回值Time。該函數返回客戶機的當前系統時間。
RelativeDate()
功能得到指定日期前多少天或后多少天的日期。
語法RelativeDate(date,n)
參數dateDate類型,指定基準日期ninteger類型,指定天數返回值Date。當n的值大于0時返回參數date指定日期后第n天的日期;當n的值小于0時返回參數date指定日期前第n天的日期。如果任何參數的值為NULL,則RelativeDate()函數返回NULL
RelativeTime()
功能得到指定時間前多少秒或后多少秒的時間,采用24小時制。
語法RelativeTime ( time, n )參數timetime類型,指定基準時間nlong類型,指定秒數返回值Time。當n的值大于0時返回參數time指定時間后第n秒的時間;當n的值小于0時返回參數time指定時間前第n秒的時間。如果任何參數的值為NULL,則RelativeTime()函數返回NULL
Second()
功能得到時間值中的秒,有效值在0059之間。
語法Second ( time )
參數timetime類型的值返回值Integer。函數執行成功時得到time參數中的秒(0059之間)。如果time參數的值為NULL,則Second()函數返回NULL
Today()
功能得到當前系統日期,在某些情況下,同時得到當前系統時間。
語法Today()返回值Date。該函數返回當前系統日期。用法單獨調用Today()函數時,該函數總是返回當前系統日期,但是,雖然Today()函數的返回值類型為Date,在該函數用做某些函數的參數、而該參數要求DateTime類型的值時,Today()函數也能夠在返回當前系統日期的同時返回當前系統時間。再如,Today()函數作為數據窗口控件SetItem()函數的參數,該函數參數中指定的數據窗口列的數據類型為DateTime,那么當前系統日期和時間將同時設置到數據窗口指定項中。
Year()
功能得到日期值中的年度(有效取值10003000)
語法Year(date)
參數datedate類型的值返回值Integer。函數執行成功時得到date參數中的年份(采用四位數字),發生錯誤時返回1900,如果date參數的值為NULL,則Year()函數返回NULL。用法當應用程序把有兩位數字表示年份的字符串轉換成日期時,PowerBuilder根據下述規則選擇世紀:如果年份值在0049之間,PowerBuilder將年份中的世紀(前兩位數字)當作20;如果年份值在5099之間,PowerBuilder將年份中的世紀(前兩位數字)當作19。比如,字符串"20-10-25"PowerBuilder轉換為2020-10-25;字符串"98-10-25"PowerBuilder轉換為1998-10-25。因此,如果應用程序中需要指定1950年之前的日期,應該使用四位數字表示年份,以避免引起歧義。PowerBuilder能夠處理的年份從10003000之間。  
FileClose()
功能關閉先前用FileOpen()函數打開的文件。
語法FileClose ( fileno )
參數filenointeger,指定要關閉文件的文件句柄,該句柄使用FileOpen()函數打開文件時得到返回值Integer。函數執行成功時返回1,發生錯誤時返回-1。如果fileno參數的值為NULL,那么FileClose()函數返回NULL
FileDelete()
功能刪除指定的文件。
語法FileDelete ( filename )
參數filenamestring類型,指定要刪除文件的文件名,其中可以包含路徑返回值Boolean。函數執行成功時返回TRUE,發生錯誤時返回FALSE。如果filename參數的值為NULL,那么FileDelete()函數返回NULL
FileExists()
功能檢查指定的文件是否存在。
語法FileExists ( filename )
參數filenamestring類型,指定要檢查存在性的文件的文件名,其中可以包含路徑返回值Boolean。如果指定文件存在時返回TRUE,不存在時返回FALSE。如果filename參數的值為NULL,那么FileExists()函數返回NULL。用法如果filename參數指定的文件被另一個應用加鎖鎖住,那么FileExists()函數也將返回FALSE
FileLength()
功能得到指定文件的長度(以字節為單位)。
語法FileLength ( filename )
參數filenamestring類型,指定要得到其長度的文件的文件名,其中可以包含路徑返回值Long。函數執行成功時返回指定文件的長度(以字節為單位)。如果指定的文件不存在,函數返回-1。如果filename參數的值為NULL,那么FileLength()函數返回NULL
FileOpen()
功能以指定的讀寫方式打開指定的文件,同時返回該文件的句柄。
語法FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode,{creator,filetype}}}}})
參數filenamestring類型,指定要打開文件的名稱,其中可以包含路徑 filemodeFileMode枚舉類型,可選項,指定文件打開方式。有效取值為:?LineMode! - 缺省值,行模式;?StreamMode! - 流模式fileaccessFileAccess枚舉類型,可選項,指定文件訪問方式。有效取值為:?Read! - 缺省值,只讀方式,這樣打開的文件只能進行讀操作;?Write! - 只寫方式,這樣打開的文件只能進行寫操作?filelockFileLock枚舉類型,可選項,指定文件加鎖方式。有效取值為:n LockReadWrite! - 缺省值,只有打開該文件的用戶能夠訪問該文件,其它用 戶對該文件的訪問均被拒絕;n LockRead! - 只有打開該文件的用戶能夠讀該文件,但其它任何用戶均可寫該文件;n LockWrite! - 只有打開該文件的用戶能夠寫該文件,但其它任何用戶均可讀該文件;n Shared! - 所有用戶均可讀寫該文件writemodeWriteMode枚舉類型,可選項,當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 )
參數filenointeger類型,指定文件句柄(由FileOpen()函數得到)variablestringblob類型的變量,用于保存讀取的數據返回值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 )
參數filenointeger類型,指定文件句柄(由FileOpen()函數得到)positionlong類型,指定相對于origin參數指定位置的新位置偏移量,以字節為單位originSeekType枚舉類型,指定從哪里開始移動文件指針,即指針移動的基準。有效取值為:?FromBeginning! - 缺省值,從文件開頭移動指針;?FromCurrent! - 從當前位置移動文件指針;?FromEnd! - 從文件結尾處移動文件指針返回值Long。函數執行成功時返回指針移動后的指針位置。如果任何參數的值為NULL,那么FileSeek()函數返回NULL


總結

以上是生活随笔為你收集整理的pb中数据窗口函数小结(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。