亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于PowerPoint應(yīng)用對象的插入方法及其系統(tǒng)與流程

文檔序號:12469711閱讀:396來源:國知局
基于PowerPoint應(yīng)用對象的插入方法及其系統(tǒng)與流程

本發(fā)明涉及PowerPoint插入操作技術(shù)領(lǐng)域,尤其涉及一種基于PowerPoint應(yīng)用對象的插入方法及其系統(tǒng)。



背景技術(shù):

在PowerPoint通過COM接口初始化的Application對象(應(yīng)用對象)自動化插入的操作中,不管進行多少次的插入操作,PowerPoint都判斷為一個步驟,如果執(zhí)行撤消操作,前面所有的插入的內(nèi)容都會全部取消。導致如果某一步插入操作失誤,而不能通過撤消操作去還原到失誤以前的內(nèi)容。從而導致用戶體驗差,實用性不強,存在很大的局限性。



技術(shù)實現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是:提出一種基于PowerPoint應(yīng)用對象的插入方法及其系統(tǒng),可將不同的插入操作判斷為多個步驟,提高用戶體驗,實用性強。

為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種基于PowerPoint應(yīng)用對象的插入方法,包括:

創(chuàng)建至少兩個的插入線程;

創(chuàng)建與所述至少兩個的線程一一對應(yīng)的觸發(fā)事件;

創(chuàng)建與所述至少兩個的插入線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的插入線程所對應(yīng)的應(yīng)用對象不一致;

判斷是否檢測到插入操作;

若是,進入臨界區(qū),將與所述插入操作對應(yīng)的插入指令添加到插入列表;

依據(jù)預設(shè)的喚醒策略喚醒一個觸發(fā)事件;所述喚醒策略為從至少兩個的觸發(fā)事件中,依序循環(huán)喚醒一個觸發(fā)事件;

所述觸發(fā)事件對應(yīng)的插入線程接收所述觸發(fā)事件的喚醒消息,從插入列表中取出一條插入指令;

所述對應(yīng)的插入線程根據(jù)所述插入指令,進行相應(yīng)的插入操作,退出臨界區(qū);

返回執(zhí)行所述判斷是否檢測到插入動作的步驟。

本發(fā)明還涉及一種基于PowerPoint應(yīng)用對象的插入系統(tǒng),包括:

第一創(chuàng)建模塊,用于創(chuàng)建至少兩個的插入線程;

第二創(chuàng)建模塊,用于創(chuàng)建與所述至少兩個的線程一一對應(yīng)的觸發(fā)事件;

第三創(chuàng)建模塊,用于創(chuàng)建與所述至少兩個的插入線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的插入線程所對應(yīng)的應(yīng)用對象不一致;

第一判斷模塊,用于判斷是否檢測到插入操作;

添加模塊,用于若是,進入臨界區(qū),將與所述插入操作對應(yīng)的插入指令添加到插入列表;

第一喚醒模塊,用于依據(jù)預設(shè)的喚醒策略喚醒一個觸發(fā)事件;所述喚醒策略為從至少兩個的觸發(fā)事件中,依序循環(huán)喚醒一個觸發(fā)事件;

取出模塊,用于所述觸發(fā)事件對應(yīng)的插入線程接收所述觸發(fā)事件的喚醒消息,從插入列表中取出一條插入指令;

插入模塊,用于所述對應(yīng)的插入線程根據(jù)所述插入指令,進行相應(yīng)的插入操作,退出臨界區(qū);

執(zhí)行模塊,用于返回執(zhí)行所述判斷是否檢測到插入動作的步驟。

本發(fā)明的有益效果在于:通過創(chuàng)建多個線程,由多線程進行插入操作,可縮短總的插入操作時間;通過創(chuàng)建與線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的線程的應(yīng)用對象不一致,一個線程通過對應(yīng)的應(yīng)用對象進行一次插入操作,由于不同的應(yīng)用對象交替進行插入操作時,PowerPoint會判斷為多個步驟,與實際的插入次數(shù)相同,因此,所有的插入操作都能一步一步的撤銷和還原,且可減少用戶插入操作步驟,使用簡潔,提高用戶體驗,實用性強。

附圖說明

圖1為本發(fā)明一種基于PowerPoint應(yīng)用對象的插入方法的流程圖;

圖2為本發(fā)明實施例一的方法流程圖;

圖3為本發(fā)明實施例二的方法流程圖;

圖4為本發(fā)明一種基于PowerPoint應(yīng)用對象的插入系統(tǒng)的結(jié)構(gòu)示意圖;

圖5為本發(fā)明實施例三的系統(tǒng)結(jié)構(gòu)示意圖。

標號說明:

1、第一創(chuàng)建模塊;2、第二創(chuàng)建模塊;3、第三創(chuàng)建模塊;4、第一判斷模塊;5、添加模塊;6、第一喚醒模塊;7、取出模塊;8、插入模塊;9、執(zhí)行模塊;10、第二判斷模塊;11、第二喚醒模塊;12、第三判斷模塊;13、監(jiān)控模塊;

61、創(chuàng)建單元;62、編號單元;63、計算單元;64、喚醒單元;65、加法單元。

具體實施方式

為詳細說明本發(fā)明的技術(shù)內(nèi)容、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖詳予說明。

本發(fā)明最關(guān)鍵的構(gòu)思在于:首尾及相鄰的插入線程通過不同的應(yīng)用對象進行插入操作。

請參閱圖1,一種基于PowerPoint應(yīng)用對象的插入方法,包括:

創(chuàng)建至少兩個的插入線程;

創(chuàng)建與所述至少兩個的線程一一對應(yīng)的觸發(fā)事件;

創(chuàng)建與所述至少兩個的插入線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的插入線程所對應(yīng)的應(yīng)用對象不一致;

判斷是否檢測到插入操作;

若是,進入臨界區(qū),將與所述插入操作對應(yīng)的插入指令添加到插入列表;

依據(jù)預設(shè)的喚醒策略喚醒一個觸發(fā)事件;所述喚醒策略為從至少兩個的觸發(fā)事件中,依序循環(huán)喚醒一個觸發(fā)事件;

所述觸發(fā)事件對應(yīng)的插入線程接收所述觸發(fā)事件的喚醒消息,從插入列表中取出一條插入指令;

所述對應(yīng)的插入線程根據(jù)所述插入指令,進行相應(yīng)的插入操作,退出臨界區(qū);

返回執(zhí)行所述判斷是否檢測到插入動作的步驟。

從上述描述可知,本發(fā)明的有益效果在于:可將不同的插入操作判斷為多個步驟,使得所有的插入操作都能一步一步的撤銷和還原,提高用戶體驗,實用性強。

進一步地,所述“所述觸發(fā)事件對應(yīng)的插入線程接收所述觸發(fā)事件的喚醒消息,從插入列表中取出一條插入指令”之后,進一步包括:

判斷插入列表中是否還有插入指令;

若是,再次喚醒所述觸發(fā)事件。

由上述描述可知,可保證所有的插入指令都可以全部執(zhí)行。

進一步地,所述“所述對應(yīng)的插入線程根據(jù)所述插入指令,進行相應(yīng)的插入操作”之前,進一步包括:

判斷所述插入指令的有效性。

由上述描述可知,可保證數(shù)據(jù)的有效性。

進一步地,所述“依據(jù)預設(shè)的喚醒策略喚醒一個觸發(fā)事件”具體為:

創(chuàng)建記錄插入操作總次數(shù)的插入變量,并將所述插入變量的值初始化為零;

將所述插入線程及其對應(yīng)的觸發(fā)事件分別從零開始編號排序;

根據(jù)所述插入變量的值和插入線程總數(shù),計算插入變量的值除以插入線程總數(shù)的余數(shù);

根據(jù)所述余數(shù),從至少兩個的觸發(fā)事件中喚醒對應(yīng)所述編號的一個觸發(fā)事件;

插入變量的值加一。

由上述描述可知,可均勻調(diào)用各個線程。

進一步地,所述“創(chuàng)建與所述至少兩個的線程一一對應(yīng)的觸發(fā)事件”之后,進一步包括:

插入線程進入休眠,并監(jiān)控觸發(fā)事件。

由上述描述可知,可節(jié)約CPU的性能,且在接收插入指令后可以更加快速地響應(yīng)。

請參照圖4,本發(fā)明還提出了一種基于PowerPoint應(yīng)用對象的插入系統(tǒng),包括:

第一創(chuàng)建模塊,用于創(chuàng)建至少兩個的插入線程;

第二創(chuàng)建模塊,用于創(chuàng)建與所述至少兩個的線程一一對應(yīng)的觸發(fā)事件;

第三創(chuàng)建模塊,用于創(chuàng)建與所述至少兩個的插入線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的插入線程所對應(yīng)的應(yīng)用對象不一致;

第一判斷模塊,用于判斷是否檢測到插入操作;

添加模塊,用于若是,進入臨界區(qū),將與所述插入操作對應(yīng)的插入指令添加到插入列表;

第一喚醒模塊,用于依據(jù)預設(shè)的喚醒策略喚醒一個觸發(fā)事件;所述喚醒策略為從至少兩個的觸發(fā)事件中,依序循環(huán)喚醒一個觸發(fā)事件;

取出模塊,用于所述觸發(fā)事件對應(yīng)的插入線程接收所述觸發(fā)事件的喚醒消息,從插入列表中取出一條插入指令;

插入模塊,用于所述對應(yīng)的插入線程根據(jù)所述插入指令,進行相應(yīng)的插入操作,退出臨界區(qū);

執(zhí)行模塊,用于返回執(zhí)行所述判斷是否檢測到插入動作的步驟。

進一步地,還包括:

第二判斷模塊,用于判斷插入列表中是否還有插入指令;

第二喚醒模塊,用于若是,再次喚醒所述觸發(fā)事件。

進一步地,還包括:

第三判斷模塊,用于判斷所述插入指令的有效性。

進一步地,所述第一喚醒模塊包括:

創(chuàng)建單元,用于創(chuàng)建記錄插入操作總次數(shù)的插入變量,并將所述插入變量的值初始化為零;

編號單元,用于將所述插入線程及其對應(yīng)的觸發(fā)事件分別從零開始編號排序;

計算單元,用于根據(jù)所述插入變量的值和插入線程總數(shù),計算插入變量的值除以插入線程總數(shù)的余數(shù);

喚醒單元,用于根據(jù)所述余數(shù),從至少兩個的觸發(fā)事件中喚醒對應(yīng)所述編號的一個觸發(fā)事件;

加法單元,用于插入變量的值加一。

進一步地,還包括:

監(jiān)控模塊,用于插入線程進入休眠,并監(jiān)控觸發(fā)事件。

實施例一

請參照圖2,本發(fā)明的實施例一為:一種基于PowerPoint應(yīng)用對象的插入方法,包括如下步驟:

S1:創(chuàng)建PowerPoint操作管理類,即插入操作的管理對象。

S2:創(chuàng)建至少兩個的插入線程;可依次通過函數(shù)CreateThread創(chuàng)建多個插入線程。

S3:創(chuàng)建與所述至少兩個的線程一一對應(yīng)的觸發(fā)事件;可通過函數(shù)CreateEvent創(chuàng)建所述觸發(fā)事件。

S4:創(chuàng)建與所述至少兩個的插入線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的插入線程所對應(yīng)的應(yīng)用對象不一致;所述應(yīng)用對象即為PowerPoint的類,包括多個PowerPoint相關(guān)函數(shù)的函數(shù)接口,進一步地,通過COM接口創(chuàng)建應(yīng)用對象;線程與應(yīng)用對象一一對應(yīng),可方便管理,調(diào)用中不容易出現(xiàn)混淆。

S5:插入線程進入休眠,并監(jiān)控觸發(fā)事件。線程進入休眠,等待觸發(fā)事件的響應(yīng),不會消耗CPU的性能,且在接收插入指令后可以更加快速地響應(yīng)。

S6:判斷是否檢測到插入操作,即判斷是否有資源需要插入,若是,執(zhí)行步驟S7,若否,則繼續(xù)檢測是否有插入操作。

S7:進入臨界區(qū),將與所述插入操作對應(yīng)的插入指令添加到插入列表;臨界區(qū)指的是一個訪問共用資源(例如:共用設(shè)備或是共用存儲器)的程序片段,而這些共用資源有無法同時被多個線程訪問的特性;進入臨界區(qū)可保證多線程的同步,因為不同的插入操作所需要的時間長短不一,如果不進行多線程間的同步,就可能會導致插入的操作順序混亂。插入列表是用來暫時存放所有插入操作的,有插入指令的時候,就先把這個指令按處理事件的緊急程序,放入到插入列表的頭或者尾,這里插入列表用來起一個緩存的作用,因為發(fā)送一條插入指令的所需時間比完成一個插入流程所需的時間短很多。

S8:依據(jù)預設(shè)的喚醒策略喚醒一個觸發(fā)事件;所述喚醒策略為從至少兩個的觸發(fā)事件中,依序循環(huán)喚醒一個觸發(fā)事件;也就是說,若總共有三個觸發(fā)事件且三個觸發(fā)事件依序排列,本次喚醒第二個觸發(fā)事件,則下次喚醒第三個觸發(fā)事件,下下次喚醒第一個觸發(fā)事件,以此類推。

S9:所述觸發(fā)事件對應(yīng)的插入線程接收所述觸發(fā)事件的喚醒消息,從插入列表中取出一條插入指令;進一步地,插入線程從插入列表的頭取出一條插入指令。

S10:判斷插入列表中是否還有插入指令,若是,執(zhí)行步驟S11,若否,執(zhí)行步驟S12。

S11:再次喚醒所述觸發(fā)事件。

S12:判斷所述插入指令是否具有有效性,若所述插入指令有效,執(zhí)行步驟S13。

S13:所述對應(yīng)的插入線程根據(jù)所述插入指令,進行相應(yīng)的插入操作,退出臨界區(qū)。繼續(xù)執(zhí)行所述判斷是否檢測到插入動作的步驟,即步驟S6。

一個插入線程對應(yīng)一個循環(huán),一個循環(huán)完成一次插入操作;在循環(huán)的開始處觸發(fā)事件等待著被喚醒,喚醒后才繼續(xù)后續(xù)的插入操作。觸發(fā)事件沒有引用記數(shù),因此,不管在判斷觸發(fā)事件是否被喚醒前設(shè)置多少次喚醒,判斷后觸發(fā)事件就又進入等待狀態(tài)。但是因為發(fā)送一條插入指令比執(zhí)行一條插入指令的時間短,就存在設(shè)置了多次喚醒,但實際上只執(zhí)行一次插入操作的可能。所以通過插入線程設(shè)置自身對應(yīng)的觸發(fā)事件的喚醒,可保證所有的插入指令都可以全部執(zhí)行。

本實施例通過創(chuàng)建多個線程,由多線程進行插入操作,可縮短總的插入操作時間;通過創(chuàng)建與線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的線程的應(yīng)用對象不一致,一個線程通過對應(yīng)的應(yīng)用對象進行一次插入操作,由于不同的應(yīng)用對象交替進行插入操作時,PowerPoint會判斷為多個步驟,與實際的插入次數(shù)相同,因此,所有的插入操作都能一步一步的撤銷和還原,且可減少用戶插入操作步驟,使用簡潔,提高用戶體驗,實用性強。例如,在編輯一份PPT文檔的時候,發(fā)現(xiàn)另外一份PPT文檔的內(nèi)容跟當前PPT文檔很適合,通過本實施例只需要兩個步驟(點擊插入文檔,選擇對話框中選擇需要插入的文檔的路徑,就會自動全部插入);而通過PowerPoint原生的進行插入,則需要更多的步驟(點擊“新建幻燈片”,下拉菜單,選中“重用幻燈片”,選擇瀏覽,選擇需要插入的文檔,這時PowerPoint會把需要插入的文檔的所有幻燈片加載出來,在需要插入的幻燈片上點擊鼠標進行插入)。

實施例二

請參照圖3,本實施例是實施例一中步驟S8的進一步拓展,包括如下步驟:

S81:創(chuàng)建記錄插入操作總次數(shù)的插入變量,并將所述插入變量的值初始化為零。

S82:將所述插入線程及其對應(yīng)的觸發(fā)事件分別從零開始編號排序。

S83:根據(jù)所述插入變量的值和插入線程總數(shù),計算插入變量的值除以插入線程總數(shù)的余數(shù)。

S84:根據(jù)所述余數(shù),從至少兩個的觸發(fā)事件中喚醒對應(yīng)所述編號的一個觸發(fā)事件。

S85:插入變量的值加一。

例如,插入線程總數(shù)為3,則3個插入線程的編號依序為0、1、2,對應(yīng)的3個觸發(fā)事件的編號也依序為0、1、2;最開始時,插入變量的值為0,則插入變量的值除以插入線程總數(shù)的余數(shù)為0,則喚醒編號為0的觸發(fā)事件,插入變量的值變?yōu)?;第二次需要喚醒一個觸發(fā)事件時,插入變量的值為1,則插入變量的值除以插入線程總數(shù)的余數(shù)為1,則喚醒編號為1的觸發(fā)事件;依次類推,第三需要喚醒一個觸發(fā)事件時,則喚醒編號為2的觸發(fā)事件;第四次需要喚醒一個觸發(fā)事件時,則喚醒編號為0的觸發(fā)事件,如此依序循環(huán)。

本實施例可均勻調(diào)用各個線程,由于首尾及相鄰的線程的應(yīng)用對象不一致,因此可保證每次的插入操作所調(diào)用的應(yīng)用對象都不一致,從而保證PowerPoint會將多個插入操作判斷為多個步驟。

實施例三

請參照圖5,本實施例是對應(yīng)上述實施例的一種基于PowerPoint應(yīng)用對象的插入系統(tǒng),包括:

第一創(chuàng)建模塊1,用于創(chuàng)建至少兩個的插入線程;

第二創(chuàng)建模塊2,用于創(chuàng)建與所述至少兩個的線程一一對應(yīng)的觸發(fā)事件;

第三創(chuàng)建模塊3,用于創(chuàng)建與所述至少兩個的插入線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的插入線程所對應(yīng)的應(yīng)用對象不一致;

第一判斷模塊4,用于判斷是否檢測到插入操作,得到第一判斷結(jié)果;

添加模塊5,用于若第一判斷結(jié)果為是,進入臨界區(qū),將與所述插入操作對應(yīng)的插入指令添加到插入列表;

第一喚醒模塊6,用于依據(jù)預設(shè)的喚醒策略喚醒一個觸發(fā)事件;所述喚醒策略為從至少兩個的觸發(fā)事件中,依序循環(huán)喚醒一個觸發(fā)事件;

取出模塊7,用于所述觸發(fā)事件對應(yīng)的插入線程接收所述觸發(fā)事件的喚醒消息,從插入列表中取出一條插入指令;

插入模塊8,用于所述對應(yīng)的插入線程根據(jù)所述插入指令,進行相應(yīng)的插入操作,退出臨界區(qū);

執(zhí)行模塊9,用于返回執(zhí)行所述判斷是否檢測到插入動作的步驟。

還包括:

第二判斷模塊10,用于判斷插入列表中是否還有插入指令,得到第二判斷結(jié)果;

第二喚醒模塊11,用于若第二判斷結(jié)果為是,再次喚醒所述觸發(fā)事件。

還包括:

第三判斷模塊12,用于判斷所述插入指令的有效性。

所述第一喚醒模塊6包括:

創(chuàng)建單元61,用于創(chuàng)建記錄插入操作總次數(shù)的插入變量,并將所述插入變量的值初始化為零;

編號單元62,用于將所述插入線程及其對應(yīng)的觸發(fā)事件分別從零開始編號排序;

計算單元63,用于根據(jù)所述插入變量的值和插入線程總數(shù),計算插入變量的值除以插入線程總數(shù)的余數(shù);

喚醒單元64,用于根據(jù)所述余數(shù),從至少兩個的觸發(fā)事件中喚醒對應(yīng)所述編號的一個觸發(fā)事件;

加法單元65,用于插入變量的值加一。

還包括:

監(jiān)控模塊13,用于插入線程進入休眠,并監(jiān)控觸發(fā)事件。

綜上所述,本發(fā)明提供的一種基于PowerPoint應(yīng)用對象的插入方法及其系統(tǒng),通過創(chuàng)建多個線程,由多線程進行插入操作,可縮短總的插入操作時間;通過創(chuàng)建與線程一一對應(yīng)的應(yīng)用對象,且首尾及相鄰的線程的應(yīng)用對象不一致,一個線程通過對應(yīng)的應(yīng)用對象進行一次插入操作,由于不同的應(yīng)用對象交替進行插入操作時,PowerPoint會判斷為多個步驟,與實際的插入次數(shù)相同,因此,所有的插入操作都能一步一步的撤銷和還原,且可減少用戶插入操作步驟,使用簡潔,提高用戶體驗,實用性強。

以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1