Time of Update: 2017-02-27
14.5.1 使用GotoKey方法尋找資料記錄 使用Gotokey方法查詢資料庫中的記錄的具體步驟如下:1、確保要尋找的欄位是關鍵字或已經為它定義了輔助索引,並保證TTable組件的屬性列表中有關鍵字段名或輔助索引名。2、通過調用GotoKey方法,把要尋找的TTable組件置成尋找模式。3、把尋找值送進被尋找的Field的尋找緩衝區。4、調用TTable組件的GotoKey方法,並測試它的傳回值判斷尋找是否成功。
Time of Update: 2017-02-27
14.3 建立主要──詳細資料庫應用 我們前面在介紹的基於單個資料庫表的資料庫應用程式只能對資料庫表進行簡單的管理,大多數只用來瀏覽單個資料庫表中的記錄資訊,如果我們想瀏覽多個相關的資料庫表中的記錄資訊,就必須要建立主要──明細型資料庫應用程式。
Time of Update: 2017-02-27
物件導向的分析過程可分為兩個階段,即論域分析階段和應用分析階段。論域分析論域分析是軟體開發的基本組成部分,目的是使開發人員瞭解空間的組成,建立大致的系統實現環境。論域分析給出一組抽象,從高層表示論域知識,常常超出當前應用的範圍,作為特定系統需求開發的參考。論域分析實際上是一種學習,軟體開發人員在這個階段盡可以地理解當前系統與應用有關的知識。應放開思維,放寬考慮的領域,儘可能標識與應用有關的概念。論域分析的邊界可能很模糊,有了廣泛的論域知識,涉及到具體的應用時,就可以更快地進入情況,掌握應用的核心
Time of Update: 2017-02-27
資料集組件TTable或TQuery具有很多的事件。為這些事件編寫相應的程式碼可以進行有效性驗證、計算可計算欄位的值、確認對資料庫表的多種操作等等。這些事件及其描述如表15.4所示。 表15.4 資料集組件常用的事件━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━事 件 描 述───────────────────────────────────BeforeOpen,Afteropen 在資料集組件被開啟之前/之後被觸發───────────────────────────
Time of Update: 2017-02-27
17.3.3 通過TQuery組件如何獲得活動的資料我們在前面的章節裡介紹TTable組件時,我們知道通過TTable組件從資料庫中獲得的資料都是活動的,也就是說使用者可以直接通過資料瀏覽組件對這些資料進行編輯修改。而通過TQuery組件可以獲得兩種類型的資料:●
Time of Update: 2017-02-27
在Delphi應用程式中編寫和使用的SQL語句有兩種:即靜態SQL語句、動態SQL 陳述式。靜態SQL語句是在程式設計階段,將SQL命令文本作為TQuery組件的SQL屬性值設定。而動態SQL語句編程是SQL語句中包含一系列的參數,在程式運行過程中各參數值是可變的,即可以動態地給SQL語句中的參數賦值。
Time of Update: 2017-02-27
18.4.2.4 預存程序編程預存程序也是SQL伺服器上的一段程式,它接收輸入參數,在伺服器端執行,並將結果返回用戶端,預存程序是必須在客戶應用程式中顯式調用的。對於資料庫表中大量記錄的統計和Function Compute,預存程序是很有用,這樣可以將重複性計算任務轉換到伺服器,提高資料庫應用的效能。 Delphi中有兩個組件能操作遠端資料庫伺服器上的預存程序:TQuery和TStoredProc。1.
Time of Update: 2017-02-27
6.2.7 記錄的刪除、插入、排序 刪除一條記錄的基本思路是:擷取目前記錄的位置並把該位置後的記錄逐個向前移動。 檔案在最後一條記錄前截斷。 for i:=CurrentRec+1 to Count-1 dobeginseek(MethodFile,i);read(MethodFile,MethodRec);seek(MethodFile,i-1);Write(MethodFile,MethodRec);end;Truncate(MethodFile);
Time of Update: 2017-02-27
DDE聯結的建立通過調用SetLink方法實現。建立新聯結的實現代碼如下。 procedure TFormD.doNewLink(Sender: TObject);beginDDEClient.SetLink (AppName.Text, TopicName.Text);DDEClientItem.DdeConv := DDEClient;DDEClientItem.DDEItem :=
Time of Update: 2017-02-27
訊息響應過程WMChangeCBChain在剪貼簿觀察器鏈上其它觀察器退出時被調用。根據被移出觀察器的不同位置決定了不同的處理方法。procedure TClipSaveForm.WMChangeCBChain(var Msg: TWMChangeCBChain);beginif Msg.Remove = NextViewerHandle thenNextViewerHandle := Msg.Nextelseif NextViewerHandle <> 0
Time of Update: 2017-02-27
連結:http://poj.org/problem?id=1330題目:Nearest Common AncestorsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 12678 Accepted: 6764DescriptionA rooted tree is a well-known data structure in computer science and
Time of Update: 2017-02-27
8.3.4.2 在剪貼簿中使用OLE對象 要把OLE對象粘貼到OLE應用程式中,必須用Windows的 RegisterClipboardFormat函數為鏈連對象、內嵌物件註冊兩種新的剪貼簿格式。這些格式將在BOLEFormat記錄的fmtIdt域中被用到。本章常式中, 程式在OnCreate事件中註冊OLE對象的剪貼簿格式,以下代碼是主表單的OnCreate事件: procedure TOLEFrameForm.FormCreate(Sender:
Time of Update: 2017-02-27
連結:http://acm.hdu.edu.cn/showproblem.php?pid=3339題目:Problem DescriptionSince 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the number of nuclear weapons have soared across the globe.Nowadays,the crazy boy in
Time of Update: 2017-02-27
連結:http://acm.hdu.edu.cn/showproblem.php?pid=1142題目:A Walk Through the ForestTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3689 Accepted Submission(s): 1340Problem
Time of Update: 2017-02-27
首先,在TForm1對象中宣稱DisplayHint方法,並在單元的implementation部分編寫實現代碼。在DisplayHint方法中,把應用程式的Hint屬性賦給面板的標題。另一個重要問題是必須把DisplayHint方法作為處理OnHint事件的方法。表單的OnCreate事件的代碼解決了這個問題。下面列出了程式的完整代碼。當使用者運行程式, 把滑鼠置於菜單或組件之上,在表單的狀態條中將出現定義的提示。 TypeTForm1 = class(TForm)Button1:
Time of Update: 2017-02-27
12.3.3 響應一族異常 諸如 on ExceptionType do的異常響應語句不僅可響應本類異常,而且可以響應子類異常。對於象EIntError、EMathError等系統不會引發的異常,它們將只響應其子類異常。而對於象 on Exception do這樣的語句將會對任何異常進行響應。下面一段代碼對整數越界異常進行單獨處理,而對其它整數異常進行統一處理: try{整數運算}excepton ERangeError do{越界處理}on EIntError
Time of Update: 2017-02-27
異常響應為開發人員提供了一個按自己的需要進行異常處理的機制。try …except …end形成了一個異常響應保護塊。與finally不同的是:正常情況下except 後面的語句並不被執行,而當異常發生時程式自動跳到except,進入異常響應處理模組。當異常被響應後異常類自動清除。下面的例子表示了檔案開啟、刪除過程中發生異常時的處理情況: uses Dialogs;varF: Textfile;beginOpenDialog1.Title := 'Delete
Time of Update: 2017-02-27
12.2.2 產生一個資源保護塊 Delphi提供了一個保留字finally,用於實現資源的保護: {分配資源}try{資源使用方式}finally{釋放資源}end; try…finally…end就形成了一個資源保護塊。finally後面的語句是在任何情況下,不論程式是否發生異常,都會執行的。對於(12.2.1)中的例子如下代碼即可確保所分配記憶體資源的釋放: varAPointer : Pointer ;AInt , ADiv :
Time of Update: 2017-02-27
12.1.1.4 浮點異常 浮點異常是在進行實數操作時產生的,它們都從一個EMathError類派生,但與整數異常相同,程式運行中引發的總是它的子類EInvalidOp、EZeroDivide、EOverFlow、EUnderFlow。 表12.4 浮點異常類及其引發原因━━━━━━━━━━━━━━━━━━━━━━━━異常類 引發原因────────────────────────EInvalidOp 處理器碰到一個未定義的指令EZeroDivide 試圖被零除EOverFlow
Time of Update: 2017-02-27
12.1.1.3 整數異常 整數異常都是從一個EIntError類派生的,但程式運行中引發的總是它的子類:EDivByZero,ERangeError,EIntOverFlow。 表12.2 整數異常及其產生原因━━━━━━━━━━━━━━━━━━━━━異常類 引發原因─────────────────────EDivByZero 試圖被零除ERangeError 整數運算式越界EIntOverFlow