亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Word的客戶端編輯器的實(shí)現(xiàn)

        2008-04-12 00:00:00管恩京葛文慶鄭海峰宋亦剛
        中國新技術(shù)新產(chǎn)品 2008年23期

        摘要:編輯器是Web應(yīng)用中常見的一個(gè)功能,但普通的在線編輯功能有限。因此,本文提出采用客戶端編輯器自動(dòng)調(diào)用Microsoft Word軟件,利用Word強(qiáng)大的文字處理功能,解決編輯器中特殊字符處理、圖文混排等難題,并以試題庫管理系統(tǒng)中試題錄入為例,介紹了基于Word的客戶端編輯的技術(shù)實(shí)現(xiàn)。

        關(guān)鍵詞:編輯器;Word;客戶端編輯器

        1 引言

        網(wǎng)絡(luò)應(yīng)用中,編輯器是一個(gè)非常重要的功能。大家最常見的就是在線編輯器,它能實(shí)現(xiàn)簡單的文本錄入與編排。對(duì)于字符特殊、編排要求高的應(yīng)用,如基于web的大型的公文流轉(zhuǎn)系統(tǒng)、試題庫管理系統(tǒng)等,常見的在線編輯器難以完成任務(wù),往往采用客戶端編輯器來實(shí)現(xiàn),但開發(fā)一套獨(dú)立的客戶端編輯器,功能往往有限,而Microsoft Word是目前最好的編輯工具,因此我們提出用Microsoft Word作為編輯器。但在IE中,Word不可能直接應(yīng)用,需要一個(gè)載體來調(diào)用Word軟件。本文以題庫管理系統(tǒng)中試題的錄入、編輯及試卷的輸出為例分析基于Word的客戶端編輯器的實(shí)現(xiàn)。

        2客戶端編輯器的結(jié)構(gòu)[1][2]

        由于題庫系統(tǒng)最終需要編輯包含數(shù)學(xué)公式等特殊符號(hào)的試題并存入題庫,并且試題還需要組合成試卷,并輸出word文檔,這些功能在普通的IE下用\"在線編輯器\"是無法實(shí)現(xiàn)的,因此需開發(fā)客戶端編輯器,用戶安裝客戶端編輯器后才能實(shí)現(xiàn)試題編輯/存儲(chǔ)、批量導(dǎo)入以及將試卷輸出為word文檔等功能。

        客戶端編輯器在結(jié)構(gòu)上主要包括三個(gè)部分,如下圖所示。一部分是實(shí)現(xiàn)客戶端編輯器所需的各項(xiàng)功能的Theoleditor;另一部分是IE瀏覽器的BHO,用來使IE瀏覽器在訪問服務(wù)器,進(jìn)行編輯試題、批量導(dǎo)入和生成word試卷等功能時(shí)啟動(dòng)Theoleditor;最后一部分位于服務(wù)器端,用來接受Theoleditor上傳的各種文件和信息。

        3客戶端編輯器的實(shí)現(xiàn)[3][4][5]

        客戶端編輯器(Theoleditor)實(shí)現(xiàn)的關(guān)鍵問題包括Theoleditor與BHO的通訊;Theoleditor中的word操作;Theoleditor與服務(wù)器的通訊及系統(tǒng)安全性。

        3.1 客戶端編輯器與BHO的通訊

        客戶端編輯器需要在IE訪問特定網(wǎng)址的時(shí)候啟動(dòng),而BHO和Theoleditor需要進(jìn)行必要的通訊,如BHO需要知道Theoleditor的正確位置,Theoleditor需要知道IE瀏覽器訪問的服務(wù)器地址、端口等信息,需要知道調(diào)用的是錄入試題、批量導(dǎo)入還是輸出試卷等。這里BHO獲得Theoleditor.exe的路徑,可考慮安裝客戶端編輯器時(shí)將這部分的信息寫入windows注冊表中即可。同樣,Theoleditor所需的各種基本信息也可由BHO對(duì)IE地址信息解析,并寫入注冊表,再由Theoleditor運(yùn)行后讀取。

        用于實(shí)現(xiàn)讀取配置信息的類為CConfigInfo.java。該類將BHO寫入注冊表的信息讀取出來供其他部分的代碼使用。配置信息存放在注冊表的HKEY_LOCAL_MACHINE\\\\Software\\\\ThetiEditor下。該類中的CConfigInfo::CConfigInfo() 構(gòu)造函數(shù),負(fù)責(zé)讀取注冊表的HKEY_LOCAL_MACHINE\\\\Software\\\\ThetiEditor下的所有值的名稱和值的數(shù)據(jù),并分別存入對(duì)應(yīng)的字符串?dāng)?shù)組names 和values中。代碼實(shí)現(xiàn)如下:

        CConfigInfo::CConfigInfo()

        {

        m_LoadOK=FALSE;

        HKEY hKEY;//注冊表的鍵

        LPCTSTR data_Set=\"Software\\\\ThetiEditor\";

        DWORD type=REG_SZ,size=1024;

        //打開注冊表

        long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set,0,KEY_READ,hKEY));

        if(ret0!=ERROR_SUCCESS)

        {

        AfxMessageBox(\"錯(cuò)誤:無法打開有關(guān)的hKEY\");

        return;

        }

        unsigned long valuenamemaxlen,valuemaxlen,valuecount;//鍵值長度/數(shù)量

        ::RegQueryInfoKey(hKEY,NULL,NULL,NULL,NULL,NULL,NULL,valuecount,valuenamemaxlen,valuemaxlen,NULL,NULL);//查詢注冊表下鍵值的數(shù)量/長度

        unsigned int i;

        for(i=0;i

        char name[1024];

        char value[1024];

        type=REG_SZ;

        size=1024;

        if(::RegEnumValue(hKEY,i,name,size,0,type,NULL,NULL)!=ERROR_NO_MORE_ITEMS){

        type=REG_SZ;

        size=1024;

        ::RegQueryValueEx(hKEY,name,0,type,(BYTE*)value,size);

        }

        CString strname,strvalue;

        strname.Format(\"%s\",name);//格式化鍵名

        strvalue.Format(\"%s\",value);//格式化鍵值

        names.Add(strname);

        values.Add(strvalue);

        }

        ::RegCloseKey(hKEY);

        m_LoadOK=TRUE;

        }

        3.2 客戶端編輯器中的word操作

        Theoleditor需要實(shí)現(xiàn)word文檔的打開、另存、文檔的拷貝、粘貼、向表格中插入數(shù)據(jù)、設(shè)定頁邊距、行距等功能。由于微軟的Office提供了Automation接口,Theoleditor可通過該接口調(diào)用word,實(shí)現(xiàn)各種所需的功能。具體的實(shí)現(xiàn)可首先通過word錄制宏,然后分析宏的結(jié)構(gòu),調(diào)用對(duì)應(yīng)VC中的Word包裝類的功能。

        用于實(shí)現(xiàn)word操作的類為WordOperator.java。以編輯試題為例,用到的主要方法有打開當(dāng)前word文檔、將word文檔另存為html文件、保存當(dāng)前word文檔、退出word等。

        3.3 客戶端編輯器與服務(wù)器的通訊及系統(tǒng)安全性

        Theoleditor和服務(wù)器之間需要通過通訊知道所編輯的是哪一個(gè)文檔,需要上傳文檔到服務(wù)器或從服務(wù)器下載文檔。另一方面,服務(wù)器上文檔的id不能通過明碼傳輸至客戶端,否則用戶將有可能通過分析該信息獲取服務(wù)器上的其他文件。這里采用服務(wù)器提供票據(jù)給BHO,BHO將票據(jù)傳遞給Theoleditor,然后Theoleditor通過該票據(jù)與服務(wù)器通訊,以上傳和下載對(duì)應(yīng)的文檔,并保證系統(tǒng)的安全。票據(jù)信息主要包括兩部分,前面一部分是通過系統(tǒng)時(shí)間產(chǎn)生的隨機(jī)字符串,后一部分則是系統(tǒng)時(shí)間的毫秒數(shù)。

        Theoleditor與服務(wù)器的通訊主要用到文件傳輸類CfileTransfer.java,包括上傳和下載文件。上傳文件的方法為CFileTransfer::uploadFile(CString serverip,CString uri,int port,CString filepath,CString type),包括服務(wù)器地址、通用資源標(biāo)志符、本地文件保存的路徑以及文件的類型;下載文件的方法為CFileTransfer::downloadFile(CString url, CString filepath,CString fullfilename),包括下載指定url的文件,并將文件存儲(chǔ)在filepath下,文件名通過fullfilename傳遞回去。

        4 結(jié)束語

        IE是目前網(wǎng)絡(luò)中最廣泛的一種應(yīng)用,Microsoft Word則在當(dāng)前是占有巨大優(yōu)勢的文字處理器,而基于Word的客戶端編輯器可以較好地將二者銜接,在普通IE下實(shí)現(xiàn)Word的自動(dòng)調(diào)用,充分發(fā)揮其強(qiáng)大的文字處理功能。

        參考文獻(xiàn)

        [1]管恩京,陳靜.試題試卷庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).第十屆全球華人計(jì)算機(jī)教育應(yīng)用會(huì)議論文集. 北京:清華大學(xué)出版社,2006

        [2]管恩京.大學(xué)學(xué)科試題庫及其管理系統(tǒng)的研究與設(shè)計(jì)[碩士學(xué)位論文].北京:清華大學(xué),2007.

        [3]位元文化.精通視窗程序設(shè)計(jì).西安:世界圖書出版西安公司,2000.5

        [4]步行者工作室.Visual C++ 6.0高手速成.北京:兵器工業(yè)總公司,1999.6

        [5]吳師通.Visual Basic 實(shí)用程序百例.北京:清華大學(xué)出版社,2000.5

        在线视频精品免费| 精品一区二区三区女同免费| 国产一区二区三区资源在线观看| 女女同女同一区二区三区| 国产日产亚洲系列最新| 无码少妇a片一区二区三区| 精品无码久久久久久久久粉色| 俺来也三区四区高清视频在线观看| 久久精品亚州中文字幕| 成人国产精品一区二区视频 | 亚洲男人第一无码av网站| 亚洲精品亚洲人成在线下载 | 青青青伊人色综合久久亚洲综合| 亚洲精品综合久久中文字幕 | 久久蜜桃一区二区三区| 手机看片自拍偷拍福利| 人妻中文无码久热丝袜| 亚洲av日韩av综合aⅴxxx| 麻豆av在线免费观看精品| 亚洲一区在线观看中文字幕| 亚洲高清乱码午夜电影网| 久久精品一区二区三区av| 最新国产成人综合在线观看| 一区二区三区国产亚洲网站| 色佬精品免费在线视频| 久久www免费人成人片| 无码之国产精品网址蜜芽| 我也色自拍俺也色自拍| 国产猛烈高潮尖叫视频免费| 精品少妇一区二区三区免费观| 爱我久久国产精品| 久久国产精品av在线观看| 又硬又粗进去好爽免费| 成年无码av片完整版| 亚洲国产福利成人一区二区| 青青草视频是针对华人| 国产精品∧v在线观看| 免费在线视频一区| 日韩国产一区二区三区在线观看 | 国产真实伦视频在线视频| 中文字幕乱码亚洲三区|