• <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>

            輕盈小刀-LUA

            突破C++的局限,讓編程語言大同
            隨筆 - 13, 文章 - 1, 評論 - 13, 引用 - 0
            數(shù)據(jù)加載中……

            Htmlayout新Demo程序,簡單的多頁面瀏覽器

            將IE控件加入進(jìn)來,可以在Htmlayout頁面中使用IE控件,為了驗(yàn)證相關(guān)功能,做了這個Demo程序。
            實(shí)現(xiàn)以下功能:
            1.加入可拖動按鈕工具欄
            2.帶標(biāo)簽的瀏覽器
            3.相同url地址只打開一個標(biāo)簽

            其中頁面分4部分,工具欄,地址框,標(biāo)簽頁,瀏覽器。這四部分可以非常翻遍的變換顯示位置,只需要修改css中以下相關(guān)部分
            body 
              flow:  "toolbar"
                     "addr"
                     "tabs" 
                     "page";
            }
            如果想用標(biāo)簽頁放在底部,只需要將tabs和page調(diào)換位置即可,簡單好用。

            另外帶一個標(biāo)簽頁控件,在ctrl目錄中,主要是為了驗(yàn)證面向控件開發(fā),即可以單獨(dú)做我們需要的控件,然后在頁面中組合,實(shí)現(xiàn)快速開發(fā)。
            文件下載

            posted @ 2012-02-03 17:06 絕對在乎你 閱讀(3630) | 評論 (2)編輯 收藏

            htmlayout與lua(二) 設(shè)計思路

            設(shè)計的思路是開發(fā)方便,現(xiàn)在做到的是嵌入的腳本方式和javascript相同,即可以在html頁面中直接嵌入代碼,也能從外部引用,以此來滿足各種需要(或是方便或是為了便于管理)。在程序結(jié)構(gòu)上,用了兩層結(jié)構(gòu),dll程序中封裝了對htmlayout元素的基本操作以及必要的交互接口,為了是開發(fā)更方便,更快捷,增加了lua腳本層,即ui目錄的相關(guān)腳本,這一次的目的是為了簡化程序開發(fā)時的代碼,提高開發(fā)效率。現(xiàn)在看來,效果還可以。

            嵌入腳本方式

            在html頁面文件中增加元素<script type="text/lua">...<script>即可添加頁面腳本,每個頁面的腳本空間是獨(dú)立的,即此頁面定義的函數(shù)只能是此頁面才能使用,同時腳本的初始化是在頁面加載完成之后在加載的,所以沒有javascript類似的onload消息處理,直接將需要初始化執(zhí)行的代碼放在外部即可執(zhí)行。

            元素引用方式

            在腳本中操作元素有以下幾種方式:
            1.最簡單的方式是直接給元素附上id屬性,這樣在腳本中就可以直接使用這個id名稱訪問對應(yīng)的元素了
            2.通過函數(shù)E查找元素,參數(shù)為css選擇其,如local d = E('div[type="test"]')

            元素操作

            在獲得元素對象之后,操作的方式涉及到以下幾個部分:
            1.修改style,直接用obj.style['name'] = value; 即修改元素的style中的name,取值直接使用obj.style['name']即可
            2.取元素屬性用obj.attributes['name'] = value,用法和style相同
            3.和html顯示無關(guān)的數(shù)據(jù),就如同普通的lua table操作即可,如obj.mypro = '1',因?yàn)楂@得元素對象本身就是一個table,所有l(wèi)ua table的功能都支持

            posted @ 2012-01-31 23:24 絕對在乎你 閱讀(3234) | 評論 (1)編輯 收藏

            htmlayout中嵌入lua腳本

            去年下半年工作調(diào)整,終于有時間開始做一些htmlayout封裝的工作,初步將
            lua腳本加上去了,使整個應(yīng)用程序有了一個統(tǒng)一框架,不論是界面還是業(yè)務(wù)邏輯
            都通過lua來實(shí)現(xiàn),lua不能做的采用模塊方式添加。

            關(guān)于界面封裝部分,參照sciter來做的,畢竟是和htmlayout是一家人,他們配合
            起來肯定是更好的,不過tiscript不會用,也沒人用,只能是自己用熟悉的東西
            來做了,不過總的來說對這次封裝還是感到比較滿意的,前后改了3個版本,現(xiàn)在
            是用比較純粹的lua實(shí)現(xiàn)方式來做的,完全是一個lua第三方dll模塊,使用require
            加載即可使用,很方便,沒有什么特殊的地方,對同時使用其他的庫也比較方便。
            同時添加了自己想要的一些東西,如頁面之間的通訊,這樣可以實(shí)現(xiàn)像普通mfc
            程序那樣,彈出多個頁面,之間數(shù)據(jù)可以交互,同時頁面又是獨(dú)立開發(fā)的,比較
            方面開發(fā),同時控制每個頁面的代碼規(guī)模。因?yàn)樵?jīng)有個兄弟組用ajax做了一個
            管理頁面,整個頁面代碼5w多行,到后來根本沒辦法維護(hù)了。

            demo程序下載點(diǎn)擊下載(程序基于vs2008開發(fā)的,如沒安裝過vs2008,請先
            安裝vs2008的再發(fā)布包  在這里
            demo集成了scintilla 編輯控件,主要是為了驗(yàn)證做第三放控件的能力,在編輯
            框中使用標(biāo)準(zhǔn)庫函數(shù)會自動提示。以后準(zhǔn)備以此做一個集成開發(fā)環(huán)境。

            posted @ 2012-01-30 23:29 絕對在乎你 閱讀(4001) | 評論 (3)編輯 收藏

            sciTE使用收集

            1.配置說明
            2.漢化配置文件
            3.一些擴(kuò)展示例

            posted @ 2010-06-03 23:04 絕對在乎你 閱讀(711) | 評論 (0)編輯 收藏

            lua 應(yīng)用服務(wù)器

            線程模塊(luathread.dll)

                 新線程池創(chuàng)建,可以指定啟動一個或多個線程

                 thread.new('線程入口腳本文件', 線程數(shù)量);
                 會根據(jù)線程數(shù)量創(chuàng)建多個線程,并且分別初始化每個線程的lua運(yùn)行環(huán)境,并執(zhí)行指定的線程腳本。

                 tlist = thread.newlist('隊列類型', '隊列名稱');
                 創(chuàng)建一個同步隊列,返回隊列對象,此對象必須可以在多個線程中共享的,而且相同名稱的對象
            只能存在一個。

                tlist:create_new_object();
                創(chuàng)建新的對象,次對象可以加入到請求隊列中

                tlist:push_request(obj);
                將通過create_new_object()創(chuàng)建的對加入到隊列中

                tlist:wait_for_req(timeout);
                等待隊列中有可以處理的請求

               tlist:get_request();
               從請求隊列中取出一個請求來進(jìn)行數(shù)據(jù)處理

              tlist:get_wait_object();
              返回可等待對象,以便腳本可以執(zhí)行多個對象的等待任務(wù)

              tlist:get_info();
              獲得隊列的一些相關(guān)信息

            線程代碼
            線程1:
               local tlist = thread.newlist('test', 'test0');
               local d = tlist:create_new_object();
               d:setdata('test', 'hello world');
               tlist:push_request(d);

            線程2:
               local  tlist  = thread.newlist('test', 'test0');
               while(tlist:wait_for_request(1000)) do
                         local d = tlist:get_request();
                        handlesomething(d);
               end

            posted @ 2010-04-05 23:20 絕對在乎你 閱讀(967) | 評論 (0)編輯 收藏

            挖蟲日記 01.17

            經(jīng)過昨天的再次日志的詳細(xì)記錄,把線程處理中的請求包記錄下來,發(fā)現(xiàn)有比較大的共性,那就是出問題的請求都是用戶登錄的請求,后臺仔細(xì)檢查這個請求的處理過程,發(fā)現(xiàn)有一個大問題在里面:
               1。應(yīng)用程序在特定的配置下,會記錄下每個用戶的登錄信息(不只是當(dāng)前用戶,而是登錄過的所有用戶)
               2.在新用戶登錄的時候,會檢查1中記錄的所有用戶信息的狀態(tài)
            這樣就造成一個大問題了,隨著用戶的不斷登錄登出,程序中積累的用戶信息越來越多,而如果這時候同時有大量用戶登錄,每次登陸的時候都去循環(huán)檢查所有用戶信息,這樣需要做的工作就巨大無比了。

            現(xiàn)在的改進(jìn)是:
               1.改每次用戶登錄檢查為每隔30秒循環(huán)檢查
               2.清理不需要的用戶信息,避免出現(xiàn)保存的用戶信息量過大。
               3.使用線程安全的map對象做數(shù)據(jù)保存

            結(jié)果:
               今日的用戶數(shù)量和前幾天差不多,高峰的時候也是平均并發(fā)3000多,一整天沒有出現(xiàn)任何問題。基本確認(rèn)就是該問題導(dǎo)致的。

            posted @ 2008-01-17 15:24 絕對在乎你 閱讀(386) | 評論 (0)編輯 收藏

            挖蟲日記 11.15

            先描述一下現(xiàn)象:
             環(huán)境:
                   一個機(jī)房,均衡后帶20臺服務(wù)器,并發(fā)峰值大概在7萬不到一點(diǎn),平均下來一臺服務(wù)器3000多并發(fā)
            現(xiàn)象:
                  20臺服務(wù)器會隨機(jī)出現(xiàn)應(yīng)用服務(wù)器程序把cpu打滿的情況,而正常情況下,3000并發(fā)的時候,應(yīng)用服務(wù)器的cpu不超過10%,在cpu滿的情況下程序基本上停止提供服務(wù)器,只有重啟才能解決。
                 開始的時候,20臺服務(wù)器的程序一模一樣,會隨機(jī)有部分服務(wù)器出現(xiàn)情況。
                 現(xiàn)在換了一半的服務(wù)器,測試新程序。

            昨天通過系統(tǒng)自帶的性能監(jiān)視器,將占用cpu的線程找出來了。在這部分線程池的處理過程中,有循環(huán)的地方都加了數(shù)量判斷,防止出現(xiàn)死循環(huán)。

            今天問題仍然出現(xiàn),新的老的程序上都出現(xiàn)過,出現(xiàn)的情況也不盡相同,有并發(fā)在1500左右,有3000左右。
            沒有出問題的并發(fā)都在3000上下,所以單純說是并發(fā)造成的,可能不準(zhǔn)確。最大的可能還是服務(wù)器遇到一個特殊的數(shù)據(jù)導(dǎo)致處理的錯誤,但是還有一點(diǎn)比較奇怪的是,有線程繁忙的時候,很快就會有該線程池中的其他線程也繁忙起來,難道異常數(shù)據(jù)出現(xiàn)的頻率在這個點(diǎn)上如此之高??
            今天下午的修改是:
               在單獨(dú)的一個線程中來監(jiān)視出現(xiàn)問題的線程池中的線程的狀態(tài),如果發(fā)現(xiàn)對單個請求的處理時間過長,那么記錄下當(dāng)前線程中的狀態(tài),希望能抓到究竟是什么情況下導(dǎo)致的問題?同時出現(xiàn)這種情況的時候,結(jié)束當(dāng)前線程,重啟一個線程放入線程池中,保證以下的工作正常處理。

               結(jié)果如何,明日再觀察!

            posted @ 2008-01-15 17:50 絕對在乎你 閱讀(429) | 評論 (0)編輯 收藏

            結(jié)合htmlayout 實(shí)現(xiàn)新界面框架的目標(biāo)

            1.可以通過htmlayout能顯示html頁面。
            2.通過lua腳本控制html元素的行為。
            3.增加自定義的控件。

            posted @ 2008-01-06 23:39 絕對在乎你 閱讀(3500) | 評論 (4)編輯 收藏

            給windows程序添加一個標(biāo)準(zhǔn)控制臺

            在程序初始化代碼里添加兩句
            AllocConsole(); //打開控制臺窗口
            freopen("CON", "w", stdout);  //將標(biāo)準(zhǔn)輸出重定向到控制臺窗口上如果要接受用戶輸入的話把標(biāo)準(zhǔn)輸入也重定向一下。

            posted @ 2007-12-27 12:49 絕對在乎你 閱讀(754) | 評論 (0)編輯 收藏

            GDI 中曲線的畫法

             
            在windows的GDI中,如果需要畫非常優(yōu)美的曲線,那么最適合用PolyBezier函數(shù),通過4個點(diǎn),
            起點(diǎn),起點(diǎn)控制點(diǎn)、終點(diǎn)控制點(diǎn)和終點(diǎn),可以得到一條非常漂亮的曲線,比自己去算弧度
            好多了。

            posted @ 2007-12-23 17:26 絕對在乎你 閱讀(919) | 評論 (0)編輯 收藏

            僅列出標(biāo)題
            共2頁: 1 2 
            久久精品国产亚洲AV蜜臀色欲| 久久久老熟女一区二区三区| 91视频国产91久久久| 一本一道久久a久久精品综合 | 国产L精品国产亚洲区久久| 一本色道久久88—综合亚洲精品| 久久天天躁狠狠躁夜夜av浪潮 | 69SEX久久精品国产麻豆| 久久精品国产亚洲av影院| 久久久噜噜噜www成人网| 久久精品黄AA片一区二区三区| 久久久无码一区二区三区| 日韩精品久久久久久久电影蜜臀| 亚洲AV乱码久久精品蜜桃| 麻豆成人久久精品二区三区免费| 久久丫忘忧草产品| 2021国内久久精品| 久久久久人妻一区二区三区vr| 欧美精品久久久久久久自慰| www.久久热| 久久精品国产亚洲Aⅴ蜜臀色欲| 欧美精品福利视频一区二区三区久久久精品| 国产L精品国产亚洲区久久| 久久精品免费网站网| 久久久久亚洲精品日久生情| 精品国产乱码久久久久久郑州公司| 精品久久久久久中文字幕| 日本久久中文字幕| 久久精品国产亚洲AV香蕉| 久久久久综合国产欧美一区二区 | 人妻系列无码专区久久五月天| 久久婷婷色综合一区二区| 国产精品久久影院| 亚洲精品高清一二区久久| 99久久777色| 久久夜色精品国产亚洲| 国产亚洲色婷婷久久99精品91| 久久久无码精品亚洲日韩京东传媒| 97久久天天综合色天天综合色hd| 精品无码久久久久久久动漫| 久久亚洲AV成人无码国产|