在實際的工作中偶爾會遇到如下情況:讓一個類繼承架構的對象實體能夠通過一致的方法執行另外一個目標類對象的方法或是獨立的函數,目標類需要被執行的方法或是獨立的函數可以自由地改變或是增加而會影響執行類的架構。這個時候就會用到ForEach設計模式。
CodeIgniter中有個Benchmarking類庫,它是被系統自動被載入的,不需要手工載入。Benchmarking類庫能夠計算出任意兩個被標記點之間的代碼執行時間。通過這個數值,可以評估程式員編寫的程式的效率。 另外,當CodeIgniter架構被調用時,系統會調用Benchmark類庫中的方法,以計算出Output類庫將所有內容正確的發送至瀏覽器所執行的時間。
在許多資料庫應用系統中,會對資料進行大量的查詢操作。當查詢資料量比較大時查詢所用的時間就會變得較慢,所以我們希望可以分批的擷取資料。
在進行BS編程時,我們時常需要對客戶提交的資料進行驗證。每種指令碼語言都有一套自己的驗證模式,CodeIgnite也提供了一套相當好用的類庫 -- Validation Class。 和使用其他類庫一樣,在使用Validation Class之前需要將其載入。$this->load->library("validation"); 載入之後我們就可以使用$this->validation對其進行引用了。有些朋友會問了:“它怎麼知道我要驗證哪些資料,以及按何規則進行驗證呢?”
在剛剛開始編程階段,自己一步步編寫出一個登入表單,或是一個能夠對資料表記錄進行增、刪、改的表單時,會感到非常的興奮。但隨著編程時間和編寫項目的增加,會發現這種沒有什麼技術含量的表單被不斷的重複編寫,於是乎開始思考有沒有一種一勞永逸的辦法可以協助我們擺脫這種窘境呢?有的朋友或者會說,將這些做成一個標準的表單存放在某個地主,在需要的時候將其Copy過來,然後略為修改。不可否認,這也是一種方法,但對於一個編程人員來說,這種方法很不專業。另一方法則相對更為專業,就是自已動手編寫一個Expert。
Delphi為我們提供了一組AIP(Open Tools API),允許我們使用這些函數,將自訂的功能表項目、工具列按鈕、建立表單專家以及更多的東西加入到IDE中,以提高自己的開發效率。 使用Tools API是一件很容易的事,只要實現一些特定的介面,並調用另一些介面提供的服務即可。編寫一個Tools API代碼和編寫組件或是屬性編輯器很類似,必須將這些代碼編譯為設計期包或是DLL載入到Delphi的IDE中。
前幾天,在研究QQ項目,用的是三層模式做的,大致的做好之後,發現寫得有點亂,主要是表單之間的靜態變數太多。後來看到別人部落格謝了一個例子,有點感觸: Singleton模式的實現Singleton模式的實現基於兩個要點:1)不直接用類的建構函式,而另外提供一個Public的靜態方法來構造類的執行個體。通常這個方法取名為Instance。Public保證了它的全域可見度,靜態方法保證了不會建立出多餘的執行個體。2)將類的建構函式設為Private,即將建構函式"隱藏"起來,任何企圖使用建構函式建
之前向大家簡單的介紹了Open Tools API,現在我們就要親自動手編寫一個簡單的Wizard,來體驗Open Tools API的魅力所在。 在Delphi6中,不再推薦大家使用ExptIntf單元中的TIExpert類做為我們自己編寫的Wizard的基類,而是改用TInterfacedObject做為其基類,並實現ToolsAPI單元中的一個或我個介面。
之前提介紹過如何編寫一個菜單專家(Menu Wizard),但它有一個不足之處--就是我們所編寫的功能表項目只能作為Delphi IDE環境中的“Help”菜單的子項出現。如果我們想在Delphi IDE主菜單中任一位置插入我們自己的功能表項目又應該如何做呢? 其實辦法很簡單,只需要編寫一個外掛程式專家(Add-in Wizard),在其建構函式中將菜單插入到Delphi IDE主菜單中,並在其解構函式中析構掉新插入的功能表項目。
有許多程式員都喜歡使用TStringList類作為KVStore for
Ext1.0的寫法 <html> <head> <title>登入面板程式</title> <link rel="stylesheet" type="text/css" href="http://plt385130:8080/ext-2.2/resources/css/ext-all.css"/> <script type="text/javascript" src="http://plt385130:8080
Tags:開源 標題 作者發表於 [綜合應用] Piwik php開源統計程式 php+mysql 國外開源 shuguang2008/04/11 [部落格] Chyrp 國外開源php+mysql 超輕量級開源部落格引擎 shuguang2008/03/28 [CMS] 行業之星網站服務系統 國內開源 php+mysql shuguang2008/03/26 [部落格] EasyTalk 國內開源 php+mysql 迷你部落格系統 shuguang2008/03/22 [部落格]
昨天晚上在家裡寫代碼時遇到一個奇怪的問題。事先寫好了一個FormPanle,將其添加到Window中,並在Window中添加按鈕,調試,一切正常,按鈕點擊可以工作。隨,又寫了一個Panel,繼承於這個FormPanel,並將其加入到TabPanel中,同樣的為其添加按鈕,調試,顯示一切正常,可是按鈕卻不能工作了!點擊事件失效了!!代碼如下:POWindow = Ext.extend(Ext.Window, { form:null, constructor: function() {
學習過設計模式的人都知道有一種行為模式叫做Command模式。在Delphi的VCL Framework中也使用到了這種模式,那就是Action模式。
1. 什麼是phpDocumentor ?PHPDocumentor是一個用PHP寫的工具,對於有規範注釋的php程式,它能夠快速產生具有相互參照,索引等功能的API文檔。老的版本是
在許多的C/S程式中都會提供對資料庫中的資料進行編輯、查詢和列印的功能。以往的做法是針對不同的資料表分別製作編輯、查詢和列印表單,每個表單都是全新的。我們會在項目的多個地方嗅到“代碼重複”的味道,使得日後代碼的維護和修改變得很艱難。如果是多人合作的項目,這可能會更糟,因為可能每個對程式員可能會針對編輯、查詢和列印提供不同的介面方法。 針對以上的問題,我在曾經做過的項目中做了一些調整,現整理出來與大家共分享。