COM 的演進







COM 的演進
Basic 版本簡稱演進說明年份
  文件資料的轉換:複製、貼上(剪貼簿) 
 DDEDynamic Data Exchange 動態資料交換讓程式可以簡化剪貼簿資料共享的動作。1980
 OLE 1Object Linking and Embedding 物件連結及內嵌讓使用者可以將許多應用程式的文件"合併"成單一複合文件。1991
Visual Basic 3RADRapid Application Development 快捷應用程式發展VB 3 被設計成 RAD 工具,它提供了高階建構區段(Building Block),可以進行常用的功能,減少應用程式所需用的程式碼。 
 VBXVisual Basic Extension (Visual Basic 延伸)VBX 它允許程式設計師建立額外附加的控制項。
另外,它可以只發送二元載入模組,如此設計者就可以保留其原始碼,成為私有。
 
Visual Basic 4OLE 2OLE 2採用的 COM 技術,以解決應用程式間相互溝通的問題。
OLE 2提供的許多標準方法,包括物件可以表達其使用者介面、傳送事件給控制項的容器及讓容器設定控制項的屬性等。
OLE 2最早是由VB 4所支援。
VB 4也是最早支援32位元程式設計的版本。(同時有16位元及32位元)
VB 4 之 16位元版本,繼續支援VBX。
VB 4 之 32位元版本,不支援VBX。Visual Basic 4開始支援 OCX 功能。
 
Visual Basic 4OCXVisual Basic 4開始支援 OCX 功能。 
Visual Basic 5ActiveX在網際網路的環境中,若是要使用者下載OLE控制項程式,會因為OLE 2需要介面,程式通常相當大,而不方便。為了避開這問題,Microsoft讓許多必要的們面變成可態可無,這樣可以縮減程式碼,使用得下工作變得更簡單。才將OLE 2 改名為ActiveX。
VB 5 已不再支援 16位元版本
VB 5 是真正的 Compiler,可以在 VB 5 中,建立自已的ActiveX控制項。(在 VB 5 之前,你必須要在Visual C++中建立 OLE 2或 VBX 給Visual Basic 使用。)
 
  Microsoft 試圖說服網路開發者從Java轉移到ActiveX Control,但是沒有成功。
Microsoft 開始以 COM 來稱呼用 COM 技術所建立的控制項。
所以提出的一觀念:將你的企業邏輯 (Business Logic) 獨立出來,放人一個單獨的元件中。
 
 DCOMDistributed COM (分散式COM) DCOM 是 COM 加上上網路協定後的產物。它讓你得以在遠電腦上執行COM物件。
DCOM得以運作的關鍵在於,電腦中的登錄資訊,以便協助COM執行時期環境找出元件,並且建立連線。
 
 MTSMicrosoft Transaction Server (MS 交易伺服器)
交易必須符合四個主要標準:ACID測試
Atomic 基元性、Consistent 一致性、Isolation 獨立性、Durable 持久性
 
 MSMQMicrosoft Message Queue (MS 訊息佇列) 
Visual Basic 6COM+Windows 2000 以 COM+ 基礎。
COM+ 是 COM、MTS、MSMQ的組合;並加人一些新特性:IMDB (In_Memory Database記憶體內資料庫)及 Queued Component (佇列元件)
VB 6 可以使用大部份 COM+ 功能。
 
 IMDBIn_Memory Database 記憶體內資料庫 
  Queued Component (佇列元件) 需要 Visual Basic 7 才能運作。 

資料來源:張天輝2006/02/12

捷徑檔案分析

在一次學習的過程中,無意間注意到 捷徑檔,似乎有些秘密存在?
因此,特別花的時間去深究其中的差異;並得到的一些心得,記錄如下:

一、分類

  • 一般檔案捷徑型
  • 網頁捷徑型


二、捷徑建置方式

  • 一般檔案:滑鼠點選欲建捷徑的檔案後,按右鍵,選 建立捷徑 功能
  • 網頁:在欲建捷徑的網頁中,點選 File / Send / Shortcut to Desktop


三、捷徑 Property 的比較

首先,兩類型檔案捷徑的屬性內容,有兩個頁簽相同,但有一頁簽不同
分別是 Shortcut & WebDocument.


一般檔案型式網頁型式



四、捷徑檔案的檔案內容


一般檔案型的捷徑檔案,無法以 編輯程式 (如 Notepad)開啟。
網頁型的捷徑檔案,可用 編輯程式 (如 Notepad)開啟。



以 Microsoft Taiwan 網頁的捷徑,為例子:
[DEFAULT]
BASEURL=http://www.microsoft.com/zh/tw/default.aspx
[InternetShortcut]
URL=http://www.microsoft.com/zh/tw/default.aspx
Modified=F0CDBB4249DFC801AB
IconFile=http://www.microsoft.com/favicon.ico
IconIndex=1

Easy way to create XLS file from PHP
Posted on Wednesday, October 11 @ 09:52:55 ICT by apples

Everybody knows phpMyAdmin can export file to Excel format but phpMyAdmin just export .csv file,not real Excel file format. If you are interest in PHP programming and need to export to the real Excel format please check it out !

Example PHP export to XLS file format.

1. Create Function for XLS

function xlsBOF() {
echo
pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}

function
xlsEOF() {
echo
pack("ss", 0x0A, 0x00);
return;
}

function
xlsWriteNumber($Row, $Col, $Value) {
echo
pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo
pack("d", $Value);
return;
}

function
xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo
pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo
$Value;
return;
}


2. Send Header to Browser in download format.

 
// Query Database
$result=mysql_db_query($dbname,"select id,prename,name,sname,grade from appdata where course='$courseid' and sec='$section'")

// Send Header
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=$courseid-$sec.xls "); // �ล้วนี่�็ชื่อไฟล์
header("Content-Transfer-Encoding: binary ");

// XLS Data Cell

xlsBOF();
xlsWriteLabel(1,0,"Student Register $semester/$year");
xlsWriteLabel(2,0,"COURSENO : ");
xlsWriteLabel(2,1,"$courseid");
xlsWriteLabel(3,0,"TITLE : ");
xlsWriteLabel(3,1,"$title");
xlsWriteLabel(4,0,"SETION : ");
xlsWriteLabel(4,1,"$sec");
xlsWriteLabel(6,0,"NO");
xlsWriteLabel(6,1,"ID");
xlsWriteLabel(6,2,"Gender");
xlsWriteLabel(6,3,"Name");
xlsWriteLabel(6,4,"Lastname");
$xlsRow = 7;
while(list(
$id,$prename,$name,$sname,$grade)=mysql_fetch_row($result)) {
++
$i;
xlsWriteNumber($xlsRow,0,"$i");
xlsWriteNumber($xlsRow,1,"$id");
xlsWriteLabel($xlsRow,2,"$prename");
xlsWriteLabel($xlsRow,3,"$name");
xlsWriteLabel($xlsRow,4,"$sname");
$xlsRow++;
}
xlsEOF();
exit();

 

 

資料來源:http://www.appservnetwork.com/modules.php?name=News&file=article&sid=82007/05/21
如何將 PHP 設定在 IIS 5 上面 ?

這是一份說明如何將 PHP 設定在 IIS 5 上面,使得 PHP 可以在 IIS 5 的環境中可以使用。

設定步驟如下:

  1. 啟動 Internet Services Manager
  • 由 開始/程式集/Administrative Tools/Internet Services Manager
  • 由 開始/執行,執行 Inetmgr.exe 程式

 

  1. 選定 預設網站/內容 (Default Web Site / Properties)

 

  1. 選定 Home Directory 頁簽,並點選 規劃 按鈕。

 

  1. 選定 App Mappings 頁簽,並點選 新增 按鈕。

 

  1. 新增資料的設定視窗被打開

 

  1. 依下列的內容加以設定。
    (若是 php5isapi.dll 和範例不同,請自行調整。)

 

  1. 設定完成後,請注意 重新啟動 IIS

 

  1. 測試 PHP 是否在 IIS 上,可以正常運作。
資料建立者:Perton Chang

2007/12/01