數據控制項
【關鍵字】數據綁定TDC動態頁面
動態網頁一般通過用戶與伺服器的互動操作實現,用戶向伺服器發出請求,伺服器使用ASP、CGI等獲取用戶提交的信息,進行處理後將結果返回給給用戶,這種方式一方面要求伺服器提供上述服務和擁有伺服器端執行程式的許可權,另一面由於這種方式對伺服器的依賴性很強,會加重伺服器的負擔和網路擁擠程度。Internet explorer 4.0及更高版本可以通過數據綁定技術(Data binding)和表格數據控制項TDC(tabular data control)訪問有限定符文本檔案,以HTML檔案為模板顯示數據,並通過對已緩衝至本地機的文本檔案操作,實現訪問客戶與數據驅動頁面的動態互動。
一.數據綁定技術
數據綁定由四部分組成——數據源對象(DSO-Data Source Object)、數據引用(Data consumer)、綁定代理(Binding agent)和列表(顯示)代理(Table repetition agent)。數據源對象提供數據傳輸、操作和通過腳本訪問數據的能力;數據引用一般指WEB頁面元素,它定義數據如何顯示等;綁定代理用於數據識別和維護;列表(顯示)代理用於保證列表數據的正確引用。
二. TDC組件
TDC是Internet explorer提供的內置數據源控制項,提供訪問有定界符文本檔案的能力,擁有Datasrc、Fielddelim、Textquqlifier、Rowdelim、Sort、Filter和Useheader等屬性及Reset方法,並可通過TDC對象的ID.recordset.{ Properties|method},訪問相應的Recordset集的屬性和方法。
有定界符文本檔案
表格一般和資料庫對應,在有定界符文本檔案中的一行相當於資料庫的一個記錄,每行中由定界符括起來的字元串相當於記錄中的欄位。在TDC引用的文本檔案中有三種定界符:文本限定符、欄位限定符和行限定符。假設文本檔案software.txt中有如下內容:
name,description,type,company,location
’IE5.0’,’Microsoft Internet explorer 5.0’,’Browser’,’Microsoft’,’tie50.zip’
’FP98’,’Microsoft Frontpage 98’,’Editor’,’Microsoft’,’fp98.zip’
第一行為欄位的名稱,第二、三行為兩個記錄。其中,單引號(’)是文本限定符,逗號(,)是欄位限定符。
在WEB頁中引用TDC組件
在WEB頁中的頭部或主體內用<Object>…</Object>語句建立TDC對象的實例,如:
<OBJECT id=software classid=CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83>
<PARAM NAME="TextQualifier" VALUE="'">
<PARAM NAME="FieldDelim" VALUE=",">
<PARAM NAME="DataURL" VALUE="software.txt">
<PARAM NAME="UseHeader" VALUE="true">
</OBJECT>
其中,Id為對象指定一個名稱,以便在以後的WEB元素中引用,參數Textqualifer定義文本限定符,參數FieldDelim定義欄位限定符,參數DataURL指定TDC讀取數據的文本檔案,參數UseHeader的Ture和False指定在文本檔案中是否有欄位名定義。
將數據綁定到Table元素
Table是一種可以進行多值綁定的HTML元素,<Tr>…</Tr>對應一個記錄,<Td>…</Td>對應一個欄位,在這兩個元素對中,利用可以單值綁定元素引用數據,在頁面上顯示具體地數據內容。如:
<Table datasrc=#software Datapagesize=15>
<Tr>
<Td>名稱</Td>
<Td>軟體介紹</Td>
……
<Td>下載地址</Td>
</Tr>
<Tr>
<Td><span datafld=”name”></span></Td>
<Td><span datafld=”description”></span></Td>
……
<Td><a datafle=”location”>download</a></Td>
</Tr>
在上面的語句中,利用數據引用組件的DATASRC、DATAFLD及DATAFORMATS、DATAPAGESIAE屬性,通過ID屬性將文本檔案的數據內容綁定到HTML元素,TDC控制項自動將符合要求的數據內容在頁面中顯示。
三.數據排序、過濾、復位和RECORDSET集
數據排序通過設定排序條件並使用reset方法,按某一欄位和以逗號分隔的多個欄位組合進行升序或降序排列,欄位前有“+”表示按升序排列,“-”號表示按降序排列;過濾按某一查詢條件通過reset方法生全部記錄的一個子集,並使在表中顯示的數據限制在子集範圍內。如:
Software.sort=”+name”
Software.reset
對整個記錄錄按欄位name進行升序排列
Software.sort=”+type,-company”
Software.reset
對整個記錄按欄位type升序和company降序排列。
Software.filter=”type=browser”
Software.reset
生成只含有瀏覽器(browser)的子集。
Software.filter=”type<>browser∁any=Microsoft”
Software.reset
生成滿足type不是瀏覽器(browser)而且公司為Microsoft的整個記錄集的子集。
RECORDSET屬性
Recordset集有如下屬性和方法:
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}
移動記錄指針指到第一、最後一條、下一條、上一條記錄。
recordset.{absolutionpage| pagecount|pagesize}
返回當前頁序號、頁面總數、每頁記錄個數。
recordset.{recordcount|AbsolutePosition}
返回記錄集中記錄個數、當前記錄號。
recordset.{eof|bof}
返回是否已到最後、第一個記錄。
在WEB頁面中,用DatasrcID.recordset.{ Properties|method}操作整個記錄集。如:
software.recordset.movenext
可以將上面例子中的記錄指向下移一個記錄。
四. 一個進行軟體查詢的互動頁實例
本例中用戶可以通過兩個下拉選單選排序欄位,和按某一軟體名對整個資料庫進行過濾。
<HTML><HEAD><TITLE>軟體查詢</TITLE>
<OBJECT id=software classid=CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83>
<PARAM NAME="TextQualifier" VALUE="'">
<PARAM NAME="FieldDelim" VALUE=",">
<PARAM NAME="DataURL" VALUE="software.txt">
<PARAM NAME="UseHeader" VALUE="true">
</OBJECT>
</HEAD>
<BODY>
<B>Sort by:</B>
<SELECT onchange="software.Sort=('+'+this.value); software.Reset()">
<OPTION value="" selected>None</OPTION>
<OPTION value="name">Name</OPTION>
<OPTION value="type">type</OPTION>
<OPTION value="company">company</OPTION>
</SELECT>
<B>Filter by:</B>
<SELECT onchange="software.Filter=('name="+this.value); software.Reset()">
<OPTION
value="" selected>None</OPTION>
<OPTION value="IE5.0">ie5.0</OPTION>
<OPTION value="FP98">fp98</OPTION></SELECT>
<TABLE dataSrc=#software cellspacing=0 border=1>
<THEAD>
<TR>
<TD><B>名稱</B></TD>
<TD><B>描述</B></TD>
<TD><B>類型</B></TD>
<TD><B>公司</B></TD>
<TD><B>下載</B></TD>
</TR>
</THEAD>
<TBODY>
<TR>
<TD><SPAN dataFld=name></SPAN></TD>
<TD><SPAN dataFld=description></SPAN></TD>
<TD><SPAN dataFld=type></SPAN></td>
<td><span dataFld=company></SPAN></td>
<td><a dataFld=location>download</a></TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
五. 結論
數據綁定和TDC控制項給我們提供了脫離伺服器端有關處理邏輯支持,實現動態WEB頁面的方法和工具,結合DHTML提供的大量的新技術、新方法和控制項,可以對TDC控制項和WEB頁面元素進行更多更精確的控制,利用上面介紹的方法,對小型數進行據查詢或個人站點上實現動態網頁效果非常好。
成本
全流動成本指的是企業在產品的製造(manufacture)和流動(deliver)活動中花費的成本總和。它由三個部分組成:
總製造成本:為了使最終產品達到滿足進入倉儲及流通渠道的要求的狀態,而在最終產品的製造及包裝活動中發生的成本總和。
非生產性供應成本:在原材料採購、工程技術、能力建設、管理等各方面的活動中發生的研發成本及行政成本。
最終產品物流成本:為使最終產品進入倉儲及流通渠道,並直至到達顧客的交貨地點而發生的成本。
轉換器
TDC——Time-to-Digital Converter,即時間數字轉換器,是常用的時間間隔測量電子學電路。目前常用的高精度時間測量晶片有TDC-GP2,測量解析度達65ps。
計算機
TDC----torpedo data computer。
一般情況下,魚雷攻擊是動對動的。當帶陀螺儀的直航魚雷出現以後,魚雷已經具備了精確攻擊勻速直線運動目標的能力,而魚雷發射時的迴旋角就由TDC來計算設定。在1946年以前電子計算機並未發明,所以各種真正經過實戰考驗的TDC都是機械計算機,需要輸入的是目標距離,速度,目標相對於發射管的角度以及目標的運動方向;計算輸出的結果(就是最終連桿轉動的角度)直接輸入魚雷的陀螺儀,是純機械碼。
一般而言,機械式TDC在設定較小迴旋角時精度極高,二戰中德國潛艇有許多超過5000米精確命中的記錄。當然,由於機械式TDC本身的設計局限,當迴旋角加大時計算誤差便會增大,所以發射直航魚雷時都儘量在發射管法向左右30°以內。曾經有過數個魚雷迴旋角設定問題導致魚雷迴轉擊沉自己的戰例。
TDC是可以控制多條魚雷扇形發射的,各型TDC的扇形控制原理不盡相同。由於TDC計算目標是勻速直線運動的限制,水面艦艇發射直航魚雷的命中率慘不忍睹。但潛艇隱蔽性放大了直航魚雷的作用,TDC作為潛艇核心部件之一也隨之發揚光大。
西門子TDC
西門子工業控制設備,主要用於軋鋼等大型自動化控制系統中
止點
活塞在氣缸里作往復直線運動時,當活塞向上運動到最高位置,即活塞頂部距離曲軸鏇轉中心最遠的極限位置,稱為上止點。
In a reciprocating engine, the dead centre is the position of a piston in which it is farthest from, or nearest to the crankshaft. The former is known as top dead centre ( TDC) while the latter is known as bottom dead centre ( BDC).
TDC是發動機的上止點,BDC是發動機的下止點,這兩者是指活塞在氣缸內在作往復運動的兩個極端的位置。上止點:活塞頂部距離曲軸鏇轉中心的最遠位置。下止點:活塞頂部距離曲軸鏇轉中心的最近位置。上下止點間的距離是活塞行程。活塞在上止點和下止點之間一個單程運動就是所謂的衝程,現代的發動機多是四衝程發動機。
縮寫
TDC是Tokyo Dome Cityhall的縮寫,並不是指東京巨蛋,而是由Red Moon LIVE的JCB HALL改名而成。2012年AKB48的Request hour set list best 100曾在那裡舉辦過,俗稱TDC2012。