• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Codejie's C++ Space

            Using C++

            LingosHook:Lingoes生詞本第一版


                啥也不說,上圖:






                數(shù)據(jù)通過Hook方式從Lingoes的結果中提取再放入本地數(shù)據(jù)文件中,然后再查詢出來。兩張圖分別顯示了樹狀方式結果顯示和HTML方式結果顯示。有點樣子了吧~
                目前的主要問題集中在Lingoes結果的處理上,通過HTML數(shù)據(jù)分析數(shù)據(jù)是下一步的首要目標,打算先考察先wxWidgets帶的XML解析對象,如果不行再試試tinyxml,再不行就不知道了,Lingoes的HTML結果應該是直接字符串拼接的,不是有一定規(guī)則,這對分析來說比較麻煩。
                存在的問題:
                                 1.HTML顯示有些走樣;這個應該是wxHtmlWindow對DIV標簽支持的問題,這個控件不知道是如何實現(xiàn)的,直接嵌入的IE還是其他方式?反正顯示沒有直接用IE顯示好看;還有就是不支持內(nèi)容中'file:///'定位的圖像,這個很惱火,每次顯示前,要先剔除HTML數(shù)據(jù)中的'file:///'字串;先看看了,不是主要功能,如果必要,可以直接使用IE內(nèi)嵌方式,而不用wxHtmlWindow;
                                 2.字典只能支持一種:Vicon(維科)字典,就是Lingoes缺省帶的,現(xiàn)在測試時,就開這一個字典;
                                 3.Lingoes界面語言的問題也是比較煩的地方,不僅僅對Hook過程有影響,而且結果的字典解析上也有影響,這也是急需通過HTML方式,而不是TEXT方式分析數(shù)據(jù)的主要原因;
                                 4.等等,等等,很多地方~

                這里是LingosHook程序,源碼也在里面,有興趣下載試試。(不能運行,請嘗試先安裝MS的VC9的實時庫-‘)開發(fā)中,任何問題請評論~
                由于Lingoes的界面語言對LingosHook運行影響較大,提供了一個配置的地方,如下圖,注意的是,每次都需要設置下,因此配置沒有被記錄還。。。

            posted on 2009-11-23 17:36 codejie 閱讀(1066) 評論(14)  編輯 收藏 引用 所屬分類: C++

            評論

            # re: LingosHook:Lingoes生詞本第一版 2009-11-23 19:33 missdeer

            不是直接嵌入IE,wx自己寫的一個,就好比QT的WebKit一樣,不然就不能跨平臺了。
            http://www.kirix.com/labs/wxwebconnect.html 這里有個Gecko內(nèi)核的wx控件。  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-23 19:36 missdeer

            wxCode中還有個iehtmlwin的控件,是嵌入ie的。  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版[未登錄] 2009-11-23 23:49 codejie

            @missdeer
            收到,回頭就去看~wxWidgets用的不多,很多都不知道啊~  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版[未登錄] 2009-11-24 10:10 Liu

            沒其他地方和你聯(lián)系

            請教一個技術問題
            有一個指定的整數(shù)數(shù)組
            每個整數(shù)(4byte 長)前5bit是特殊位,后面的bit才是數(shù)據(jù)
            要寫一個程序
            把前5bit去掉
            然后數(shù)據(jù)往前挪(不留下那5bit的空位)
            形成一個char * 的東西出來
            要你會怎么實現(xiàn)?

            實現(xiàn)起來要顧及空間和效率……

              回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-24 11:25 codejie

            @Liu
            如需要,發(fā)gmail或者直接電我,都沒有變~
            問題先看看,你知道我寫算法最差了~  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-24 11:54 codejie

            @Liu
            int ai[N];
            for(int i = 0; i < N; ++i)
            {
            ai[i] = ai[i] << 5;
            }

            char* pc = ai;
            for(int i = 3; i < N; ++ i, ++pc)
            {
            *pc = (*pc && 0xE0) || (*(pc + 1) && 0x1F);
            }

            這應該是個笨方法,還不知道對錯,怎么想就怎么寫了,感覺應該可以在一個循環(huán)中搞定,讓我在想想啊,你先試試上面的法子對不對~  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-24 12:34 codejie

            @Liu
            不用看上面的了,豬一樣的想法,大腦完全被要吃大排的思想占領了~容我再想想~  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-24 13:21 codejie

            @Liu
            int ai[N];
            for(int i = 0; i < N; ++i)
            {
            ai[i] = ai[i] << 5;
            }

            int* pi = NULL;
            char* pc = NULL;
            int cnt = 0;

            for(int i = N - 1; i >= 0; -- i)
            {
            pi = ai[i];
            pc = (char*)pi - 1;
            cnt = N - 1 - i;
            cnt = cnt * 4 - (5 * cnt / 8);
            for(int j = 0; j < cnt; ++ j, ++ pc)
            {
            *pc = (*pc && 0xE0) || (*(pc + 1) && 0x1F);
            }
            }

            上面的方法省空間,但效率肯定不行,對錯也不知道,只是我能力就這些了~你看著辦吧~~  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版[未登錄] 2009-11-25 01:59 Liu

            老實說把,這題是我最近在面試的時候碰到的。

            我第一個解法就是和你一樣的想法有點類似,先逐個拷貝過來,再想辦法把中間的5bit空位刪除掉。結果對面那個印度阿三說我的空間利用率和效率不高,要我重寫……

            我還在那里想的時候,丫就不耐煩了說算了算了下一題

            所以這東西讓我有點小小的郁悶,因為才給了我20分鐘不到寫代碼。5bit的位操作讓人很難受阿,中間想解法也沒給人足夠的時間

              回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-25 09:35 codejie

            @Liu
            表郁悶了,要這樣想,做不出來說明你已經(jīng)上升到一個新的階段了,不再是coder了,是Leader了~好事啊~  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-26 09:28 wu

            根據(jù)(32-20)*2%8==0每2個整數(shù)轉換成3個字符,零頭另算
            union Helper {int val[2];
            struct {char nul1:5; char ch1:8; char ch2:8 ... };};
            // 可能存在對齊及大頭小頭問題……
              回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-11-26 12:50 codejie

            @wu
            我是永遠想不起用union類型的。。。  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-12-24 17:45 lawrence

            有沒有想過HOOK界面的句柄呢?而不需要用HOOK DLL的做法?  回復  更多評論   

            # re: LingosHook:Lingoes生詞本第一版 2009-12-25 09:44 codejie

            @lawrence
            什么叫做HOOK界面?我也沒有HOOK任何Lingoes的DLL的。  回復  更多評論   

            公告

            Using C++

            導航

            統(tǒng)計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久久精品免费国产四虎| 久久青青色综合| 狠狠色综合久久久久尤物| 亚洲伊人久久综合中文成人网| 日韩AV毛片精品久久久| 亚洲va久久久噜噜噜久久| 久久久久久久综合日本亚洲| 久久精品无码一区二区三区免费 | 丁香五月综合久久激情| 国产精品成人99久久久久| 久久久午夜精品福利内容| 欧美激情精品久久久久| 久久精品国产2020| 久久久亚洲精品蜜桃臀| 精品久久久久久久久中文字幕| 亚洲人AV永久一区二区三区久久| 久久A级毛片免费观看| 久久人人爽人爽人人爽av| 精品九九久久国内精品| 久久精品人妻中文系列| 色婷婷久久综合中文久久一本| 久久国产精品-久久精品| 伊人久久久AV老熟妇色| 中文字幕精品久久久久人妻| 国产成人无码精品久久久免费| 久久99国产精品尤物| 77777亚洲午夜久久多喷| 亚洲国产综合久久天堂| 久久精品国产72国产精福利| 久久99国产精品久久久| 精品国产乱码久久久久久郑州公司| 一本色道久久综合狠狠躁篇| 久久免费99精品国产自在现线| 97超级碰碰碰碰久久久久| 99国产欧美精品久久久蜜芽 | 97热久久免费频精品99| 久久精品日日躁夜夜躁欧美| 久久精品中文字幕大胸| 欧美亚洲国产精品久久| 性欧美大战久久久久久久久 | 99久久99久久精品免费看蜜桃|