發表文章

目前顯示的是 2001的文章

物件導向OOP基礎概論 (以Delphi為例)

圖片
(一)、 何謂OO(Object Oriented)物件導向的程式語言 1. 類別與物件 傳統的程式設計概念將程式碼與資料視為分離的個體,程式雖然可以使用存取資料,但是資料並沒有受到保護,任何人都可以不當的存取資料﹔但是物件導向的程式設計則將程式與資料視為不可分離的實體,程式當然還是可以存取資料,只不過得勞駕物件當中的Method來幫你存取。 不過究竟什麼是類別﹔物件又是什麼?!許多初學者常感到疑惑的問題,我想我可能無法讓你聞道或是摸到物件,不過告訴你到哪裡找到相關資訊﹔而事實上 類別 (Class) 是一些物件的靜態定義,它就是定義著一些構成其類別之物件的資料型態及程式碼,有些初學者以為類別與物件沒什麼不同,那我想它還沒真正接觸了解一個類別,其實這連程式碼的定義結構都不同, 物件 就好比是類別當中的一個 變數 ,而最大的差別就是它不只是當一般變數而已, 物件 可以是定義的資料型態或是 方法 ( Method )、程序(Procedure)、函式(Function)。 2. 物件的內容 在Delphi環境中到處是物件,你在 元件盤 (Object Inspector)上所看到的,還有程式設計所用到的元件,或者某些物件的特性就是一個物件,如或一般表單(Form)、Button、Memo、CheckBox等等可視元件(視覺化的看的見的)上都會有的Font屬性、或 MainMenu 元件的Items屬性都是一個物件,甚至表單本身也是個物件,一般我們要定義一個物件會先定義這個物件的類別,如圖一:當Delphi開一個新 Application Project 時就已經幫我們建立起一個 繼承 於 TForm 的 Form1 類別,此類別中我們使用了一個TButton元件( VCL 類別 ),也使用了TButton的Click方法, 記住:在 Delphi中你所看到的以T開頭的即是一個類別〔也就是一個VCL類別,因為Delphi的Framework是VCL(Visual Component Library)〕 ,如此範例中我們使用了 TForm 及 TButton 這兩個類別。 圖(一): ( 二) . OO(Object Oriented)的基本特性 (1). Encapsulation .封裝 (2). Inheritance 繼承 ...

OLE Automation應用

圖片
'2001/10/02 酷小毅(永和) 大綱: 一、 從頭說起OLE Automation (套Word製作報表) 二、 如何取得Word Automation所提供的服務 三、 如何控制Word新增表格 四、 如何將資料插入Word表格 五、 如何在同一份文件中複製相同的表格到下一頁 六、 完整範例程式列表 相信這是每一個程式設計師都有的經驗,辛辛苦苦寫完資料庫程式之後這些程式身邊還得伴隨著一個個漂亮至制式報表,老實說我還真沒什麼美感,要我在寫完程式之後還要去編排這些報表這實在是件辛苦的差事,若能透過Automation請Word幫我們製作報表可以減輕不少的負擔,再加上Word 所建立出來的Template Files可以Reuse,只要有Microsoft Word的機器即可開啟編輯,現在要找到沒有Word的機器我想也很難找到了,以前有前輩以Delphi為範例介紹,現在小弟我就以Visual Basic為範例介紹,二話不說,我們開始吧。 如何取得Word Automation所提供的服務 下圖為建立Word Automation Application所需的程式碼,小弟我以Visual Basic為範例介紹,二話不說,我們開始吧 如何取得 Word Automation 所提供的服務 下圖為建立Word Automation Application所需的程式碼,小弟我以CreateObject為範例介紹,當然你也可以使用VB最簡單的方式直接引用TypeLib方式,不過這樣此程式就只能固定的被使用在所勾選的特定Word版本,因為你如果直接勾選VB會將他所使用到該元件(Component)的相關 TypeLib一起Compile在執行檔中,無形中就寫死了,一般如果是特定元件的使用(如常常可能會修改,但不改介面)我會建議以原生物件的呼叫方式,不過當然這樣就享受VB整合是開發式環境 (List Properties Method)的好處了,以我的習慣會先引用,然後待開發完成之後再將所有宣告改成Object,改以CreateObject建立原生物件不彷提供給讀者做參考。在上面的程式碼也很簡單,我先以On Error Resume Next加以宣告,若建立Word發生錯誤則秀出建立Word發生錯誤訊息。 如何控制 Word 新增表格...

何謂MTS/COM+(基礎篇)

圖片
//2001/5/16 //酷小毅於永和   (一)、 Client/Server和Three Tier架構 傳統的Client/Server將商業資料處理邏輯層(Business Logic Tier)完全的實做在Client端的Application Program之中,後端,也就是第二層,即是資料庫(DataBase),資料庫伺服器只處理所有Client端異動(如:新增﹔修改﹔剛除)的資料處理,完全不會涉及到資料的處理上,此架構較為單純,而界且擁有不錯的效能。由於Client/Server採用的是專屬的連線頻寬,即當Client載入時隨即與DataBase建立起一條連線,直到Client端關閉此資料庫的應用程式為止,就算是Client當時只是在做瀏覽動作,這條連線就一直存在著。所以當Client一增加時對DataBase Server的Performance可說是一大負擔,於是有所謂三層式架構(Three Tier)的出現,如Microsoft推出的 MTS(Microsoft Transaction Server) ,OMG的 CORBA 等,以下將介紹Microsoft的 MTS 解決方案。 (二)、 MTS(Microsoft Transaction Server) 所謂MTS就是(Microsoft Transaction Server).Transaction=在此翻為交易,它是微軟提出的 交易環境處理平台 (以下將都簡稱為MTS),為因應Client/Server所擁有的缺點而提出的,它將原本由Clent所處理的商業邏輯層(以下簡稱Buisness Logic Tier)獨立為一個中間層 應用程式伺服器 (Application Server) 的一個執行環境,Client也獨立為使用者介面層 (Persentation Tier) ,而DataBase Service Tier 則全力的負責伺服器的處理工作,包括資料庫的資料處理,Web Server. IIS(Internet Information Server)使DataBase Server處理工作單存化。 MTS提供了一個COM/DCOM的執行環境,將原本在Client完成的商業處理資料運算的部分交由這些COM/DCOM物件來統籌處理,由MTS這個執行環境來 處理 ...