亚洲欧美第一页_禁久久精品乱码_粉嫩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 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  bgcolor="#e0e0e0"><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" bgcolor="#F5F8F8" 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; 函數返回值表示命令串是否被成功傳輸。而宏命令執行是否成功客戶是無法檢測到的?!?lt;/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">方法時觸發?!?lt;/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>窗口生成時進行變量和部件狀態的初始化?!?lt;/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">聯接信息用一個字符串來記錄。下面是實現代碼?!?lt;/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一区二区三区免费野_久草精品视频
成人国产精品免费观看视频| 日韩美女一区二区三区四区| 欧美美女一区二区| 亚洲精品一区二区三区福利| 中文字幕永久在线不卡| 免费在线视频一区| 91丨porny丨蝌蚪视频| 日韩免费高清av| 一区二区视频在线| 国产**成人网毛片九色| 欧美精品日日鲁夜夜添| 综合激情网...| 国产传媒一区在线| 日韩欧美一区二区视频| 亚洲午夜免费福利视频| 色综合咪咪久久| 久久久国产午夜精品| 日韩avvvv在线播放| 欧美在线观看视频一区二区三区| 欧美国产日产图区| 国产在线精品一区二区| 日韩欧美一区二区免费| 亚洲成人av一区| 欧美性猛片aaaaaaa做受| 亚洲欧美日韩在线不卡| 不卡的看片网站| 中文成人综合网| 国产高清不卡一区| 国产丝袜欧美中文另类| 国产一区二区视频在线| 精品国产乱码久久| 久久国产精品第一页| 久久综合久久久久88| 轻轻草成人在线| 3d成人h动漫网站入口| 午夜免费久久看| 欧美精品一卡二卡| 麻豆传媒一区二区三区| 欧美一级黄色片| 黄色成人免费在线| 国产三级精品三级| 不卡电影免费在线播放一区| 亚洲欧洲精品天堂一级| 一本一道综合狠狠老| 亚洲成人免费av| 日韩一二三区不卡| 国产精品一区二区视频| 国产精品久久看| 欧美在线观看你懂的| 日韩av在线播放中文字幕| 欧美成人一区二区三区片免费 | 国产成人啪免费观看软件| 久久久久久久久99精品| 成人禁用看黄a在线| 夜色激情一区二区| 6080午夜不卡| 国产精品99久久久久久似苏梦涵| 国产精品色哟哟网站| 欧美日韩在线三区| 久久精品国内一区二区三区| 国产三级欧美三级| 色噜噜狠狠色综合欧洲selulu| 亚洲成人av在线电影| 国产日韩影视精品| 欧美日韩久久一区二区| 国产在线精品免费| 亚洲综合在线五月| 精品欧美一区二区三区精品久久| 国产精品亚洲人在线观看| 亚洲最大成人综合| 久久亚洲精品国产精品紫薇 | 处破女av一区二区| 一区二区三区波多野结衣在线观看| 欧美一区二区私人影院日本| 东方aⅴ免费观看久久av| 亚洲丰满少妇videoshd| 久久伊人蜜桃av一区二区| 在线免费一区三区| 国产伦精品一区二区三区在线观看 | 亚洲人精品一区| 69av一区二区三区| 色综合久久久久久久久| 久久99久久久久| 亚洲久本草在线中文字幕| 久久亚洲综合av| 欧美日韩一区不卡| 99久久精品一区二区| 精品在线亚洲视频| 婷婷久久综合九色综合绿巨人| 国产精品青草综合久久久久99| 欧美一级夜夜爽| 欧美午夜精品一区| fc2成人免费人成在线观看播放 | 一区二区三区日韩欧美| 欧美精品一区二区三区蜜桃| 欧美日韩一二区| 成人av动漫网站| 国产精品一区二区三区乱码| 免费观看日韩av| 丝袜美腿亚洲色图| 亚洲国产视频a| 洋洋av久久久久久久一区| 亚洲欧美区自拍先锋| 国产精品免费视频一区| 国产亚洲欧洲一区高清在线观看| 精品国产乱码久久久久久免费| 欧美一卡二卡在线| 欧美一区二区播放| 日韩一区二区免费在线观看| 69av一区二区三区| 日韩一区二区三| 日韩亚洲电影在线| 欧美大白屁股肥臀xxxxxx| 制服丝袜一区二区三区| 91精品国产综合久久蜜臀 | 久久久久久久久久久久久女国产乱| 日韩一区国产二区欧美三区| 欧美巨大另类极品videosbest | 一本大道久久精品懂色aⅴ| 成人午夜av影视| 99综合电影在线视频| 91视视频在线观看入口直接观看www| 成人高清伦理免费影院在线观看| 不卡av在线网| 色吊一区二区三区| 91麻豆swag| 精品视频一区三区九区| 91精品国产综合久久精品图片 | 国产精品国产三级国产aⅴ无密码| 久久久久久黄色| 中文在线一区二区| 亚洲女人****多毛耸耸8| 亚洲国产一区二区在线播放| 天使萌一区二区三区免费观看| 麻豆传媒一区二区三区| 国产精品香蕉一区二区三区| 99久久er热在这里只有精品15| 色域天天综合网| 欧美一级高清片| 欧美国产丝袜视频| 亚洲第一在线综合网站| 免费不卡在线视频| eeuss影院一区二区三区 | 日本va欧美va精品发布| 狠狠色丁香婷婷综合久久片| 福利一区福利二区| 欧美日韩精品一区二区天天拍小说 | 4438成人网| 国产清纯在线一区二区www| 亚洲男人的天堂av| 麻豆久久久久久久| 91在线精品一区二区| 555www色欧美视频| 17c精品麻豆一区二区免费| 日韩精品久久理论片| 国产成a人无v码亚洲福利| 欧美性色欧美a在线播放| 久久久久国产精品厨房| 亚洲综合一区二区精品导航| 国产一区二区在线免费观看| 欧美在线|欧美| 国产三级欧美三级日产三级99| 午夜精品福利视频网站| 粉嫩嫩av羞羞动漫久久久| 欧美精品一级二级| 亚洲图片另类小说| 精品一区二区综合| 在线观看国产日韩| 欧美激情一区在线| 六月丁香婷婷色狠狠久久| 在线视频你懂得一区二区三区| 久久婷婷国产综合精品青草| 亚洲一区二区三区在线播放 | 黑人精品欧美一区二区蜜桃| 91国产精品成人| 国产精品久久久久桃色tv| 美国十次综合导航| 欧美色综合久久| 亚洲少妇最新在线视频| 高清不卡一区二区在线| 欧美不卡视频一区| 午夜精品一区在线观看| 色综合色综合色综合色综合色综合| 精品免费日韩av| 婷婷久久综合九色综合绿巨人| 在线免费不卡视频| 亚洲欧洲精品天堂一级| 成人午夜精品一区二区三区| 久久综合色8888| 久久91精品国产91久久小草| 欧美日韩国产在线观看| 一区二区三区国产豹纹内裤在线| 白白色 亚洲乱淫| 欧美国产欧美综合| 国产不卡在线播放| 中文字幕精品综合| 成人高清免费观看| 亚洲少妇中出一区| 欧美日韩一区二区在线观看视频| 夜夜揉揉日日人人青青一国产精品|