Chinaunix首页 | 论坛 | 博客
  • 博客访问: 786797
  • 博文数量: 156
  • 博客积分: 5320
  • 博客等级: 大校
  • 技术积分: 1605
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-09 12:24
文章分类

全部博文(156)

文章存档

2010年(20)

2009年(46)

2008年(21)

2007年(21)

2006年(33)

2005年(10)

2004年(5)

分类:

2006-01-10 17:49:09

PowerBuilder 8 參考手冊

 

1.用戶自定義標識符中的五個特殊符號:_-$#%

2.isNull(),setNull()

3.代詞:This(代表窗口,用戶對象,菜單,應用對象或控件本身);parent(當前控件所在的窗口);ParentWindow(代表運行時菜單所在的窗口);Super(調用父對象的事件處理程式)

4.對象屬性 函數和事件的引用方法

  {objectname.}{type}{calltype}{when}functionname({argumentlist})

5.PB中有7個寶留字可為用戶自定義的函數:and ,close, creat, describe, open, post, update

6.PB中數據類型有14:Blog,Boolean,Char,Date,DateTime,Dec,Double,Int,Long,Real,String,Time,UnsignedInteger(Uint),UnsignedLong(Ulong)

PAGE 39

7.系統對象數據類型:PB8中窗口,菜單,所有控件都是系統對象.

8.枚舉類型:PB8定義的特殊常量,常用於系統定義函數的參數

9.數組定義.

10.常量說明:CONSTANT 數據類型 常量名=常量值

11.外部函數說明:全局外部函數/局部外部函數

   說明函數:{access} FUNCTION returndatatype name ({{REF} datatype1 arg1,…,{REF}datatype argn}) LIBRARY "libname"

ALIAS FOR "extname"

   說明過程:{access} SUBROUTINE name ({{REF} datatype1 arg1,…,{REF}datatype argn}) LIBRARY "libname"

ALIAS FOR "extname"

PAGE 49

12.存儲過程
函數型存儲過程說明的語法為 說明時應該寫成一行
FUNCTION rtndatatype functionname ({{REF}datatype1 arg1,..., {REF} datatypen argn}) RPCFUNC {ALIAS FOR "spname"}
過程型存儲過程說明的語法為 說明時應該寫成一行
SUBROUTINE functionname ({{ REF } datatype1 arg1,...,{REF}datatypen argn}) RPCFUNC{ALIAS FOR "spname" }
13.調用方法:object.function ()
object.function() 其中object是事務對象名function是存儲過程名
14.定義結構
   使用結構 結構變量名.結構分量
15.變量的作用域: 全局變量 實例變量 共享變量 局部變量
16.程序段一
   Integer i=6
   Integer k
   i=i+5
   k=i+10
   程序段二
   Integer i=6
   i=i+5
   Integer k=i+10
17.默認中 PB.INI 文件[pb]節中 DashesInIdentifiers 選項等于 1
18.表達式中如果有一個變量的值為 NULL 那么表達式的值為 NULL
19.數值數據類型的優先級從高到低依次為:Double<-Real<-Decimal<-UnsignedLong<-Long<-UnsignedInteger <-Integer
20.加法,減法,乘法的最低精度是長整型 。加法,減法,乘法的最低精度是長整型 。
21.1.6.1 創建對象實例
  語法一  objectvariable=CREATE objecttype
  語法二  objectvariable=CREATE USING objecttypestring
22. 釋放對象實例
    DESTROY objectvariable

PAGE 62


23. CHOOSE CASE 語句
    用逗號分隔的一組數據 例如 2,4,7
    用 TO 表示一個區間范圍 例如 2 TO 15
    用 IS 代表測試值 后跟關系運算符和比較值 例如 IS> 30
24. DO … LOOP 循環
    DO UNTIL condition …LOOP
    DO WHILE condition … LOOP
    DO … LOOP UNTIL condition
    DO … LOOP WHILE condition
25.程式返回 RETURN { expression }
   HALT {CLOSE}
26.CALL ancestorobject {`controlname}::event { ( argumentlist ) }
27.嵌入式 SQL 語句
   欲了解具體數據庫可用的嵌入式 SQL 語句請查閱聯機幫助的 SQL, embedded 主題
28.CONNECT {USING TransactionObject};
   DISCONNECT {USING TransactionObject} ;
29.提交事務語句 COMMIT COMMIT {USING TransactionObject} ;
   回滾事務語句 ROLLBACK ROLLBACK {USING TransactionObject} ;
30.單行檢索語句 SELECT
   Ex.  
   int Emp_num
   Emp_num = Integer(sle_Emp_Num.Text)
   SELECT employee.Emp_LName, employee.Emp_FName INTO :sle_LName.text,:sle_FName.text FROM

Employee  WHERE Employee.Emp_nbr=:Emp_num USING Emp_tran;
31.插入語句 INSERT
   Ex.
   int EmpNbr //雇員號
   string EmpName //雇員名
      ...
   INSERT INTO Employee(employee.Emp_nbr, employee.Emp_name) VALUES(:EmpNbr,:EmpName);
   例子中省略了 USING 子句 表示該插入語句使用 SQLCA 事務對象
32.刪除語句 DELETE
   DELETE FROM TableName WHERE Criteria {USING TransactionObject};
   其中TableName是表名,Criteria是刪除條件,滿足該條件的行被刪除.TransactionObject是事務對象名,缺省

時使用SQLCA
33.修改語句 UPDATE
   UPDATE TableName SET FieldName = Value{,FieldName = Value {,…}} WHERE Criteria{USING

TransactionObject} ; 
34.檢查SQL語句執行情況
   SQLCode 取值為
   0-----最近一次SQL語句成功
   -1----最近一次SQL語句失敗
   100---最近一次SQL語句沒有返回數據
page73
35.1.12.8 讀取多行數據
   1 用 DECLARE 說明游標
   2 用 OPEN 語句打開游標
   3 使用 FETCH 語句讀取一行數據 
   4 處理數據 
   5 判斷是否已經讀完所有數據 未讀完時重復執行 3~5 步 
   6 使用 CLOSE 語句關閉游標
   在使用游標前需要用DECLARE語句說明游標 其語法格式為 DECLARE CursorName CURSOR FOR

SelectStatement{USING TransactionObject};
   OPEN 語句打開已經說明的游標并執行相應的SELECT語句 其語法格式為  OPEN CursorName ;
   FETCH 語句從游標中讀取當前記錄并把它保存到指定的變量中 當數據庫支持下述用法時 您還可以使用

FETCH  FIRST FETCH  PRIOR FETCH  LAST FETCH 語句的語法格式為  FETCH CursorName  INTO

HostVariableList 
   CLOSE 語句關閉先前打開的游標 其語法格式為  CLOSE CursorName ;
36.動態 SQL 有四種類型 
    既無輸入參數,也無結果集
    有輸入參數,但沒有結果集
    編譯時已經知道參數和結果集的列
    開發程序時尚不知道參數和結果集
    語法格式1為 
    EXECUTE IMMEDIATE SQLStatement {USING TransactionObject};
    其中SQLStatement是個字符串,其內容是有效的SQL語句TransactionObject是事務對象名,大括號表示該子

句可以省略,省略時使用SQLCA.
37. TRY...CATCH...FINALLY...END TRY
page81
38.第 2 章 系統函數
   系統函數可分為下述21類: 數組函數,Blob 大二進制對象 函數,數據類型檢查與轉換函數,日期 時間函數

,DDE 客戶函數,DDE 服務器函數,文件操作函數,國際化函數,庫管理函數,數值計算函數,打印與打印機設置函數

,注冊表操作函數,字符串操作函數,系統與環境函數,定時函數,窗口操作函數,類定義查找函數,垃圾收集函數 ,

共享對象函數,跟蹤函數,提供幫助函數,其他函數

page 108
39.2.7  文件操作函數
     文件的打開方式有兩種:行模式 Line Mode 和流模式 Stream Mode
40.功能:改變當前目錄
   語法:ChangeDirectory ( directoryname )
   示例:下面的語句將當前目錄設置為當前目錄的父目錄,并將新的當前目錄顯示在單行編輯框 sle_1


       ChangeDirectory( ".." )                //設置新的當前目錄
       sle_1.text= GetCurrentDirectory( )    //顯示當前目錄
41.2.8  國際化函數
42.2.9  庫管理函數
43.2.10  數值計算函數
44.2.11  打印與打印機設置函數
45.2.12  注冊表操作函數
46.2.13  字符串操作函數
47.2.14  系統與環境函數  page 157
48.2.14.4  GetEnvironment() 獲取CPU,操作系統,螢幕及與系統相關資訊.
           Ex.
              string path
              environment env
              integer rtn
              rtn = GetEnvironment(env)
              IF rtn <> 1 THEN RETURN
                 CHOOSE CASE env.OSType 
                    CASE Macintosh!   
                       path = "Macintosh HD:PB Apps Folder:Analyze" 
                    CASE aix!   
                       path = "/export/home/pb_apps/analyze.exe"  
                    CASE Windows!, WindowsNT!   
                       path = "C:\PB_apps\analyze.exe" 
                    CASE ELSE   
                       RETURN
                 END CHOOSE
                 Run(path)
49.2.14.5 GetFocus()
          下面的代碼將當前得到焦點控件的引用賦值給變量 which_cont 然后把該控件的 Text 屬性

的值賦          給一個變量.注意:代碼中使用了兩個對象變量 sle_which 和 cb_which目的在于引用

相應對象的屬            性.
          Ex.
             GraphicObject which_cont
         SingleLineEdit sle_which
             CommandButton cb_which
             string text_value
             which_cont = GetFocus()
             CHOOSE CASE TypeOf(which_cont)  
               CASE SingleLineEdit!  //單行編輯框   
                    sle_which = which_control   
                    text_value = sle_which.Text 
               CASE CommandButton!    //命令按鈕   
                    cb_which = which_control   
                    text_value = cb_which.Text 
               CASE ELSE   
                    text_value = ""
             END CHOOSE
50.2.14.8  ProfileInt() 從初始化文件.ini中讀取整型設置值.
            語法: ProfileInt ( filename, section, key, default )
51.2.14.9  ProfileString() 從初始化文件.ini中讀取字符串型設置值.
            語法: ProfileString ( filename, section, key, default )
52.2.14.11  Run() 運行指定的應用程序. page 163
            語法: Run ( string {, windowstate } 2.19  共享對象函數)
53.2.14.12  Send() 向窗口發送指定的消息并立即執行相應的事件處理程序
            語法: Send( handle, messageno, word, long )
            Ex.
                1.下面的兩條語句均觸發命令按鈕 cb_OK 的 Clicked 事件:
                    Send(Handle(Parent), 273, 0, Handle(cb_OK))
                    cb_OK.TriggerEvent(Clicked!)

                2.下面的代碼向窗口 w_date 發送一個向下滾動一頁的消息,消息號為 277:
                    Send(Handle(w_date), 277, 3, 0)
54.2.14.13  SetProfileString() 設置初始化文件中指定項的值.
            語法: SetProfileString ( filename, section, key, value )
55.2.15  定時操作函數
56.2.16  窗口操作函數
57.2.17  類定義查找函數
58.2.18  垃圾收集函數
59.2.19  共享對象函數
60.2.20  提供幫助函數
61.2.21  其他系統函數
62.2.21.13  RGB() 
page 187

63.第 3 章  對象的屬性 事件和函數
64.3.1    公共對象函數
          公共對象函數包括 ClassName(),Drag(),GetContextService(),GetParent(),Hide(),Move(),                PointerX(),PointerY(),PostEvent(),Print(),Resize(),SetFocus(),SetPosition(),SetRedraw          (),Show(),TriggerEvent(),TypeOf()
65.3.1.1  ClassName()
66.3.1.2  Drag()
67.3.1.3  GetContextService()
      語法: Object.GetContextService ( servicename, servicereference )
68.3.1.4  GetParent()
69.3.1.5  Hide()
70.3.1.6  Move()
          語法: objectname.Move ( x, y )
71.3.1.7  PointerX()
          功能: 確定鼠標指針離指定對象上邊緣的距離
          語法: objectname.PointerX()
72.3.1.7  PointerY()
73.3.1.9  PostEvent()
          功能: 將指定事件放置到指定對象或控件事件隊列的尾部(異步觸發事件).
          語法: objectname.PostEvent ( event {,word, long})
          如果 TriggerEvent()或 PostEvent()函數位于事件處理程序的最后一行,且沒有發生其他事件時,兩           者的效果相同
74.3.1.10 Print()
          語法: objectname.Print ( printjobnumber, x, y{, width, height } )
          用法: 使用這個格式的 Print()函數時,需要首先用 PrintOpen()函數建立打印作業,之后調用一次            或多次 Print()函數.完成打印工作后,使用 PrintClose()或 PrintCancel()函數關閉打印作業.
75.3.1.11 Resize()
          語法: objectname.Resize ( width, height )
76.3.1.12 SetFocus()
          語法: objectname.SetFocus()
77.3.1.13 SetPosition()
          語法: objectname.SetPosition ( position {, precedingobject } )
          功能: 對窗口中的控件來說,該函數指定控件在窗口中的前后次序;對窗口來說,該函數指定所選窗口           是否總顯示在其他已打開窗口的前面 .
78.3.1.14 SetRedraw()
          功能: 指定每次修改控件屬性后是否自動重繪控件
          法語: objectname.SetRedraw(boolean)
79.3.1.15 Show()
          語法: objectname.Show ()
80.3.1.16 TriggerEvent()
81.3.1.17 TypeOf()
          功能: 返回控件或對象的類型,其返回值是 Object 枚舉類型值
82.3.2    ADOResultSet 對象  page 202
          1 GetRecordSet() 功能: 得到當前的 ADO 記錄集
          2 SetRecordSet() 功能: 設置ADOResultSet對象,以便從所傳遞的ADO記錄集中得到數據和元數據
          3 SetResultSet() 功能: 使用 ResultSet 對象傳遞的數據填充新的 ADOResultSet 對象
83.3.3    應用對象 Application
          PowerBuilder 為每個應用程序都提供 5 個默認的全局變量別                              為:SQLCA,SQLDA,SQLSA,Error,Message
84.3.3.1  應用對象的屬性
85.3.3.2  應用對象的事件
86.3.3.3  應用對象的函數
          1 SetLibraryList()
            功能: 修改應用程序的庫搜索路徑
            語法: applicationname.SetLibraryList ( filelist )
          2 SetTransPool()
            功能: 設置應用程序使用的數據庫事務池
            語法: applicationname.SetTransPool ( minimum, maximum, timeout )
87.3.4    數組邊界 ArrayBounds 對象
          1  數組邊界對象的屬性
          2  數組邊界對象的函數
88.3.5    類定義 ClassDefinition 對象
          1  類定義對象的屬性
          2  類定義對象的函數
89.3.6    連接 Connection 對象
          1  連接對象的屬性
          2  連接對象的事件
          3  連接對象的函數
90.3.7    連接信息 ConnectionInfo 對象
          1  連接信息對象的屬性
          2  連接信息對象的函數
91.3.8    CORBAObject 對象
92.3.9    上下文信息 ContextInformation 對象
93.3.10   上下文關鍵字 ContextKeyword 對象
94.3.11   數據存儲 DataStore 對象 page222-234
95.3.12   子數據窗口 DataWindowChild 對象
96.3.13   動態描述區 DynamicDescriptionArea 對象
97.3.15   枚舉定義 EnumerationDefinition 對象
98.3.17   環境 Environment 對象 page238
99.3.18   出錯 Error 對象
100.3.19  ErrorLogging 對象
101.3.22  Inet 對象
          Inet 對象為應用程序提供了在系統默認瀏覽器中顯示 Web 頁,訪問指定頁面的 HTML以及向                  支持CGI,ISAPI,NSAPI的應用程序發送數據的能力
          1. GetURL()
          2. HyperLinkToURL()
          3. PostURL()
102.3.23  InternetResult 對象
          應用程序執行了 GetRUL()和 PostURL()后,Internet 按異步方式返回數據.這些數據被保存在繼承            了,InternetResult 對象的用戶對象的實例變量中.因此,你可以把 InternetResult對象看成是保存           和緩沖異步數據的緩沖區.
103.3.24  JaguarORB 對象
104.3.25  ListViewItem 對象 page 252
105.3.30  MDIClient 對象
106.3.31  菜單 Menu 對象
107.3.32  MenuCascade 對象
108.3.33  消息 Message 對象
109.3.35  OLEStorage 對象
          OLEStorage 對象用做已經打開的 OLE 存儲的代理
110.3.36  OLEStream 對象
          OLEStream 對象用做 OLE 流的代理
111.3.37  管道 Pipeline 對象
          管道對象提供了在數據庫內部,數據庫之間,甚至不同的數據庫管理系統之間快速復制數據的簡便途            徑
112.3.38  ProfileCall 對象
          ProfileCall 對象提供了性能分析模型中有關調用的信息.包括調用例程和被調用例程信息,調用消            耗的時間以及調用執行時間,以秒為單位.可以與 ProfileCall 對象一起使用的對象包括                     ProfileRoutine 和 Profiling
113.3.39  ProfileClass 對象
          ProfileClass 對象提供了性能分析模型中類的信息,包括類中已有哪些例程
114.3.40  ProfileLine 對象
          ProfileLine 對象提供了性能分析模型中例程的各代碼行的信息.包括代碼行執行次數代碼行調用的           例程,執行的時間,以秒為單位 等
115.3.41  ProfileRoutine 對象
          ProfileRoutine 對象提供了性能分析模型中例程的信息
116.3.42  Profiling 對象
          Profiling 對象用于分析 PowerBuilder 應用程序的性能
117.3.43  ResultSet 對象
          ResultSet 對象用于從 Jaguar 中運行的組件里得到結果集.它簡化了事務服務器的結果集與數據存           儲對象之間的對話.
118.3.44  ResultSets 對象
          ResultSets 對象用于處理 Jaguar CTS 返回的多個結果集
119.3.46  SSLCallBack 對象
          SSLCallBack 對象為 PowerBuilder 客戶程序提供了處理來自 Jaguar 的 SSL回調的能力
120.3.47  SSLServiceProvider 對象
          SSLServiceProvider 對象用于建立 PowerBuilder 客戶應用程序到 Jaguar 服務器的 SSL連接
121.3.48  定時 Timing 對象
          當應用程序需要一個與窗口無關的定時器時,可以使用定時 Timing 對象來實現
122.3.49  事務 Transaction 對象
          事務對象定義 PowerBuilder 應用程序用以連接到數據庫的連接參數
123.3.50  TreeViewItem 對象
          TreeViewItem 對象是個 PowerBuilder 系統結構,用于表達樹形視圖控件的列表項
124.3.51  類型定義 TypeDefinition 對象
          類型定義 TypeDefinition 對象提供了變量數據類型方面的信息
125.3.52  VariableCardinalityDefinition 對象
          VariableCardinalityDefinition 對象是提供變量類型信息的類.它指明相應變量是簡單實例變量             還是數組類型變量
126.3.53  變量定義 VariableDefinition 對象
          變量定義對象是 PowerBuilder 的一個預定義類.它描述變量 屬性 或參數的特性用在                       ClassDefinition 和 ScriptDefinition 對象中
127.3.54  窗口 Window 對象
          窗口是 PowerBuilder 應用程序與用戶之間進行交互的主要接口.  窗口可以顯示信息從用戶那里得到數據,以及響應用戶的鼠標,鍵盤操作等 
128.3.55  CORBACurrent 對象
          CORBACurrent 服務對象提供了與調用線程相關的 EAServer 的          信息
129.3.56  例外 Exception 對象
          Exception 對象是一種數據類型,它是系統中所有例外類型的基          類,并由 Throwable 對象導出
130.3.57  運行時錯誤 RuntimeError 對象
          RuntimeError對象從Throwable基類導出.PowerBuilder運行          時錯誤可以由RuntimeError對象反映出來
131.3.58  Throwable 對象
          Throwable 對象是所有例外處理使用的對象的基類.也是 Error 對象的基類
page 342

132.      第四章    <> page417
          1.編輯控件
          2.顯示輸出控件
          3.選擇操作控件
          4.裝飾控件
          5.按紐控件
          6.進度展示控件
          7.超鏈接控件
133.4.4   超文本編輯框(RichTextEdit) page 446
134.4.5   靜態文本(StaticText)控件   page 480
135.4.7   統計圖(Graph)控件          page 488
136.4.8   用戶對象(UserObject)控件   page 525
137.4.9   OLE控件                    page 528
138.4.10  單按紐(RadioButton)        page 545
139.4.11  複選框(CheckBox)
140.4.12  列表框(ListBox)            page 551
141.4.13  下拉列表框(DropDownListBox)page 563
142.4.14  下拉列表圖片框(DropDownPictureListBox)
143.4.15  列表視圖(ListView)控件     page 591
144.4.16  樹形視圖(TreeView)控件
145.4.17  標簽(Tab)控件
146.4.18  直線(Line)控件             page 648
147.4.19  橢圓(Oval)控件
148.4.20  矩形(Rectangle)控件
149.4.21  圓角矩形(RoundRectangle)控件
150.4.22  組框(GroupBox)控件
151.4.23  命令按紐(CommandButton)控件
152.4.24  圖片按紐(PictureButton)控件
153.4.25  水平滾動條(HScrollBar)控件
154.4.26  垂直滾動條(VScrollBar)控件
155.4.27  水平進度條(HProgressBar)控件
156.4.28  垂直進度條(VProgressBar)控件
157.4.29  水平軌蹟條(HTrackBar)控件
158.4.30  垂直軌蹟條(HTrackBar)控件

第五章 數據窗口控件的屬性,事件和函數<> page 344

阅读(5156) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-03-10 15:57:51

vvvvvv