delphi bookmark使用


delphi bookmark使用

關於書簽(BookMark)操作;       書簽操作主要用於在表中快速地定位記錄指針,在應用程序中常常要保存記錄指針所在的位置,在進行其他處理之后,希望能快速地返回到先前指針所在的位置,此時,使用書簽將顯得特別有用。有關書簽操作,Delphi提供了三個方法,它們是:     ●   GetBookMark     ●   GotoBookMark    ●   FreeBokMark  

這三個方法一般都是在一起使用,GetBookMark方法返回一個TBookMark類型的變量,該變量包含着指向當前記錄的指針,GotoMark方法用於快速地將記錄指針定位到具有書簽的記錄處。FreeBookmark方法是與GetBookMark方法相反的操作,它釋放書簽標志。下面的程序代碼闡述了書簽操作的一般方法:

  BookMark   :   TBookMark;            BookMark   :=   Table1.GetBookMark;   {對當前記錄作書簽標志}     Table1.DisableControls;   {切斷Table1與數據察覺部件的聯系...下面有其使用解說}      Table.First       While   Not   EOF   Do   {對表中全部記錄進行其他處理}       begin 
  Tabel1.Next;       end;  
      Tabel1.GotoBookMark(BookMark)       Table1.EnableControls;   {重新定位記錄指針回到原來的位置}     Tabel1.FreeBookMark(BookMark);   {刪除書簽BookMark標志} 

 

-- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - -

DisableControls方法是在程序修改或后台有刷新記錄的時候切斷數據組件,如TTABLE、ADOQUERY等等與組件數據源的聯系。如果沒有切斷,數據源中只要一有數據的改動,尤其是批量改動的話,每一筆的改動都會更新窗口中數據瀏覽組件的顯示,這樣會急劇減慢處理過程而且浪費時間。EnableControls的作用相反,用來恢復TTABLE等組件與DATASOURCE的聯系,並促使數據瀏覽組件更新顯示。       這兩個函數主要阻止組件感應顯示,以加快語句執行速度。 比如,用大量的循環的時候,最好用他們。       1. 數據集的EnableControls, DisableControls方法成對使用的時候, 如果中間的代碼可能會導至出錯的話必須用try..finaly DisableControls; end; 否則會導致數據感知不控制不可使用;       2. 在遍歷數據或Filter大數據的時候的要用DataSet的EnableControls與DisabbleControls, 否則窗體上的數據感知控件會閃爍.       enablecontrols,disablecontrols是防止因數據源的改動而造成界面的閃動!在你需要刷新數據時可以調這兩個函數,但建議你把它寫在 try...finally語句塊中!  
如:   try         adoQuery1.disablecontrols;         adoQuery1.close;         adoQuery1.open;   finally         adoQuery1.enablecontrols;   end; TQuery 的EnableControls 和DisableControls 方法都是繼承自TDataSet 類的。由於TTable 和TQuery 都是TDataSet 的派生類,所以它們都有以上這兩個方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM