﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-Matthew的Blog-随笔分类-Delphi编程</title><link>http://www.cnitblog.com/gffnxk/category/2624.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 05:17:55 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 05:17:55 GMT</pubDate><ttl>60</ttl><item><title>程序中动态创建GUID</title><link>http://www.cnitblog.com/gffnxk/archive/2007/07/18/30173.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Wed, 18 Jul 2007 05:48:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2007/07/18/30173.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/30173.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2007/07/18/30173.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/30173.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/30173.html</trackback:ping><description><![CDATA[uses<br>&nbsp; ComObj, ActiveX;<br><br>var<br>&nbsp; ID: TGUID;<br>&nbsp; S: string;<br>begin<br>&nbsp; if CoCreateGuid (Id) = s_OK then<br>&nbsp; begin<br>&nbsp;&nbsp;&nbsp; s := GUIDToString (Id);<br>&nbsp; end;<br>end;<br>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/30173.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2007-07-18 13:48 <a href="http://www.cnitblog.com/gffnxk/archive/2007/07/18/30173.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>控制Excel</title><link>http://www.cnitblog.com/gffnxk/archive/2006/07/05/13280.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Wed, 05 Jul 2006 09:28:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/07/05/13280.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/13280.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/07/05/13280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/13280.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/13280.html</trackback:ping><description><![CDATA[
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">unit ExcelController;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />interface<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />uses<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Dialogs, DB, ADODB, DateUtils, ComObj;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />type<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  TExcelController </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> class(TComponent)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  private<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    FxlsApp, FWorkBook: variant;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    HaveCreate: </span>
				<span style="COLOR: #0000ff">boolean</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    FCenterHeaderText: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    FCenterFooterText: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    FCaption: TCaption;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> BaseNtoChar(n: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> NumberToCol(n: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetCenterHeaderText(const Value: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetCenterFooterText(const Value: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetCaption(const Value: TCaption);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  public<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    constructor Create(AOwner: TComponent); override;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    destructor Destroy;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure MergeCell(Cell1, Cell2: string) ; overload;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure MergeCell(Row1, Col1, Row2, Col2: integer); overload;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetSheetName(S: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure AddSheet;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure WriteCell(ARow, ACol: integer; AValue: OleVariant);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> GetCellValue(ARow, ACol: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure CopySheet(FromSheetIndex, ToSheetIndex: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure CopyRange(SourceRange: variant; ToCell: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetSheetIndex(I: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure DeleteCol(Col: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure DeleteRow(Row: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> GetCellName(ARow, ACol: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> GetRange(Cell1, Cell2: string): variant; OverLoad;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> GetRange(Row1, Col1, Row2, Col2: integer): variant; OverLoad;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetRangeFontName(ARange: variant; FontName: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetRangeFontSize(ARange: variant; FontSize: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetRangeFontColor(ARange: variant; FontColor: TColor);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetColWidth(ACol: integer; Width: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetBorderStyle(Range: variant; LineStyle: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure SetRangeRowHeight(Range: variant; Height: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    procedure Show;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  published<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">标题</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">    property Caption: TCaption read FCaption write SetCaption;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />implementation<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_1967_1986_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1967_1986_Open_Text.style.display='none'; Codehighlighter1_1967_1986_Closed_Image.style.display='inline'; Codehighlighter1_1967_1986_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1967_1986_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1967_1986_Closed_Text.style.display='none'; Codehighlighter1_1967_1986_Open_Image.style.display='inline'; Codehighlighter1_1967_1986_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1967_1986_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cnitblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_1967_1986_Open_Text">
						<span style="COLOR: #000000">{ TExcelController }</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.AddSheet;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Sheets.Add;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> TExcelController.BaseNtoChar(n: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">case</span>
				<span style="COLOR: #000000"> n of<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'A';</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'B';</span>
				<span style="COLOR: #000000">3</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'C';</span>
				<span style="COLOR: #000000">4</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'D';</span>
				<span style="COLOR: #000000">5</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'E';</span>
				<span style="COLOR: #000000">6</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'F';</span>
				<span style="COLOR: #000000">7</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'G';<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #000000">8</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'H';</span>
				<span style="COLOR: #000000">9</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'I';</span>
				<span style="COLOR: #000000">10</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'J';</span>
				<span style="COLOR: #000000">11</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'K';</span>
				<span style="COLOR: #000000">12</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'L';</span>
				<span style="COLOR: #000000">13</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'M';</span>
				<span style="COLOR: #000000">14</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'N';<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #000000">15</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'O';</span>
				<span style="COLOR: #000000">16</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'P';</span>
				<span style="COLOR: #000000">17</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'Q';</span>
				<span style="COLOR: #000000">18</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'R';</span>
				<span style="COLOR: #000000">19</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'S';</span>
				<span style="COLOR: #000000">20</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'T';<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #000000">21</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'U';</span>
				<span style="COLOR: #000000">22</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'V';</span>
				<span style="COLOR: #000000">23</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'W';</span>
				<span style="COLOR: #000000">24</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'X';</span>
				<span style="COLOR: #000000">25</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'Y';</span>
				<span style="COLOR: #000000">26</span>
				<span style="COLOR: #000000">:S:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">'Z';<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> S;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.CopyRange(SourceRange: variant; ToCell: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  SourceRange.Copy;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Range[ToCell].PasteSpecial;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.CopySheet(FromSheetIndex, ToSheetIndex: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Self.SetSheetIndex(FromSheetIndex);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.ActiveSheet.UsedRange.Copy;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Self.SetSheetIndex(ToSheetIndex);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.ActiveSheet.Range['A1'].PasteSpecial;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />constructor TExcelController.Create(AOwner: TComponent);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> CreateOleObject( 'Excel.Application' );<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FWorkBook :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> CreateOleobject('Excel.Sheet');<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FWorkBook :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> FxlsApp.WorkBooks.Add;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  HaveCreate :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> True;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  inherited Create(AOwner);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.DeleteCol(Col: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Columns[Col].Delete;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.DeleteRow(Row: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Rows[Row].Delete;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />destructor TExcelController.Destroy;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> HaveCreate then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    FWorkBook.Close;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    FxlsApp.Quit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> TExcelController.GetCellName(ARow, ACol: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Self.NumberToCol(ACol);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> S </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> IntToStr(ARow);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> TExcelController.GetCellValue(ARow, ACol: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> not HaveCreate then Exit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> VarToStr(FxlsApp.Cells.Item[ARow, ACol]);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> TExcelController.GetRange(Row1, Col1, Row2, Col2: integer): variant;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Cell1, Cell2: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Cell1 :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Self.GetCellName(Row1, Col1);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Cell2 :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Self.GetCellName(Row2, Col2);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Self.GetRange(Cell1, Cell2);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> TExcelController.GetRange(Cell1, Cell2: string): variant;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> FxlsApp.Range[Cell1 </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> ':' </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> Cell2];<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.MergeCell(Row1, Col1, Row2, Col2: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S1, S2: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S1 :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Self.GetCellValue(Row1, Col1);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S2 :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Self.GetCellValue(Row2, Col2);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Self.MergeCell(S1, S2);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.MergeCell(Cell1, Cell2: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Cell1 </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> ':' </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> Cell2;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Range[S].HorizontalAlignment :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">3</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Range[S].merge;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> TExcelController.NumberToCol(n: integer): string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  S: string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  x: integer;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">&lt;=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">26</span>
				<span style="COLOR: #000000"> then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Self.BaseNToChar(n);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Exit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">&lt;=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">52</span>
				<span style="COLOR: #000000"> then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    x :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">26</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> 'A'</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">Self.BaseNToChar(x);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Exit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">&lt;=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">78</span>
				<span style="COLOR: #000000"> then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    x :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">52</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> 'B'</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">Self.BaseNToChar(x);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Exit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">&lt;=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">104</span>
				<span style="COLOR: #000000"> then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    x :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">78</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> 'C'</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">Self.BaseNToChar(x);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Exit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">&lt;=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">130</span>
				<span style="COLOR: #000000"> then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    x :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> n </span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">104</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> 'D' </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> Self.BaseNToChar(x);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Exit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetBorderStyle(Range: variant; LineStyle: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Range.Borders.LineStyle :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> LineStyle; <br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetCaption(const Value: TCaption);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FCaption :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Value;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Caption :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Value;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetCenterFooterText(const Value: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  <br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetCenterHeaderText(const Value: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetColWidth(ACol, Width: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Columns[ACol].ColumnWidth  :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Width;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetRangeFontColor(ARange: variant;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FontColor: TColor);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  ARange.Font.Color :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> FontColor;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetRangeFontName(ARange: variant; FontName: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  ARange.Font.Name :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> FontName;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetRangeFontSize(ARange: variant; FontSize: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  ARange.Font.Size :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> FontSize;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetRangeRowHeight(Range: variant; Height: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Range.Rows.RowHeight :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Height;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetSheetIndex(I: integer);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.WorkSheets[I].Activate;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.SetSheetName(S: string);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.ActiveSheet.Name :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> S;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.Show;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Visible :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> True;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />procedure TExcelController.WriteCell(ARow, ACol: integer; AValue: OleVariant);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  FxlsApp.Cells(ARow, ACol) :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> AValue;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end.<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/13280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-07-05 17:28 <a href="http://www.cnitblog.com/gffnxk/archive/2006/07/05/13280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的Delphi多语言处理组件</title><link>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11611.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Mon, 05 Jun 2006 06:33:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11611.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/11611.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11611.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/11611.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/11611.html</trackback:ping><description><![CDATA[
		<p>//将某个近件的名称及Caption存到数据库中的某个表中，当取Caption时从这个表读取就行了<br />ADOConnection属性：指定当前的数据连接<br />TableName属性：就是上述存放Caption的表，如以下数据<br /></p>
		<table style="WIDTH: 472pt; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" width="629" border="0" x:str="">
				<colgroup>
						<col style="WIDTH: 54pt" span="2" width="72" />
						<col style="WIDTH: 122pt; mso-width-source: userset; mso-width-alt: 5184" width="162" />
						<col style="WIDTH: 81pt; mso-width-source: userset; mso-width-alt: 3456" width="108" />
						<col style="WIDTH: 54pt" width="72" />
						<col style="WIDTH: 107pt; mso-width-source: userset; mso-width-alt: 4576" width="143" />
				</colgroup>
				<tbody>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 54pt; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" width="72" height="19">
										<font face="宋体">ID</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 54pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="72">
										<font face="宋体">Frm_Nme</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 122pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="162">
										<font face="宋体">Ctrl_Nme</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 81pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="108">
										<font face="宋体">Txt_CN</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 54pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="72">
										<font face="宋体">Txt_TW</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 107pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="143">
										<font face="宋体">Txt_EN</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">1</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmMain</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmMain</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">人力资源管理系统</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">人力資源管理系統</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Human Resource Management System</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">3</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmNewDept</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmNewDept</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">新增/编辑部门资料</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">新增/編輯部門資料</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Add/Edit Department information</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">4</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmNewDept</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Label1</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">部门名称</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">部門名稱</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Department Name</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">5</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmNewDept</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">btnOK</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">确定</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">确定</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">OK</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">6</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmNewDept</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">btnCancel</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">取消</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">取消</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Cancel</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">7</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmDepartment</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmDepartment</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">部门资料管理</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">部門資料管理</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Department Management</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">8</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">frmDepartment</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">tbNewComp</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">新建公司</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">新建公司</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Create Company</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">53</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">DM</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">ads_countryCountry_Nme</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">国籍</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">國籍</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Country</font>
								</td>
						</tr>
						<tr style="HEIGHT: 14.25pt" height="19">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.25pt; BACKGROUND-COLOR: transparent" align="right" height="19" x:num="">
										<font face="宋体">54</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">DM</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">ads_titletitle_Nme</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">职务</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">職務</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Title</font>
								</td>
						</tr>
						<tr style="HEIGHT: 15pt; mso-height-source: userset" height="20">
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent" align="right" height="20" x:num="">
										<font face="宋体">55</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">DM</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">ads_levelLevel_Nme</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">级别</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">級別</font>
								</td>
								<td class="xl19" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="宋体">Level</font>
								</td>
						</tr>
				</tbody>
		</table>
		<br />LanguageField是指当前系统要抓取的语言字段，如果是简体中文，按上表应该就是Txt_CN,如果是繁体中文，则为Txt_TW<br />组件提供两个方法来设置控件的文本属性<br />//设置窗口上控件的文本属性<br />procedure SetControlCaption(theForm: string);<br />//设置DataModule里的每一个字段的显示文本。(我习惯将数据相关的组件放在TDataModule里)<br />procedure SetFieldDispLabel(ADM: TDataModule);<br />//********************调用代码*************************//<br />//窗口的调用<br />procedure TBaseForm.FormCreate(Sender: TObject);<br />begin<br />  DM.MultiLang.SetControlCaption(Self.Name);<br />end;<br />//DataModule的调用<br />procedure TDM.DataModuleCreate(Sender: TObject);<br />begin<br />  MultiLang.LanguageField := GetSysLanguage;<br />  ADOConnection.Connected := True;<br />  MultiLang.SetFieldDispLabel(Self);<br />end;<br />//****************************************************//
<p>//控件源码如下：<br />unit MultiLang;</p><p>interface</p><p>uses<br />  SysUtils, Classes, DB, ADODB, Forms, Dialogs, Controls, Menus, ExtCtrls;</p><p>type<br />  TMultiLang = class(TComponent)<br />  private<br />    FADOConnection: TADOConnection;<br />    FTableName: string;<br />    FLanguageField: string;<br />    FFormName: string;<br />    procedure SetFormName(const Value: string);<br />    procedure SetLanguageField(const Value: string);<br />    procedure SetTableName(const Value: string);<br />    procedure SetADOConnection(const Value: TADOConnection);<br />    { Private declarations }<br />  protected<br />    { Protected declarations }<br />    function GetValue(Command: string): string;<br />  public<br />    { Public declarations }<br />    procedure SetControlCaption(theForm: string);<br />    procedure SetFieldDispLabel(ADM: TDataModule);<br />  published<br />    { Published declarations }<br />    property ADOConnection: TADOConnection read FADOConnection write SetADOConnection;<br />    //property FormName: string read FFormName write SetFormName;<br />    property TableName: string read FTableName write SetTableName;<br />    property LanguageField: string read FLanguageField write SetLanguageField;<br />  end;</p><p>procedure Register;</p><p>implementation</p><p>procedure Register;<br />begin<br />  RegisterComponents('Standard', [TMultiLang]);<br />end;</p><p>{ TComponent1 }</p><p>function TMultiLang.GetValue(Command: string): string;<br />var<br />  tmp: TADOQuery;<br />begin<br />  tmp := TADOQuery.Create(Self);<br />  try<br />    tmp.Connection := Self.ADOConnection;<br />    with tmp do<br />    begin<br />      Close;<br />      SQL.Clear;<br />      SQL.Add(Command);<br />      //ShowMessage(Command);<br />      Open;<br />      Result := Fields[0].AsString;<br />    end;<br />  finally<br />    tmp.Free;<br />  end;<br />end;</p><p>procedure TMultiLang.SetADOConnection(const Value: TADOConnection);<br />begin<br />  FADOConnection := Value;<br />end;</p><p>procedure TMultiLang.SetControlCaption(theForm: string);<br />var<br />  I, J: integer;<br />  AForm: TForm;<br />  Capt, ctrl_nme, S: string;<br />begin<br />  if not Assigned(FADOConnection) then<br />  begin<br />    MessageDlg('Missing ADOConnection property', mtError, [MBOK], 0);<br />    Exit;<br />  end;<br />  if FTableName = '' then<br />  begin<br />    MessageDlg('Missing TableName property', mtError, [MBOK], 0);<br />    Exit;<br />  end;<br />  {if FFormName = '' then<br />  begin<br />    MessageDlg('Missing FormName property', mtError, [MBOK], 0);<br />    Exit;<br />  end; }<br />  if FLanguageField = '' then<br />  begin<br />    MessageDlg('Missing LanguageField property', mtError, [MBOK], 0);<br />    Exit;<br />  end;<br />  //窗口標題<br />  S := GetValue('SELECT ' + FLanguageField + ' FROM '<br />          + FTableName + ' WHERE Frm_Nme=' + QuotedStr(theForm)<br />          +' and Ctrl_Nme=' + QuotedStr(theForm));</p><p>  //<br />  for I := 0 to Screen.FormCount - 1 do<br />  begin<br />    if UpperCase(Screen.Forms[I].Name) = UpperCase(theForm) then<br />    begin<br />      AForm := Screen.Forms[I];<br />      if S &lt;&gt; '' then<br />    //ShowMessage(S);<br />      AForm.Caption := S;<br />      for J := 0 to AForm.ComponentCount - 1 do<br />      begin<br />        Ctrl_Nme := AForm.Components[J].Name;<br />        Capt := GetValue('SELECT ' + FLanguageField + ' FROM '<br />          + FTableName + ' WHERE Frm_Nme=' + QuotedStr(theForm)<br />          +' and Ctrl_Nme=' + QuotedStr(Ctrl_Nme));<br />        //ShowMessage(ctrl_nme+':'+capt);<br />        if Capt &lt;&gt; '' then<br />        begin<br />          if AForm.Components[J] is TMenuItem then<br />            TMenuItem(AForm.Components[J]).Caption := Capt<br />          else<br />          if AForm.Components[J] is TField  then<br />            TField(AForm.Components[J]).DisplayLabel := Capt<br />          else<br />          //if  AForm.Components[J] is TImageList  then<br />            TControl(AForm.Components[J]).SetTextBuf(Pchar(Capt));<br />        end;<br />      end;<br />      Exit;<br />    end;<br />  end;<br />end;</p><p>procedure TMultiLang.SetFieldDispLabel(ADM: TDataModule);<br />var<br />  I: integer;<br />  Nme: string;<br />  Capt: string;<br />begin<br />  for I := 0 to ADM.ComponentCount - 1 do<br />  begin<br />    if ADM.Components[I] is TField then<br />    begin<br />      Nme := TField(ADM.Components[I]).Name;<br />      Capt := GetValue('SELECT ' + FLanguageField + ' FROM '<br />          + FTableName + ' WHERE Frm_Nme=' + QuotedStr(ADM.Name)<br />          +' and Ctrl_Nme=' + QuotedStr(Nme));<br />      if Capt &lt;&gt; '' then<br />        TField(ADM.Components[I]).DisplayLabel := Capt;<br />    end;<br />  end;  <br />end;</p><p>procedure TMultiLang.SetFormName(const Value: string);<br />begin<br />  FFormName := Value;<br />end;</p><p>procedure TMultiLang.SetLanguageField(const Value: string);<br />begin<br />  FLanguageField := Value;<br />end;</p><p>procedure TMultiLang.SetTableName(const Value: string);<br />begin<br />  FTableName := Value;<br />end;</p><p>end.</p><p> </p><img src ="http://www.cnitblog.com/gffnxk/aggbug/11611.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-06-05 14:33 <a href="http://www.cnitblog.com/gffnxk/archive/2006/06/05/11611.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>给窗口上所有的控件设置Caption或Text</title><link>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11609.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Mon, 05 Jun 2006 06:09:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11609.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/11609.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/11609.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/11609.html</trackback:ping><description><![CDATA[
		<font face="Courier New">var<br />  i:integer;<br />begin<br />  for i:= 0 to self.ComponentCount-1 do<br />    TControl(self.Components[i]).SetTextBuf('Hello, world');<br />end;</font>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/11609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-06-05 14:09 <a href="http://www.cnitblog.com/gffnxk/archive/2006/06/05/11609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Delphi中ClientDataSet的使用</title><link>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11608.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Mon, 05 Jun 2006 05:48:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11608.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/11608.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11608.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/11608.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/11608.html</trackback:ping><description><![CDATA[
		<p>当多表join起来的dataset进行处理时，<br />将DatasetProvider的UpdateMode设为upWhereChanged, Options中如果选择poAllowCommanText会有问题（会更新所有记录）；即Options中最好不选</p>
		<p>left join 时UpdateMode设为upWhereKeyOnly，并双击dataset添加所有字段，将key字段的ProviderFlag中的pfInkey设为true<br />但在ClientDataSet中Refresh方法不会更新，要先将Active设为False,再设为True;<br /></p>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/11608.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-06-05 13:48 <a href="http://www.cnitblog.com/gffnxk/archive/2006/06/05/11608.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Delphi中抓屏</title><link>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11601.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Mon, 05 Jun 2006 05:08:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11601.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/11601.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11601.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/11601.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/11601.html</trackback:ping><description><![CDATA[procedure TForm1.FormClick(Sender: TObject);<br />var winHWND, hCur:integer; <br />     winDC:integer;<br />     rect:TRect;<br />     //AFormat : Word;<br />     //AData,APalette : THandle;<br />     pt:TPoint;<br />     fBitmap:TBitmap;<br />begin<br />     hCur := GetCursor(); // 获 得 光 标 句 柄 <br />     GetCursorPos(pt); // 记 录 光 标 位 置 <br />     winHWND := GetDesktopWindow(); <br />     winDC := GetDC(winHWND); <br />     GetWindowRect(winHWND, rect); <br />     fBitmap := TBitmap.create; <br />     fBitmap.width := rect.right-rect.left; <br />     fBitmap.height := rect.bottom-rect.top; <br />     BitBlt(fBitmap.canvas.handle, 0, 0, fBitmap.width, fBitmap.height, winDC, 0, 0, SRCCOPY); <br />     DrawIcon(fBitmap.canvas.handle, pt.x, pt.y, hCur); // 画 光 标 <br />     ReleaseDC(winHWND, winDC); <br />     Image1.Picture.Bitmap.Assign(fBitmap);<br />     fBitmap.Free;<br />end;<img src ="http://www.cnitblog.com/gffnxk/aggbug/11601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-06-05 13:08 <a href="http://www.cnitblog.com/gffnxk/archive/2006/06/05/11601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>模拟鼠标动作</title><link>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11599.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Mon, 05 Jun 2006 05:04:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11599.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/11599.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/06/05/11599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/11599.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/11599.html</trackback:ping><description><![CDATA[
		<p>  mouse_event(MOUSEEVENTF_MOVE, 100, 100, 0, 0);<br />  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);<br />  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);<br />  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);<br />  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);</p>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/11599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-06-05 13:04 <a href="http://www.cnitblog.com/gffnxk/archive/2006/06/05/11599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Delphi中结束进程</title><link>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9935.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Sat, 29 Apr 2006 08:41:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9935.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/9935.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9935.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/9935.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/9935.html</trackback:ping><description><![CDATA[
		<font face="Courier New">
				<font face="Arial">AFileName指定xxx.exe就行了,如Excel.exe</font>
				<br />先Uses TLHelp32;<br /><br />procedure EndProcess(AFileName: string);<br />const<br />  PROCESS_TERMINATE=$0001;<br />var<br />  ExeFileName: String;<br />  ContinueLoop: BOOL;<br />  FSnapshotHandle: THandle;<br />  FProcessEntry32: TProcessEntry32;<br />begin<br />  ExeFileName := AFileName;<br />  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);<br />  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);<br />  ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);<br />  while integer(ContinueLoop) &lt;&gt; 0 do<br />    begin<br />      if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =<br />           UpperCase(ExeFileName))<br />       or (UpperCase(FProcessEntry32.szExeFile) =<br />           UpperCase(ExeFileName))) then<br />        TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),<br />                          FProcessEntry32.th32ProcessID), 0);<br />      ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);<br />    end;<br />end;</font>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/9935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-04-29 16:41 <a href="http://www.cnitblog.com/gffnxk/archive/2006/04/29/9935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Microsoft Agent技术在Delphi中的应用</title><link>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9913.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Sat, 29 Apr 2006 04:59:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9913.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/9913.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/9913.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/9913.html</trackback:ping><description><![CDATA[
		<p>---- microsoft agent是微软公司于1997年9月发布的一项代理软件开发技术，而后被集成到internet explorer 4.0 plus及更高版本中，目前版本为2.0，支持简体中文。作为一种软件代理工具，agent以其强大的交互功能、鲜明的人性特点、优美的操作界面和简便统一的编程方法，对由菜单、按钮、提示框等组成的传统人机交互方式产生了很大影响，在多媒体创作、web应用、教育软件、软件帮助系统和辅助工具制作等方面，具有广阔的应用前景。 </p>
		<p>一、 microsoft agent技术简介 </p>
		<p>---- agent一词的中文意思是“代理”，故名思意，这类代理软件的主要作用是提供一种易于理解和使用的操作界面，接受用户的指令、代替用户完成某些复杂繁琐的工作、或为用户提供帮助。科学研究表明：从人机工程的角度考虑，赋予电脑或程序更多人性化色彩，如支持语音合成输出信息、语音识别输入指令、智能提示、动画等，能够充分提高人机交互的有效性和易用性。 </p>
		<p>---- 我们知道，在office 97帮助系统中有一种叫作office助手的代理软件，其中幽默风趣的动画人物，如“大眼夹”，能够根据用户的操作步骤“智能化”地提出一些建议或帮助信息。与office助手相比，agent功能更加丰富强大，表现在： </p>
		<p>office助手沿用传统的不透明矩形窗口，窗口后面的背景被完全挡住；agent动画人物本身是一个“alwaysontop”窗口，只有人物身体部分挡住背景，其余部分透明。 </p>
		<p>office助手只允许office 97的各个组件调用，agent动画人物可由任何windows程序调用； </p>
		<p>agent支持文字气球和输入提示条，在输出语音的同时把文字输出至一个卡通式文字气球中。如果电脑系统中安装有agent语音识别引擎，当用户按住输入键，如scroll lock键，在agent人物下方出现一个输入命令窗口，表示它正在“聆听”用户的语音命令。 </p>
		<p>agent提供genie、merlin、bobby和peedy等动画人物，不仅具有优美诙谐的动作，而且可以通过声卡、麦克风与用户交谈。 <br />二、 microsoft agent安装方法 <br />---- agent是一种activex控件，其服务器程序（c:\windows\msagent\agentsvr.exe）运行在win95/98/nt操作平台上，为其它调用agent的客户程序提供服务。客户程序可以是利用vb、c++、delphi、vfp、pb等开发的应用软件，也可以是html文件中的visual script、java script脚本语言代码。 </p>
		<p>安装agent核心组件msagent.exe。 </p>
		<p>安装lernout &amp; hauspie truvoice text-to-speech engine（完成从文字合成语音的工作，目前版本只支持英语）cgram.exe。 </p>
		<p>安装microsoft command and control speech engine（提供语音识别功能，目前版本只支持英语）actcnc.exe。 </p>
		<p>agent动画人物人物数据文件。agent支持单结构角色文件（.acs，角色数据与动画数据存于同一个文件），也支持分离结构角色文件（.acf，角色数据存于.acf中，动画数据存于.aca中）。基于本地硬盘和网络的应用程序可采用.acs文件，基于web页面的html文件在浏览器中访问时会自动调用，习惯上多使用.acs文件。 <br />---- 上述文件可从 <a href="http://www.microsoft.com//workshop/imedia/agent/default.asp">http://www.microsoft.com//workshop/imedia/agent/default.asp</a>下载。 <br />三、 microsoft agent编程要点 </p>
		<p>---- 1、 在delphi中添加agent控件 </p>
		<p>---- 在delphi ide中选择菜单component，import activex control——在import activex下的列表框中选择microsoft agent control 2.0（version 2.0），点击按钮install——在install对话框中点击按钮ok——在confirm对话框中点击按钮yes——在对话框中点击按钮ok。至此，agent控件被添加到delphi组件板activex页上。 </p>
		<p>---- 2、 在delphi中调用agent控件 </p>
		<p>---- ⑴、在delphi ide 中新建project1（包含form1），在form1上放置agent1（name属性为myagent）、button1。 </p>
		<p>---- ⑵、定义变量。 </p>
		<p>var<br />  peedy: iagentctlcharacterex;<br />  request1,request2: iagentctlrequest;</p>
		<p>---- ⑶agent主要属性、方法、事件。 </p>
		<p>---- ①characters属性与load、unload方法：初始化agent，加载动画数据，卸载动画人物 </p>
		<p>---- request1 := myagent.characters.load( 'peedy', 'c:\windows\system\peedy.acs' ); <br />---- peedy := myagent.characters.character( 'peedy' ); <br />---- myagent.characters.unload('peedy'); </p>
		<p>---- ②show与hide方法：显示、隐藏agent动画人物。参数fast表示动画人物显示、隐藏的速度。fast为0表示agent飞入、飞出，fast为1表示agent直接出现、消失，没有动画过程。 </p>
		<p>---- peedy.show(0); <br />---- peedy.hide(1); </p>
		<p>---- ③stopall、stop方法：停止所有动作。 <br />---- peedy.stopall(''); <br />---- peedy.stop(request); </p>
		<p>---- ④connected属性：agent是否与microsoft agent服务器连接。 <br />---- myagent.connected := true; </p>
		<p>---- ⑤get_height、get_width、set_height、set_width方法：获得、设置agent动画人物的高度、宽度。 </p>
		<p>agenthight := peedy.get_height;<br />agentwidth := peedy.get_width;<br />peedy.set_height( round(agentheight / 2 ));<br />peedy.set_width( round( agentwidth / 2 ));</p>
		<p>---- ⑥moveto方法：参数x，y表示agent动画人物移动到的坐标，参数speed表示移动的速度。 </p>
		<p>---- peedy.moveto( (screen.width-peedy.get_width) div 2, (screen.height-peedy.get_height) div 2, 2 ); </p>
		<p>---- ⑦interrupt方法：中断指定角色的动画。在几十种动画动作中，有一类后缀名为“ing” 的动作比较特殊，如“processing”、“searching”、“reading”、“writing”，一旦执行就必须通过调用另外一个动画人物的interrupt方法才能中断 。角色不能中断自身的动作，否则会导致异常。 </p>
		<p>request1 := robby.play('reading');<br />peedy.interrupt(request1);</p>
		<p>---- ⑧wait方法：在多个不同动画人物之间协调动画动作，如等待srobby的当前动作执行完毕后，peedy做另外一个动作。 </p>
		<p>request1 := robby.play('read');<br />peedy.wait(request1);<br />peedy.play('search');</p>
		<p>---- ⑨play方法：执行指定的动画动作，参数animation为一常量，表示动画类型。agent提供了几十种预定义动作，开发软件时只需直接调用这些常量即可。下面简要介绍其中常用的一些常量仅供编程参考。 </p>
		<p>---- 动作类型 中文含意 动作类型 中文含意 动作类型 中文含意 </p>
		<p>acknowledge    承认    lookdown    向下看        sad        悲伤<br />alert        警告    lookdownblink    向下看眨眼    search        寻找<br />announce    声明    lookup        向上看        startlistening    开始聆听<br />blink        眨眼    lookupblink    向下看眨眼    stoplistening    停止聆听<br />confused    迷惑    lookleft    向左看        suggest        建议<br />congratulate    祝贺    lookleftblink    向左看眨眼    surprised    吃惊<br />decline        拒绝    lookright    向右看        think        思考<br />dontrecognize    不承认    lookrightblink    向右看眨眼    wave        挥动<br />explain        解释    movedown    向下移动    write        书写<br />gesturedown    向下姿势    moveup    向上移动    processing    计算……<br />gestureup    向上姿势    moveright    向右移动    reading    阅读……<br />gestureleft    向左姿势    moveleft    向左移动    searching    寻找……<br />gestureright    向右姿势    pleased    高兴        writing    书写……<br />getattention    获得注意    read    阅读        greet<br />          问候    restpose    恢复初始状态<br />request := peedy.play('search');</p>
		<p>---- ⑩speak方法：agent通过调用语音合成引擎，支持英语的语音合成输出功能，只需输入英文字符串，agent就能通过声卡、音箱“说话”。agent的当前版本尚不具备支持中文语音合成功能，所以只能以.wav文件的形式播放中文。使用时可以将想要说的中文句子预先录好，以.wav形式存储，在程序中调用即可。参数text表示文字气球中显示的文字，参数url表示.wav文件的路径。 </p>
		<p>---- peedy.speak('嗨，朋友们，你们好，现在由我为您提供帮助！','c:\新建文件夹\help.wav'); </p>
		<p>---- peedy.speak( 'do you like my help? if so, please send me an email! thank you!', '' ); </p>
		<p>---- ⑾commands.add方法：在button1click事件中为agent添加自定义语音识别命令，参数const name表示语音命令的标识，参数caption表示该命令在输入命令窗口中的显示标题，参数voice表示该命令对应的语句。当用户通过麦克风向动画人物发出语音命令时，触发agent的command事件，因此我们可以另外编写一个过程完成语音识别功能。 </p>
		<p>procedure tform1.button1click(sender: tobject);<br />begin<br />  peedy.commands.add('delphi','run <br />  delphi','delphi',true,true);<br />  peedy.commands.add('visual basic','<br />  run vb','vb',true,true);<br />  peedy.show(0);<br />  peedy.speak('what can i do for you, sir?','');<br />end;</p>
		<p>---- ⑷、按f9运行程序。以上程序在delphi3.0/4.0、windows95/98/nt简体中文版环境下调试通过。 </p>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/9913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-04-29 12:59 <a href="http://www.cnitblog.com/gffnxk/archive/2006/04/29/9913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TShockwaveFlash的使用</title><link>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9912.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Sat, 29 Apr 2006 04:58:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9912.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/9912.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/9912.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/9912.html</trackback:ping><description><![CDATA[
		<p>TShockwaveFlash主要属性如下：<br />ReadyState：读一个flash文件时的状态，其中包括0=Loading、1=Uninitialized、2=Loaded、3=Interactive　　和4=Complete；<br />　　TotalFrames：总帧数，只有当ReadyState = 4时才能访问该属性；<br />　　FrameNum：当前播放的帧；<br />　　Playing：播放或暂停一个flash；<br />　　Quality：指定当前渲染的质量，包括0=Low, 1=High、2=AutoLow、3=AutoHigh；<br />　　ScaleMode：缩放模式，0=ShowAll、1= NoBorder、2 = ExactFit；<br />　　AlignMode：对齐模式，Left=+1、Right=+2、Top=+4、Bottom=+8；<br />　　BackgroundColor：背景色，-1为默认颜色；<br />　　Loop：是否循环；<br />　　Movie：指定播放的flash文件路径，可以为一个URL。 </p>
		<p>TShockwaveFlash主要方法如下：<br />Play()：开始播放动画；<br />　　Stop()；停止播放动画；<br />　　Back()；播放前一帧动画；<br />　　Forward()：播放后一帧动画；<br />　　Rewind()：播放第一帧动画；<br />　　SetZoomRect(int left, int top, int right, int bottom)：设置缩放的区域；<br />　　Zoom(int percent)：按百分比缩放；<br />　　Pan(int x, int y, int mode)：缩放播放面板，其中模式0为按像数、1为按窗口百分比。 </p>
		<p>TShockwaveFlash主要事件如下：<br />OnProgress(int percent)：读取一个flash时触发；<br />　　OnReadyStateChange(int state)：状态改变时触发。states的值可以为0=Loading、1=Uninitialized、　　2=Loaded、3=Interactive和4=Complete。</p>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/9912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-04-29 12:58 <a href="http://www.cnitblog.com/gffnxk/archive/2006/04/29/9912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cxGrid的一些使用方法</title><link>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9911.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Sat, 29 Apr 2006 04:54:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9911.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/9911.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9911.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/9911.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/9911.html</trackback:ping><description><![CDATA[
		<p>使用cxGrid有一些时间了，在这里总结一下使用cxGrid的一些方法，希望给刚开始接触cxGrid的人一些帮助。</p>
		<p>1.简单介绍：cxGrid右下方的cxGrid1Level1是表示Grid表的层，cxGrid可以有多层，这相当于集合了PageControl的</p>
		<p>功能,而cxGrid1Level1右边的cxGrid1DBTableView1相当于DBGrid一样。右击cxGrid1可以添加cxGrid1Level2，右击</p>
		<p>cxGrid1Level2，可以选择Create View , Add level 或者Delete Level。Add level可以增加子Level，Create View</p>
		<p>里面可以选择很多不同总类的View。其中<br />   1)DB Table可以和数据库连接的View，更一般的DBGrid类似，它比DBGrid多了比如鼠标中键可以用，可以统计，</p>
		<p>查询，等等功能；<br />   2)DB Banded Table 则可以实现比如：<br />                     ---------------------------------<br />                     |     说明1     |     说明2     |<br />                     ---------------------------------<br />                     | 字段1 | 字段2 | 字段3 | 字段4 |<br />等类似的功能；<br />   3)DB Card View 则提供了卡片方式的显示数据的功能，这个用在比如人事档案管理比较不错；<br />   4)其它不一一赘述。<br /> <br />2.一些使用方法：<br />   1)有图片和MEMO的例子：<br />     拖入一个cxGrid1，Table1，DataSource1。 Table1的DatabaseName设为DBDEMOS，TableName设为biolife.db， </p>
		<p>    Active设为True;DataSource1的DataSet设为Table1；cxGrid1DBTableView1的DataController中的DataSource   </p>
		<p>    设为DataSource1;右击cxGrid1DBTableView1选择Create All Columns；双击cxGrid1，在弹出的窗口中找到     </p>
		<p>   cxGrid1DBTableView1Notes和cxGrid1DBTableView1Graphic，将它们的Properties属性设为BlobEdit；运行看看  </p>
		<p>   结果。再将cxGrid1DBTableView1Graphic的Properties属性设为Image，再将Properties下的Stretch设为True，  </p>
		<p>   将cxGrid1DBTableView1-&gt;optionsview-&gt;CellAutoHeight 设为True，看看结果。</p>
		<p>
				<br />   2)如何让“Drag a column here to group by that column”不显示<br />     解决：点击cxGrid1上的cxGrid1DBTableView1<br />     在cxGrid1DBTableView1-&gt;optionsview-&gt;groupbybox:=false即可  <br />     注：OptionsView里面有很多属性可能经常要用，比如：ColumnAutoWith,Navigator等等，慢慢琢磨吧:)<br />     <br />   3)GroupPanel上面的英文[Drag a column header to group by that column]怎么可以改成中文？<br />     解决：最简单的方法是 TcxGridTableView.OnCustomDrawPartBackground ，也可用 OnCustomDrawGroupCell：</p>
		<p>     procedure TForm1.cxGrid1DBTableView1CustomDrawPartBackground(<br />                Sender: TcxGridTableView; ACanvas: TcxCanvas;<br />               AViewInfo: TcxCustomGridCellViewInfo; var ADone: Boolean);<br />     begin<br />       AViewInfo.Text:='动态设置 GroupBox 的显示内容';<br />       ACanvas.FillRect(AViewInfo.Bounds);<br />     end;</p>
		<p>   4)如何实现如下功能：<br />            +财务部<br />            +原材料仓库<br />            +成品库<br />            +冲压车间<br />            +软件开发部<br />     这个是部门的名称,点击加号就可以将本部门的人员情况显示出来。<br />     解决：其实这是一个主从表关系，1：填好主表的keyfieldnames<br />                                   2：填好从表的keyfieldnames<br />                                   3：填好从表的　detaikeyfieldNames与masterkeyfieldnames<br />                                   4: 从表的数据源一定要按与主表关联的字段排序<br />    注：其它地方设置了主从表结构那样就显示不出来，比如设置了从表的Table或者Query的mastersource和<br />    asterfield就会不能显示数据！如果是两个cxGrid的主从关系，这样设置就很OK了。</p>
		<p>   <br />  5)统计功能<br />    解决：cxGrid1DBTableView1-&gt;optionsview-&gt;Footer 设为True<br />          cxGrid1DBTableView1-&gt;DataController-&gt;Summary设置FooterSummaryItems即可  </p>
		<p>  6)类似PageControl显示<br />    解决：增加一个Level,将cxGrid1-&gt;RootLevelOptions-&gt;DetailTabsPosition设为dtpTop，然后相应的设置cxGrid1Level1,和cxGrid1Level2的Caption值。</p>
		<p>   未完待续。。。。。。。。。  </p>
		<p> </p>
		<p>2003-10-29 20:46:00    <br /> 发表评语???     </p>
		<p> 2003-10-30 20:55:11    问题7，8，9 7)如何设定左边几列，不能滚动?<br />    解决：使用DB Banded Table才可以实现，<br />          在cxGrid1DBBandedTableView里建立Band0,Band1<br />          Band0的Fixed=tfLeft<br />          Band1的Fixed=tfnone<br />          设置要锁定的字段的BandIndex=0,其它为1，就OK了。   <br />  <br />  8)怎样实现如EXCEL一样的，当前格=G14+G15+G16 这样的功能<br />    解决：举一个简单的例子：label1.Caption := cxGrid1DBTableView1.DataController.Values[2, </p>
		<p>3]+cxGrid1DBTableView2.DataController.Values[1, 1]+cxGrid1DBTableView3.DataController.Values[1, 1];<br />所以不同cxGrid1DBTableView中的数据都可以给当前格，这样就做到了EXCEL中的当前格=G14+G15+G16 类似的功能。<br />  <br />  9)鼠标右击cxGrid1DBBandedTableView1菜单里的Edit Layout什么用，怎么使用？<br />    解决：可以拖动字段，并列的可以拖成有层次感（一层层）， 拖动时会显示箭头的，就是说可以拖一个字段放</p>
		<p>到最上面，就可以使记录按此字段进行分组。点击其中一个字段，上面还会出现一个上升或者下降的小三角形，这个</p>
		<p>小三角形的作用是在运行阶段，数据就会按照这个字段上升或者下降排序。<br />     还有一个Set as Default的作用是保持当前TableView的参数，下此产生新的TableView的时候就会可以和上次保持的参数一样。这个还没有做过试验。<br />  </p>
		<p>
				<br /> 2003-11-2 21:45:37    问题1010）怎样将cxGrid里的数据导入到EXCEL，HTML，XML和TEXT<br />   解决：这个问题在用了cxGrid以后变得异常简单，<br />uses<br />  cxExportGrid4Link;</p>
		<p>procedure TForm1.Button1Click(Sender: TObject);<br />begin<br />  ExportGrid4ToEXCEL('d:\wang.xsl',cxGrid1,True,True);<br />  ExportGrid4ToTEXT('d:\wang.txt',cxGrid1,True,True);<br />  ExportGrid4ToXML('d:\wang.xml',cxGrid1,True,True);<br />  ExportGrid4ToHTML('d:\wang.html',cxGrid1,True,True);<br />end; </p>
		<p>
				<br /> 2003-11-2 21:54:10    问题1111)如何使满足条件的数据显示不同的颜色？<br />解决：<br />var<br /> AYellowStyle: TcxStyle;</p>
		<p>procedure TForm1.FormCreate(Sender: TObject);<br />begin<br />  //行颜色<br /> AYellowStyle := TcxStyle.Create(Self);<br /> AYellowStyle.Color := $0080FFFF;<br /> AYellowStyle.TextColor := clMaroon;<br />end;</p>
		<p>procedure TForm1.cxGrid1DBBandedTableView1StylesGetContentStyle(<br /> Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;<br /> AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);<br />begin<br /> if ARecord.Values[cxGrid1DBBandedTableView1Lengthcm.Index] &lt; 81 then<br />   AStyle := AYellowStyle;<br />end;</p>
		<p>这里cxGrid1DBBandedTableView1Lengthcm.Index小于81时就显示黄色<br />  </p>
		<p>
				<br /> 2003-11-2 21:59:39    问题1212）如何从外边的TXT文件导入到cxGrid？<br /> 解决：    procedure CustomizeColumns;<br />           procedure LoadData;</p>
		<p>procedure TForm1.CustomizeColumns;<br />const<br />  cDistance = 1;<br />  cRadius = 5;<br />  cPeriod = 4;<br />  cPstring = 0;<br />var<br />  I: Integer;<br />begin<br />  DecimalSeparator := '.';<br />  with cxGrid1TableView2 do<br />  for I := 0 to ColumnCount - 1 do<br />    if I in [cDistance, cRadius] then<br />      Columns[I].DataBinding.ValueTypeClass := TcxIntegerValueType//1，5列为Integer<br />    else<br />      if I in [cPstring,cPeriod] then<br />      Columns[I].DataBinding.ValueTypeClass := TcxStringValueType//0，4列为String<br />      else<br />       Columns[I].DataBinding.ValueTypeClass := TcxFloatValueType;//其他为Float<br />end;</p>
		<p>procedure TForm1.LoadData;<br />const<br />  AFileName = '资产负债表.txt';<br />  AHeaderLineCount = 2;</p>
		<p>var<br />  ARecords, AValues: TStringList;<br />  I: Integer;</p>
		<p>  procedure InitRecord(const Str: string);<br />  var<br />    J: Integer;<br />    V: Variant;<br />  begin<br />    AValues.CommaText := Str;<br />    for J := 0 to AValues.Count - 1 do<br />     if AValues.Strings[J] &lt;&gt; '-' then<br />     begin<br />      V := AValues.Strings[J];<br />      if not VarIsNull(V) then<br />        cxGrid1TableView2.DataController.Values[I, J] := V;<br />     end;<br />  end;</p>
		<p>begin<br />  if not FileExists(AFileName) then<br />    raise Exception.Create('Data file not found');</p>
		<p>  ARecords := TStringList.Create;<br />  AValues := TStringList.Create;</p>
		<p>  with ARecords do<br />  try<br />    LoadFromFile(AFileName);<br />    cxGrid1TableView2.BeginUpdate;<br />    cxGrid1TableView2.DataController.RecordCount := Count - AHeaderLineCount;<br />    for I := 0 to Count - (AHeaderLineCount + 1) do<br />      InitRecord(Strings[I + AHeaderLineCount]);<br />  finally<br />    cxGrid1TableView2.EndUpdate;<br />    ARecords.Free;<br />    AValues.Free;<br />  end;<br />end;</p>
		<p>procedure TForm1.FormCreate(Sender: TObject);<br />begin<br />  CustomizeColumns;<br />  LoadData_Zcfz;<br />end; </p>
		<p>
				<br /> 2003-11-3 13:18:58    附件其中“资产负债表.txt”中的数据如下：</p>
		<p>资        产  行次  年  初  数  期  末  数  负债及所有者权益  行次  年  初  数  期  末  数<br />---------       ----    -----           --------        ----------             ----     --------        ---------<br />流动资产：  1  0.00          0.00          流动负债：          2  0.00          0.00  </p>
		<p>
				<br /> 2003-11-3 20:09:25    问题1313）如何改变列的颜色？<br />var<br />  AFirstColumnStyle: TcxStyle;</p>
		<p>procedure TForm1.FormCreate(Sender: TObject);<br />begin<br />  //列颜色<br />  AFirstColumnStyle := TcxStyle.Create(Self);<br />  AFirstColumnStyle.Color := clAqua;<br />  AFirstColumnStyle.TextColor := clBlue;<br />  cxGrid1TableView1.Columns[1].Styles.Content := AFirstColumnStyle;<br />end; </p>
		<p>
				<br /> 2003-11-3 20:46:42    问题1414）Set as default的用法？<br />  解决：Set as default的用法是为了解决设置参数的方便而做的，比如：<br />        连好数据库以后，更改cxGrid1DBBandedTableView1-&gt;OptionsCustomize-&gt;ColumnFiltering 设为False。（这个设置可以将字段名的下拉单给去掉）更改cxGrid1DBBandedTableView1-&gt;OptionsView-&gt;Navigator 设置为True。然后右击cxGrid1DBBandedTableView1，在弹出的菜单栏里面点击Set as default。 <br />   OK，下次你再产生一个新的cxGrid1DBBandedTableView1时这些设置和刚才的一样了。如果需要设置的参数很多的时候，这个Set as default很有用！ </p>
		<p>
				<br /> 2003-11-3 20:58:27    问题1515）怎样使鼠标移动时，相应的单元里的文字变色？<br />   解决：<br />var<br />  FTrackItem: TcxCustomGridTableItem;<br />  FTrackRec: TcxCustomGridRecord;</p>
		<p>procedure TForm1.cxGrid1DBTableView1CustomDrawCell(<br />  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;<br />  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);<br />begin<br />  if (AViewInfo.GridRecord = FTrackRec) and (AViewInfo.Item = FTrackItem) then<br />  begin<br />    ACanvas.Font.Color := clred;   //红色字体<br />    ACanvas.Font.Style := [fsUnderline];//带下划线<br />  end;<br />end;</p>
		<p>procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject;<br />  Shift: TShiftState; X, Y: Integer);<br />var<br />  AHitTest: TcxCustomGridHitTest;<br />  ATrackItem: TcxCustomGridTableItem;<br />  ATrackRec: TcxCustomGridRecord;<br />begin<br />  ATrackItem := FTrackItem;<br />  ATrackRec := FTrackRec;</p>
		<p>  AHitTest := (Sender as TcxGridSite).GridView.ViewInfo.GetHitTest(X, Y);<br />  if AHitTest is TcxGridRecordCellHitTest then<br />  begin<br />    FTrackItem := TcxGridRecordCellHitTest(AHitTest).Item;<br />    FTrackRec := TcxGridRecordCellHitTest(AHitTest).GridRecord;<br />  end<br />  else<br />  begin<br />    FTrackItem := nil;<br />    FTrackRec := nil;<br />  end;</p>
		<p>  if (ATrackItem &lt;&gt; FTrackItem) or (ATrackRec &lt;&gt; FTrackRec) then<br />  begin<br />    // Invalidate old cell<br />    if ATrackRec &lt;&gt; nil then<br />      ATrackRec.Invalidate(ATrackItem);<br />    // Invalidate new cell<br />    if FTrackRec &lt;&gt; nil then<br />      FTrackRec.Invalidate(FTrackItem);<br />  end;<br />end; </p>
		<p>
				<br /> 2003-11-5 11:26:19    问题1616)ExpressQuantumGrid 3.2.2中的dxdbgrid和4.2版本中的cxgrid有什么区别?<br />有很大的区别，基本上相当于是两个控件一样。<br />cxgrid是在dxdbgrid基础上完全重写的，所以cxgrid不支持dxdbgrid<br />所以cxgrid里面特意提供了一个将dxdbgrid导入到cxgrid的功能。<br />  </p>
		<p>
				<br /> 2003-11-5 16:31:07    问题1717）怎样设计多表头的cxGrid？<br />   解决：cxGrid可以解决如下的表头：<br />                    ---------------------------------<br />                    |     说明1     |     说明2     |<br />                    ---------------------------------<br />                    | 字段1 | 字段2 | 字段3 | 字段4 |<br />                    |      字段5    |     字段6     |<br />                    |      字段7    | 字段8 | 字段9 |<br />实现这个很简单，你可以直接在上面拖动字段名，拖动时会显示箭头的，放入你想显示的位置就OK了。或者在鼠标右击cxGrid1DBBandedTableView1菜单里的Edit Layout里也可以拖放。</p>
		<p>但是cxGrid不能实现如下的多表头形式：<br />                    ---------------------------------<br />                    |     说明1     |     说明2     |<br />                    ---------------------------------<br />                    | 说明3 | 说明4 | 说明5 | 说明6 |<br />                    |      字段1    |     字段2     |<br />                    |      字段3    | 字段4 | 字段5 |<br />不知道有谁能实现这样的多表头？ </p>
		<p>
				<br /> 2003-11-5 21:51:02    问题1818）在主从表结构时，当点开“+”时怎样将焦点聚在相应主表的记录上？<br />解决：<br />var <br />  HitTest: TcxCustomGridHitTest; </p>
		<p>procedure TColumnsShareDemoMainForm.tvProjectsMouseDown(Sender: TObject;<br />  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);<br />begin<br />  // Note that the Sender parameter is a Site<br />  HitTest := (Sender as TcxGridSite).GridView.ViewInfo.GetHitTest(X, Y);<br />  // The point belongs to the [+]/[-] button area<br />  if HitTest is TcxGridExpandButtonHitTest then<br />    // Move focus to the record<br />    TcxGridExpandButtonHitTest(HitTest).GridRecord.Focused := True;<br />end; </p>
		<p>
				<br /> 2003-11-17 14:16:25    问题1919)CXGrid4如何展开全部节点<br />  解决：GridDBTableView1.DataController.Groups.FullExpand; </p>
		<p>
				<br /> 2003-12-12 17:07:30    问题2020）cxGrid如何动态创建Items的Editor的项?<br />    cxGrid的列有一个属性,它的编辑框可以指定combobox,spinedit等.在设计时,可以为<br />    combobox的items添加项目.请问是否可以动态创建?(run-time时由程序加入) </p>
		<p>解决： <br />var<br />   A:TDataSource:<br />   B:TcxlookupcomboboxProperties;<br />       begin<br />   A:=TDataSource.create(self);<br />   B:=tcxlookupcomboboxproperties.create(self);<br />   A.Dataset:=Dic_ry_xb;//此处指定数据源。<br />   b.listdource:=a;//此处指明字段的listsource属性。<br />   b.keyfieldnames:='a';    //此处指明字段的关键字段<br />   b.listfieldnames:='b';   //此处指明字段的返回值。<br />   b.listcolumns.items[0].caption:='x;  //此处默认是会建立一个字段，但是显示的表头是name，所以此处让它显示为自己想要的中午显示。<br />         cxGrid1DBTableView1c1_sex_code.Properties:=b;  //此处指明是那个字段。<br /> end;  //这个是初始化的代码， </p>
		<p> </p>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/9911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-04-29 12:54 <a href="http://www.cnitblog.com/gffnxk/archive/2006/04/29/9911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Delphi中实现全角转半角</title><link>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9910.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Sat, 29 Apr 2006 04:45:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9910.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/9910.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9910.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/9910.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/9910.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">function SbctoDbc(s:string):string;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />var<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  nlength,i:integer;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  str,ctmp,c1,c2:string;<br /><img id="Codehighlighter1_86_307_Open_Image" onclick="this.style.display='none'; Codehighlighter1_86_307_Open_Text.style.display='none'; Codehighlighter1_86_307_Closed_Image.style.display='inline'; Codehighlighter1_86_307_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_86_307_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_86_307_Closed_Text.style.display='none'; Codehighlighter1_86_307_Open_Image.style.display='inline'; Codehighlighter1_86_307_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_86_307_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cnitblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_86_307_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> 在windows中，中文和全角字符都占两个字节，<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> 并且使用了ascii　chart </span>
						<span style="COLOR: #000000">2</span>
						<span style="COLOR: #000000"> (codes </span>
						<span style="COLOR: #000000">128</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">255</span>
						<span style="COLOR: #000000">)。<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />全角字符的第一个字节总是被置为163，<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> 而第二个字节则是相同半角字符码加上128（不包括空格）。<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> 如半角a为65，则全角a则是163（第一个字节）、</span>
						<span style="COLOR: #000000">193</span>
						<span style="COLOR: #000000">（第二个字节，</span>
						<span style="COLOR: #000000">128</span>
						<span style="COLOR: #000000">+</span>
						<span style="COLOR: #000000">65</span>
						<span style="COLOR: #000000">）。<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> 而对于中文来讲，它的第一个字节被置为大于163，（<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> 如</span>
						<span style="COLOR: #000000">'</span>
						<span style="COLOR: #000000">阿</span>
						<span style="COLOR: #000000">'</span>
						<span style="COLOR: #000000">为:</span>
						<span style="COLOR: #000000">176</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">162</span>
						<span style="COLOR: #000000">）,我们可以在检测到中文时不进行转换。<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  nlength:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">length(s);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> (nlength</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">) then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    exit;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  str:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">''</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  setlength(ctmp,nlength</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  ctmp:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">s;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  i:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">while</span>
				<span style="COLOR: #000000"> (i</span>
				<span style="COLOR: #000000">&lt;=</span>
				<span style="COLOR: #000000">nlength) </span>
				<span style="COLOR: #0000ff">do</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    c1:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ctmp[i];<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    c2:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ctmp[i</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">];<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> (c1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">#</span>
				<span style="COLOR: #000000">163</span>
				<span style="COLOR: #000000">) then  </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">如果是全角字符</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">    begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      str:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">str</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">chr(ord(c2[</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">])</span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000">128</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      inc(i,</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">continue</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> (c1</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">#</span>
				<span style="COLOR: #000000">163</span>
				<span style="COLOR: #000000">) then  </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">如果是汉字</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">    begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      str:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">str</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">c1;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      str:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">str</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">c2;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      inc(i,</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">continue</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> (c1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">#</span>
				<span style="COLOR: #000000">161</span>
				<span style="COLOR: #000000">) and (c2</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">#</span>
				<span style="COLOR: #000000">161</span>
				<span style="COLOR: #000000">) then  </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">如果是全角空格</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">    begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      str:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">str</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      inc(i,</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">continue</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    end; <br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    str:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">str</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">c1;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    inc(i);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  result:</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">str;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end;</span>
		</div>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/9910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-04-29 12:45 <a href="http://www.cnitblog.com/gffnxk/archive/2006/04/29/9910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>15位身份证转18位身份证</title><link>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9908.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Sat, 29 Apr 2006 04:39:00 GMT</pubDate><guid>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9908.html</guid><wfw:comment>http://www.cnitblog.com/gffnxk/comments/9908.html</wfw:comment><comments>http://www.cnitblog.com/gffnxk/archive/2006/04/29/9908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gffnxk/comments/commentRss/9908.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gffnxk/services/trackbacks/9908.html</trackback:ping><description><![CDATA[
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">function GetIDCard(AiIDCard : String) : String;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">const</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  IDCardGene : Array[</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">..</span>
				<span style="COLOR: #000000">18</span>
				<span style="COLOR: #000000">] Of Integer </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> (</span>
				<span style="COLOR: #000000">7</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">9</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">10</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">5</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">8</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">4</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">6</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">3</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">7</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">9</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">10</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">5</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">8</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">4</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  IDCardParity : Array[</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">..</span>
				<span style="COLOR: #000000">10</span>
				<span style="COLOR: #000000">] Of Char </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> (</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">X</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">9</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">8</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">7</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">6</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">5</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">4</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">3</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  ValidLen </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">15</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />var<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  sIDCard : String;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  i, s : Integer;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">''</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  s :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  sIDCard :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Trim(AiIDCard);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  If Length(sIDCard)</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ValidLen Then<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Insert(</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">19</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">, sIDCard, </span>
				<span style="COLOR: #000000">7</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">for</span>
				<span style="COLOR: #000000"> i :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000"> To ValidLen</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000"> Do<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    begin<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />      s :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> s </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> StrToInt(sIDCard[i]) </span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000"> IDCardGene[i];<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />    Result :</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> sIDCard </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> IDCardParity[(s Mod </span>
				<span style="COLOR: #000000">11</span>
				<span style="COLOR: #000000">)]<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />  end;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />end; </span>
		</div>
<img src ="http://www.cnitblog.com/gffnxk/aggbug/9908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gffnxk/" target="_blank">matthew</a> 2006-04-29 12:39 <a href="http://www.cnitblog.com/gffnxk/archive/2006/04/29/9908.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>