亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 020.htm

?? Delphi基礎知識講座
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基礎教程-->第七章 剪貼板和動態數據交換(二)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基礎教程 第七章 剪貼板和動態數據交換(二)">
<META NAME="description" CONTENT=" - DELPHI基礎教程 - 第七章 剪貼板和動態數據交換(二)">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 background="bg.gif" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">

<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  background="bg.gif"><strong><A HREF="021.htm" ><FONT style="FONT-SIZE: 9pt">后一頁</font></A><BR>
<A HREF="019.htm" ><FONT style="FONT-SIZE: 9pt">前一頁</font></A><BR>

<A HREF="index.html" ><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR>
<A HREF="../../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首頁</font></A><BR>
</strong>
</TD>
<TD class="tt2" background="bg.gif" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">第七章 剪貼板和動態數據交換(二)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p>7.3.5 <font face="宋體" lang="ZH-CN">控制服務器應用程序的執行 </p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 客戶程序控制服務器應用程序的一個方面是:必要的時候客戶程序可以啟動服務器程序,并裝載會話主題。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 而客戶程序控制服務器應用程序更重要的一點是向服務器發送服務器承認的宏命令,來完成對服務器應用程序的各種操作。服務器到底支持哪些宏命令,可參閱服務器應用程序文檔。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 發送宏命令要使用</font>DDEClientConv<font
face="宋體" lang="ZH-CN">的兩個方法</font> ExecuteMacro<font face="宋體"
lang="ZH-CN">和</font>ExecuteMacroLines <font face="宋體" lang="ZH-CN">,它們的語法如下: </p>
</font><p>function ExecuteMacro(Cmd: PChar; WaitFlag: Boolean): Boolean;</p>
<p>function ExecuteMacroLines(Cmd: TStrings;WaitFlag: Boolean): Boolean; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cmd<font face="宋體" lang="ZH-CN">是欲發送的宏命令字符串或宏命令字符串鏈表。</font>WaitFlag<font
face="宋體" lang="ZH-CN">決定了在</font>DDE <font face="宋體" lang="ZH-CN">服務器程序執行宏命令時客戶程序的行為。如果</font>WaitFlag<font
face="宋體" lang="ZH-CN">設置為</font>True<font face="宋體" lang="ZH-CN">,則在服務器宏命令執行完畢前,不允許對</font>ExecuteMacro<font
face="宋體" lang="ZH-CN">、</font>ExecuteMacroLines<font face="宋體" lang="ZH-CN">、</font>PokeData<font
face="宋體" lang="ZH-CN">、</font>PokeDataLines<font face="宋體" lang="ZH-CN">這些方法的成功調用,它們都不向服務器發送數據并返回</font>False<font
face="宋體" lang="ZH-CN">。如果</font>WaitFlag<font face="宋體" lang="ZH-CN">設置為</font>False<font
face="宋體" lang="ZH-CN">,則調用的方法在第一個宏執行完畢前即試圖向服務器發送數據。</p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WaitFalg<font face="宋體"
lang="ZH-CN">的設置也取決于服務器應用程序。一些應用程序當在第一個宏執行完之前就試圖向它發送數據或命令時,可能導致第一個宏執行失敗或導致不可預料的后果。具體情況可查閱服務器應用程序文檔。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 函數返回值表示命令串是否被成功傳輸。而宏命令執行是否成功客戶是無法檢測到的。 </p>
</font><p>7.3.6 <font face="宋體" lang="ZH-CN">格式化文本 </p>
</font><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DDEClientConv<font face="宋體"
lang="ZH-CN">有一個布爾屬性</font>FormartChars<font face="宋體" lang="ZH-CN">,用于決定是否格式化文本。所謂格式化文本是指從傳輸來的文本數據中過濾掉</font>BackSpace(8)<font
face="宋體" lang="ZH-CN">、</font> Tab(7) <font face="宋體" lang="ZH-CN">、</font>Linefeed(10)
<font face="宋體" lang="ZH-CN">、</font>Return(13)<font face="宋體" lang="ZH-CN">等字符。括號內是字符的</font>ASCII<font
face="宋體" lang="ZH-CN">碼。許多時候這些字符將導致</font>DDE<font
face="宋體" lang="ZH-CN">客戶數據顯示的混亂。</p>
<p>  </font>FormatChars<font face="宋體" lang="ZH-CN">的缺省值是</font>False<font
face="宋體" lang="ZH-CN">。 </p>
</font><p>7.3.7 <font face="宋體" lang="ZH-CN">響應</font>DDE<font face="宋體"
lang="ZH-CN">事件 </p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 部件</font>DDEClientConv<font face="宋體"
lang="ZH-CN">有兩個事件</font>OnOpen<font face="宋體" lang="ZH-CN">和</font>OnClose<font
face="宋體" lang="ZH-CN">,分別在</font>DDE <font face="宋體" lang="ZH-CN">會話建立和中止時觸發。部件</font>DDEClientItem<font
face="宋體" lang="ZH-CN">有一個</font>OnChange<font face="宋體" lang="ZH-CN">事件。這一事件常用于</font>DDE<font
face="宋體" lang="ZH-CN">項目數據的轉儲和顯示,如</font>(7.3.1)<font
face="宋體" lang="ZH-CN">節所示。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在自動模式下,</font>OnOpen<font
face="宋體" lang="ZH-CN">事件在包含</font>DDEClientConv<font face="宋體"
lang="ZH-CN">部件的窗口創建時觸發,或在調用</font>SetLink<font
face="宋體" lang="ZH-CN">方法時觸發,</font>OnClose<font face="宋體"
lang="ZH-CN">事件在客戶程序或服務器程序關閉時觸發。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在人工模式下,</font>OnOpen<font
face="宋體" lang="ZH-CN">事件在調用</font>OpenLink <font face="宋體" lang="ZH-CN">方法時觸發,</font>OnClose<font
face="宋體" lang="ZH-CN">事件在調用</font>ColseLink<font face="宋體" lang="ZH-CN">方法時觸發。 </p>
</font><p>7.3.8 <font face="宋體" lang="ZH-CN">利用客戶程序和</font>Excel<font
face="宋體" lang="ZH-CN">交換數據   </p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面我們建立一個</font>DDE<font face="宋體"
lang="ZH-CN">客戶程序,并利用這一程序與</font>Excel<font face="宋體"
lang="ZH-CN">中的一個工作表交換數據。程序設計界面</font></p>
<p><font face="宋體" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 界面中包含一個</font>DDE<font
face="宋體" lang="ZH-CN">會話部件</font>DDEClientConv1<font face="宋體"
lang="ZH-CN">和</font>DDE<font face="宋體" lang="ZH-CN">項目部件</font>DDEClientItem1<font
face="宋體" lang="ZH-CN">,用于建立和維護</font>DDE<font face="宋體"
lang="ZH-CN">聯接;一個</font>RadioGroup<font face="宋體" lang="ZH-CN">控件和其中的兩個無線電按鈕</font>AutoRadio<font
face="宋體" lang="ZH-CN">、</font>ManualRadio<font face="宋體" lang="ZH-CN">,用于設置聯接模式;一個</font>GroupBox<font
face="宋體" lang="ZH-CN">控件和其中的兩個按鈕</font>RequestBtn<font
face="宋體" lang="ZH-CN">和</font>PokeBtn<font face="宋體" lang="ZH-CN">,用于控制數據的申請和發送,其中</font>RequestBtn<font
face="宋體" lang="ZH-CN">在自動模式下變灰;一個文本框</font>Memo1<font
face="宋體" lang="ZH-CN">用于保存</font>DDE<font face="宋體" lang="ZH-CN">數據;一個按鈕</font>PasteBtn<font
face="宋體" lang="ZH-CN">用于粘貼聯接信息并建立</font>DDE<font face="宋體"
lang="ZH-CN">聯接;另外一個按鈕</font>CloseBtn<font face="宋體" lang="ZH-CN">用于關閉系統。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 設計時把</font>DDEClientConv1<font
face="宋體" lang="ZH-CN">的</font>FormatChars<font face="宋體" lang="ZH-CN">屬性置為</font>True<font
face="宋體" lang="ZH-CN">,這樣可以保留服務器傳來數據的顯示格式;</font>ConnectMode<font
face="宋體" lang="ZH-CN">保留</font>ddeAutomatic<font face="宋體" lang="ZH-CN">的缺省設置。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 程序在類</font>TForm1<font face="宋體"
lang="ZH-CN">中定義了一個私有數據成員</font>Automatic<font face="宋體"
lang="ZH-CN">,用于標志聯接模式;三個字符串數據成員</font>DDEService<font
face="宋體" lang="ZH-CN">、</font>DDETopic<font face="宋體" lang="ZH-CN">、</font>DDEItem<font
face="宋體" lang="ZH-CN">用于記錄聯接信息。</p>
<p>窗口生成時進行變量和部件狀態的初始化。 </p>
</font><p>procedure TForm1.FormCreate(Sender: TObject);</p>
<p>begin</p>
<p>RequestBtn.Enabled := False;</p>
<p>AutoRadio.Checked := True;</p>
<p>Automatic := True;</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN">當聯接模式改變時,程序進行相應的處理。</font></p>
<p><font face="宋體" lang="ZH-CN">自動模式轉換為人工模式: </p>
</font><p>procedure TForm1.ManualRadioClick(Sender: TObject);</p>
<p>begin</p>
<p>if Automatic then</p>
<p>begin</p>
<p>RequestBtn.Enabled := ManualRadio.Checked;</p>
<p>DDEClientConv1.ConnectMode := ddeManual;</p>
<p>Automatic := False;</p>
<p>end;</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN">人工模式轉換為自動模式:</p>
</font><p>procedure TForm1.AutoRadioClick(Sender: TObject);</p>
<p>begin</p>
<p>if not Automatic then</p>
<p>begin</p>
<p>RequestBtn.Enabled := ManualRadio.Checked;</p>
<p>If (DDEService = '') or (DDETopic = '') then</p>
<p>begin</p>
<p>MessageDlg(' Can not Set Link.',mtWarning,[mbOK],0);</p>
<p>Exit;</p>
<p>end;</p>
<p>DDEClientConv1.SetLink (DDEService, DDETopic);</p>
<p>DDEClientItem1.DdeConv := DDEClientConv1;</p>
<p>DDEClientItem1.DDEItem := DDEItem;</p>
<p>DDEClientConv1.ConnectMode := ddeAutomatic;</p>
<p>Automatic := True;</p>
<p>end;</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 當從自動模式轉換到人工模式,只需要簡單修改相應屬性即可;而從人工模式轉換到自動模式,則需要調用</font>SetLink<font
face="宋體" lang="ZH-CN">重新建立聯接,否則往往會引發一個</font>DDE<font
face="宋體" lang="ZH-CN">異常。</p>
<p>聯接的建立采用從剪貼板粘貼聯接信息的方式,這是最具有靈活性的一種方法。</p>
</font><p>procedure TForm1.PasteBtnClick(Sender: TObject);</p>
<p>begin</p>
<p>if GetPasteLinkInfo (DDEService, DDETopic, DDEItem) then</p>
<p>begin</p>
<p>DDEClientConv1.SetLink (DDEService, DDETopic);</p>
<p>if Automatic then</p>
<p>begin</p>
<p>DDEClientItem1.DdeConv := DDEClientConv1;</p>
<p>DDEClientItem1.DDEItem := DDEItem;</p>
<p>end;</p>
<p>end;</p>
<p>end; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetPasteInfo<font face="宋體" lang="ZH-CN">是</font>
DDEMan<font face="宋體" lang="ZH-CN">庫單元中定義的一個函數,用于檢測剪貼板上是否有聯接信息并返回相應的</font>DDE<font
face="宋體" lang="ZH-CN">服務、主題和項目。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 對于人工模式,必須由客戶顯式向服務器申請數據。在這種模式下</font>DDE<font
face="宋體" lang="ZH-CN">項目部件是多余的,接收到的</font>DDE<font
face="宋體" lang="ZH-CN">聯接信息用一個字符串來記錄。下面是實現代碼。 </p>
</font><p>procedure TForm1.RequestBtnClick(Sender: TObject);</p>
<p>var</p>
<p>TheData: PChar;</p>
<p>begin</p>
<p>If DDEItem = '' then</p>
<p>begin</p>
<p>MessageDlg('Can not Request Data',mtWarning,[mbOK],0);</p>
<p>Exit;</p>
<p>end;</p>
<p>TheData := StrAlloc(79);</p>
<p>DDEClientConv1.OpenLink;</p>
<p>TheData := DDEClientConv1.RequestData(DDEItem);</p>
<p>DDEClientConv1.CloseLink;</p>
<p>if TheData &lt;&gt; nil then</p>
<p>Memo1.Text := StrPas(TheData);</p>
<p>StrDisPose(TheData);</p>
<p>end;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenLink<font face="宋體" lang="ZH-CN">、</font>CloseLink<font
face="宋體" lang="ZH-CN">方法用于打開和關閉聯接。</font>RequestData<font
face="宋體" lang="ZH-CN">方法向服務器申請數據并返回到一個</font>PChar<font
face="宋體" lang="ZH-CN">字符串中。字符串必須顯式分配內存并在退出時釋放。</p>
</font><p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 數據發送在不同聯接模式下是不同的。對于人工模式,增加了聯接的打開和關閉操作。程序清單如下。 </p>
</font><p>procedure TForm1.PokeBtnClick(Sender: TObject);</p>
<p>begin</p>
<p>If DDEItem = '' then</p>
<p>begin</p>
<p>MessageDlg('Can not Poke Data.',mtWarning,[mbOK],0);</p>
<p>Exit;</p>
<p>end;</p>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲二区三区| 综合中文字幕亚洲| 国产精品天干天干在观线| 亚洲欧美怡红院| 久久99久久99| 欧美日韩日本视频| 亚洲色图20p| 豆国产96在线|亚洲| 日韩视频免费观看高清完整版 | 国产自产2019最新不卡| 91久久精品一区二区三区| 欧美精品一区二| 奇米色一区二区三区四区| 91浏览器入口在线观看| 国产精品久久久久三级| 国产九九视频一区二区三区| 日韩欧美国产综合| 亚洲国产aⅴ成人精品无吗| 97超碰欧美中文字幕| 久久精品视频网| 极品少妇xxxx偷拍精品少妇| 欧美一区二区黄| 亚洲国产日产av| 99精品视频在线免费观看| 欧美国产一区二区在线观看| 国产一区二区三区不卡在线观看| 午夜精品成人在线| 国产精品主播直播| 久久综合久久综合久久综合| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美中文字幕一区二区三区 | 91网站最新地址| 久久久午夜精品| 国产精品911| 国产亚洲女人久久久久毛片| 国产91精品久久久久久久网曝门| 久久久噜噜噜久久人人看| 九色porny丨国产精品| 日韩精品一区二区在线观看| 国内精品视频一区二区三区八戒| 日韩精品中文字幕在线一区| 黑人精品欧美一区二区蜜桃| 久久亚洲免费视频| 国产乱子轮精品视频| 国产精品丝袜一区| 一本一道综合狠狠老| 一区二区久久久久| 在线观看日韩av先锋影音电影院| 亚洲免费大片在线观看| 欧美日本国产一区| 韩国一区二区视频| 国产精品美女一区二区| 日本韩国欧美一区二区三区| 亚洲国产综合在线| 91精品国产91久久久久久最新毛片 | 国产一本一道久久香蕉| 国产视频一区二区在线| 成人免费av网站| 亚洲影视在线播放| 欧美不卡激情三级在线观看| 国产成人av网站| 亚洲欧美成aⅴ人在线观看| 欧美日韩视频在线第一区| 九一久久久久久| 亚洲欧美日韩中文字幕一区二区三区| 91福利国产精品| 久久99精品国产麻豆不卡| 中文字幕一区二| 日韩丝袜情趣美女图片| 国产成人午夜精品5599| 依依成人综合视频| 2023国产精品视频| 在线精品视频免费观看| 韩国三级在线一区| 一区二区三区精品久久久| 精品国精品国产尤物美女| 色哟哟精品一区| 国产大片一区二区| 亚洲天堂精品视频| 日韩欧美的一区| 在线免费观看成人短视频| 国产一区二区三区免费看| 一区二区三区中文字幕精品精品| 日韩午夜三级在线| 在线观看精品一区| 丁香啪啪综合成人亚洲小说| 午夜国产不卡在线观看视频| 国产精品美女久久久久久久久 | 成人午夜碰碰视频| 日韩va欧美va亚洲va久久| 国产精品毛片久久久久久| 日韩三级高清在线| 欧美亚洲综合久久| 成人性视频网站| 国产一区91精品张津瑜| 日本美女一区二区三区视频| 亚洲精品高清在线观看| 欧美极品aⅴ影院| www国产精品av| 日韩久久久精品| 制服.丝袜.亚洲.中文.综合| 色婷婷久久久综合中文字幕| kk眼镜猥琐国模调教系列一区二区| 久热成人在线视频| 日韩电影在线观看电影| 一区二区久久久| 亚洲精品免费在线观看| 中文字幕中文字幕在线一区| 国产偷国产偷亚洲高清人白洁| 日韩欧美视频一区| 欧美一区二区人人喊爽| 欧美久久一二区| 欧美日韩激情一区二区三区| 欧美午夜宅男影院| 在线欧美日韩精品| 欧美偷拍一区二区| 欧美日韩国产a| 欧美精品久久久久久久久老牛影院| 欧美日韩一区二区在线视频| 精品视频免费在线| 欧美精品777| 91精品国产黑色紧身裤美女| 日韩西西人体444www| 日韩精品中文字幕一区二区三区| 日韩一区二区高清| xvideos.蜜桃一区二区| 久久久久久久综合色一本| 久久你懂得1024| 中文久久乱码一区二区| 亚洲婷婷国产精品电影人久久| 18欧美亚洲精品| 亚洲午夜在线视频| 日韩国产精品91| 黄网站免费久久| 国产高清久久久| 色偷偷久久人人79超碰人人澡| 欧美视频一区二区三区四区| 538在线一区二区精品国产| 欧美哺乳videos| 国产精品欧美久久久久一区二区| 亚洲女同ⅹxx女同tv| 视频在线观看一区| 国产麻豆欧美日韩一区| 91亚洲男人天堂| 777久久久精品| 久久蜜桃一区二区| 亚洲精品免费一二三区| 老司机一区二区| 99在线精品观看| 日韩亚洲欧美在线| 一区精品在线播放| 日本va欧美va精品| 成人av网站免费| 欧美高清视频在线高清观看mv色露露十八 | 国产精品一品视频| 在线视频国内自拍亚洲视频| 日韩欧美一级特黄在线播放| 中文字幕人成不卡一区| 青青草伊人久久| 色综合天天做天天爱| 日韩精品一区二区三区中文精品| 亚洲欧美一区二区视频| 久久精品国产**网站演员| 91玉足脚交白嫩脚丫在线播放| 91精品国产一区二区三区蜜臀| 国产精品美女久久久久久久网站| 日韩国产在线观看一区| av在线不卡网| 欧美精品一区二| 视频在线观看一区| 91片黄在线观看| 日本一区二区三区国色天香| 青青草国产精品亚洲专区无| 91色九色蝌蚪| 中文字幕不卡一区| 国产一区二区三区视频在线播放| 欧美日本在线一区| 亚洲美女电影在线| 粉嫩av亚洲一区二区图片| 精品久久久久久久久久久久久久久 | 青青草成人在线观看| 色综合夜色一区| 中文字幕av免费专区久久| 极品美女销魂一区二区三区 | 风间由美性色一区二区三区| 日韩免费高清视频| 天堂一区二区在线免费观看| 色婷婷国产精品久久包臀| 国产精品热久久久久夜色精品三区| 蜜桃视频在线观看一区| 欧美人与z0zoxxxx视频| 亚洲一区二区精品久久av| 91影院在线观看| 亚洲日本在线看| 色哟哟亚洲精品| 亚洲综合色网站| 欧美制服丝袜第一页| 一区二区三区中文字幕电影| 91玉足脚交白嫩脚丫在线播放| 国产精品久久久久久亚洲伦|