<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2006年3月29日

    初學flex

         上大學的時候,看到好多精彩炫麗的flash,學習了一些flash的知識。那個時候不怎么會寫腳本,就用動畫的概念一幀一幀的拼出一個flash。后來工作以后,給客戶在線演示產品,有接觸了Captivate。2006年末的時候,客戶要求開發一個在線產品展示平臺,我偶然搜到了adobe用flex開發的網上購物演示,就體會到如果用flex來實現這個產品展示平臺將是很動人的事情,由于某種原因最終未能如愿。最近在做一個通用視頻培訓平臺時又用到了FLV播放器,也是用Flex開發的,最終效果和土豆、優酷非常類似。這些場景使我對flash的展現效果情有獨鐘,況且有adobe這樣的公司在運作flash,如果可能的話應該在合適的場合來把flex集成到我們現在開發的應用中,比如圖表功能、表單功能、打印功能等等?;谝陨系慕洑v和思路,決定花功夫學習一下flex還是值得的。
        首先,到adobe官方網站下載flex builder 3(當前最新版本)并安裝。安裝完畢后會看到一些入門文章中提到的Flex SDK已經在builder中存在了,所以初學僅下載個builder就夠了。
        然后,打開builder發現它就是基于eclipse開發的,我想這個IDE對于大多數java開發著再熟悉不過了。首次進入時會有一個歡迎界面和初學者向導,我比較習慣看看這些東西,點擊下載提供的入門工程Flex3GSEIII_a_WorkingWithData_JSP,并導入builder中。看看工程結構跟我們平時的JAVAEE工程有了一些不同。多了bin-debug和html-template文件夾,文件類型主要是*.mxml、*.as。在工程的左側視圖右鍵*.mxml運行(類似與運行java文件),會有一個編譯過程,過后彈出一個html,html中運行的正式flash。當時比較好奇,一個mxml是如何經過編譯產生html和flash的,打開剛才提到的bin-debug發現兩個文件生成到了這個文件夾。仔細讀一下mxml的代碼發現跟XHTML基本類似,其中的一些function都是AS寫的。至此我分析得到如下結論:mxml+as-->swf,中間的轉換是adobe集成在builder中的轉換工具完成的。如此跟我們以往HTML+JS的編程習慣很類似了,并且XHTML與AS的結合更緊密一些。由于初學原理性的知識我就理解至此了。
       最后,我們關心的是用flex都能實現哪些控件,并且控件的效果如何。我沒有迫不及待的去google,而是又深入到builder的安裝目錄下,在D:\Flex Builder 3\sdks\3.0.0發現了好東西,別的我不關心,先看samples,子目錄下有一個explorer,其中包含一個build.bat??吹竭@個bat我更加確定了我以上的結論。于是運行bat,開始編譯其下的mxml文件逐一生成swf文件。花一段時間生成完畢,打開類似于index的swf文件,sdk中提供的樣例控件就都盡收眼底了。
       后續:有源文件,有開發工具,你可以隨意擺弄這些代碼,熟悉語法,熟悉開發環境,熟悉對象屬性,拼拼湊湊完成自己的一個組合界面了。

    posted @ 2008-03-12 14:28 beyondduke 閱讀(1390) | 評論 (2)編輯 收藏

    談一談在家辦公的利弊


    為緩解早晚高峰帶來的擁堵,北京交通委經過調研,擬從商業機構、大型商場開始試行錯峰上下班,同時擬在IT行業、科研單位試行彈性工作制。昨天,市人大代表趙鳳桐透露,具體方案政府還在擬訂中。
    市人大代表劉國祥在去年的人代會上提出“合理調整上下班時間”建議(見新聞附件)。市交通委對此予以回復稱,本市擬試行錯開上下班時間和實行彈性工作時間兩種方法,緩解早晚高峰的交通壓力。目前,已經在開展商業、機關企事業單位等錯峰上下班的研究,并提出了調整商業、機關企事業單位上下班時間的初步方案,擬從商業機構開始實施。 此外,交通委還與相關部門進行了協商,對中關村等地區進行調研,擬對某些行業(如IT行業、科研單位等)實行彈性工作制,鼓勵在家網上辦公。如果這些措施能夠實施,則在一定程度上可以削減高峰時段的交通流峰值。
    據了解,截至2007年底,北京的機動車保有量已達到310萬輛。市交通委表示,從城市交通運行態勢來看,出行需求和機動車保有量仍在持續快速增長,高峰時段道路擁堵區域不斷擴大、局部路段平均車速下降,緩解擁堵的措施大多被持續快速增長的交通需求所抵消,交通形勢依然十分嚴峻。


    這是前兩周的新聞了,當時一看到新聞就感覺這條消息很利好,尤其對我們北京的程序員來說。在家辦公的利弊,現在業內也沒有個具體的說法,這幾天有幸在家辦公,體驗了一把想跟大家談一談我的看法。
    一,利:
    1,節約時間:花在等車、路上、堵車、倒車或開車、停車等交通出行的時間成本。
    2,節約金錢:上下班的路費或車位費、油費等,還不算看不到的時間兌換的錢(時間就是金錢)。
    3,為國家做貢獻:不但給上述新聞中的交通部門減少壓力,而且減少了碳的排放量(節能減排)。
    4,為公司節約日常費用:占位費,水費,餐費,辦公費,交通費。。。。
    5,自己時間把握更準確:由于減少了交通環節,個人時間上更有可控性。
    二,弊:
    1,缺少辦公氣氛:家中的環境畢竟沒有公司那么統一,一個家一個樣兒,有條件給自己打造辦公環境和氣氛的員工恐怕只有少數。
    2,增加交流成本:公司面對面的交流只能改成手機對手機,或麥克對麥克,或手指對手指。這些肯定都比面對面花的時間長,還要通訊費上網費。
    3,容易受外界干擾:如果家中有妻兒老小,家里很難給你一個封閉環境,你會不斷的被“騷擾”,畢竟工作的事情像寫程序需要比較心靜的環境。
    4,容易自由散漫:沒有了公司領導的監控和同事的督促,人的自控能力是有限的,沒準看新聞泡論壇玩游戲就過了頭,耽誤的肯定是正事。
    5,造成公共資源浪費:公司里的公共資源在家是很難利用好的,比如內部的服務器,局域網和通訊工具。
    以上這些是我所能想到的,至于利大還是弊大我沒有偏向都是5條。個人還是覺得天時地利人和才適合在家辦公,對于不同的人或同一個人的不同時間段都是利弊難辨的。
    希望大家能聊一聊自己的看法。

    posted @ 2008-01-31 09:48 beyondduke 閱讀(4702) | 評論 (12)編輯 收藏

    Excel報表之js版

    ?半年以前做過server端生成excel的簡單引擎,總感覺不夠輕便,尤其在一些固定格式,數據量又不是很大的情況下,上周寫了一

    個根據表單數據在client端用js生成excle的demo,令我我激動了半天------js太強了!

    下面分享一下這段js:
    ?
    ?1var?excel??=?new?ActiveXObject("Excel.Application");?//創建AX對象excel
    ?2excel.visible?=true;?//設置excel可見屬性
    ?3var?workbook?=?excel.Workbooks.Add;?//獲取workbook對象
    ?4var?sheet1?=?xlBook.Worksheets(2);??//創建sheet1
    ?5var?sheet2?=?xlBook.Worksheets(1);??//創建sheet2
    ?6sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).mergecells=true;?//合并單元格
    ?7sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).value="員工月考核成績";?//設置單元格內容
    ?8sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Interior.ColorIndex=6;//設置底色?
    ?9sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Font.ColorIndex=5;//設置字體色?
    10sheet1.Rows(1).RowHeight?=?20;?//設置列高
    11sheet1.Rows(1).Font.Size=16;??//設置文字大小
    12sheet1.Rows(1).Font.Name="宋體";?//設置字體
    13//設置每一列的標題
    14sheet1.Cells(2,1).Value="工程師考核項";
    15sheet1.Cells(2,2).Value="總分";
    16sheet1.Cells(2,3).Value="研發進度";
    17sheet1.Cells(2,4).Value="出勤率";
    18sheet1.Cells(2,5).Value="執行力";
    19sheet1.Cells(2,6).Value="責任心";
    20sheet1.Cells(2,7).Value="工作規范";
    21sheet1.Cells(2,8).Value="協作精神";
    22sheet1.Cells(2,9).Value="進取性";
    23sheet1.Cells(2,10).Value="工作合理性";
    24sheet1.Cells(2,11).Value="解決問題能力";
    25sheet1.Cells(2,12).Value="應變能力";
    26sheet1.Cells(2,13).Value="人際技能";
    27sheet1.Cells(2,14).Value="理解能力";
    28//從表單循環控件中取出數據逐行插入對應列的數據
    29var?count?=?sfform.GetAttributeValue('Repeat','Count');
    30for(var?line=1;line<=count;line++){?//begin?for
    31??var?name??=?sfform.GetValue('Repeat['+line+'].name');
    32??var?total=?sfform.GetValue('Repeat['+line+'].total');
    33??var?yfjd?=?sfform.GetValue('Repeat['+line+'].yfjd');
    34??var?jh?=?sfform.GetValue('Repeat['+line+'].jh');
    35??var?gcgj?=?sfform.GetValue('Repeat['+line+'].gcgj');
    36??var?cql?=?sfform.GetValue('Repeat['+line+'].cql');
    37??var?zxl?=?sfform.GetValue('Repeat['+line+'].zxl');
    38??var?gzgf?=?sfform.GetValue('Repeat['+line+'].gzgf');
    39??var?zrx?=?sfform.GetValue('Repeat['+line+'].zrx');
    40??var?xzjs?=?sfform.GetValue('Repeat['+line+'].xzjs');
    41??var?jqx?=?sfform.GetValue('Repeat['+line+'].jqx');
    42??var?gzhl?=?sfform.GetValue('Repeat['+line+'].gzh');
    43??var?jjwt?=?sfform.GetValue('Repeat['+line+'].jjwt');
    44??var?ybnl?=?sfform.GetValue('Repeat['+line+'].ybnl');
    45??var?rjjn?=?sfform.GetValue('Repeat['+line+'].rjjn');
    46??var?ljnl?=?sfform.GetValue('Repeat['+line+'].ljnl');
    47??sheet1.Cells(2+line,1).Value=name;
    48??sheet1.Cells(2+line,2).Value=total;
    49??sheet1.Cells(2+line,3).Value=yfjd;
    50??sheet1.Cells(2+line,4).Value=cql;
    51??sheet1.Cells(2+line,5).Value=zxl;
    52??sheet1.Cells(2+line,6).Value=gzgf;
    53??sheet1.Cells(2+line,7).Value=zrx;
    54??sheet1.Cells(2+line,8).Value=xzjs;
    55??sheet1.Cells(2+line,9).Value=jqx;
    56??sheet1.Cells(2+line,10).Value=gzhl;
    57??sheet1.Cells(2+line,11).Value=jjwt;
    58??sheet1.Cells(2+line,12).Value=ybnl;
    59??sheet1.Cells(2+line,13).Value=rjjn;
    60??sheet1.Cells(2+line,14).Value=ljnl;
    61
    62}
    //end?for
    63
    64

    基本的代碼已經實現了,生成excel的格式和一些統計計算,用js寫應該是很方便的,以后有例子再作補充。

    從代碼角度來看這種寫法不是很靈活,但在能滿足用戶的需求前提下,這種生成方式還是很受歡迎的,給用戶的感覺就是輕

    便。個人認為簡單就是美!

    posted @ 2006-08-05 11:14 beyondduke 閱讀(6601) | 評論 (7)編輯 收藏

    數據庫常見的三種join方式(收藏)

    數據庫常見的join方式有三種:inner join, left outter join, right outter join(還有一種full join,因不常用,本文不討論)。這三種連接方式都是將兩個以上的表通過on條件語句,拼成一個大表。以下是它們的共同點:

    ? 1. 關于左右表的概念。左表指的是在SQL語句中排在left join左邊的表,右表指的是排在left join右邊的表。
    ? 2. 在拼成的大表中,左表排在左邊,右表排在右邊。
    ? 3. on條件語句最好用=號對兩表相應的主外鍵進行連接。當然,也可以用其他操作符,如>, <, 來連接兩表的任一字段,此時的關系將非常復雜,連接后的記錄數也隨之而變得不確定。如果在一些特殊的場合中需要用到這種方式,必須通過簡單的實例加以確認,否則,連接結果很可能不是我們所想要的!
    ? 4. on條件語句不能省略。
    ? 5. 可以連鎖使用join,每次使用join都令另一表與當前的表或連接的結果相連接。


    在下文中,用到了兩個表,"部門"表與"組織"表,其中,"部門"表有一名為"組織編號"的外鍵,指向"組織"表中的主鍵"編號"。

    inner join

    ? 格式:select * from 部門 inner join 組織 on 部門.組織編號 = 組織.編號

    ? 目的:將兩表中符合on條件的所有記錄都找出來。

    ? 規律:

    ??? 1. 拼出的大表記錄不會增加。
    ??? 2. 如果左邊與右表的關系是一對多的關系,在選出的任一記錄中,假若右表有多個記錄與其對應,那么,連接后的左表,主鍵將不再唯一。

    ? 典型應用:將存在多關系的引用表放在左表,將存在一關系的被引用表放在右表,通過=號將主外鍵進行連接,通過對右表設定過濾條件,選出相應的且主鍵唯一的左表記錄。

    ? 備注:inner join 是默認的連接方式,可縮寫為join。

    ? 轉化為where子句:

    ??? select * from 部門, 組織 where 部門.組織編號 = 組織.編號

    ?

    left outter join

    ? 格式: select * from 部門 left join 組織 on 部門.組織編號 = 組織.編號

    ? 格式: select * from 組織 left join 部門 on 組織.編號 = 部門.組織編號

    ? 目的:將左表的所有記錄列出,右表中只要符合on條件的,與左表記錄相拼合,不符合條件的,填以null值。

    ? 規律:

    ??? 1. 選出所有符合條件的左表,如果左邊與右表的關系是一對一的關系,則拼成的大表記錄不會改變。
    ?????? 如果左邊與右表的關系是多對一的關系,則拼成的大表記錄也不會改變。
    ?????? 如果左邊與右表的關系是一對多的關系,則拼成的大表記錄會增加。對于每一具有一對多關系的左表記錄,如果左表1:N與右表對應,那么會多出N-1條記錄。例如,如果左表第一條記錄1:3對應于右表,多出2條記錄。如果左表第二條記錄1:2對應于右表,則再多出1條記錄。這樣,總共多出3條記錄。其他類推。
    ??? 2. 如果左邊與右表的關系是一對多的關系,在選出的任一記錄中,假若右表有多個記錄與其對應,那么,連接后的左表,主鍵將不再唯一。
    ??? 3. 如果左邊與右表的關系是一對多的關系,對于左表任一記錄,如果右表沒有記錄與其相對應,則全部填以null值。

    ? 典型應用:將存在多關系的引用表放在左表,將存在一關系的被引用表放在右表,通過對右表設定過濾條件,選出相應的且主鍵唯一的左表記錄。

    ? 備注:left outter join可用left join代替。在有些數據庫中,如HSqlDb, 只能使用left join而不能使用left outter join。

    ? 轉化為where子句:

    ??? select * from 部門, 組織 where 部門.組織編號 = 組織.編號


    right outter join

    ? 格式: select * from 部門 right join 組織 on 部門.組織編號 = 組織.編號

    ? 格式: select * from 組織 right join 部門 on 部門.組織編號 = 組織.編號

    ? 目的:將右表的所有記錄列出,左表中只要符合on條件的,與右表記錄相拼合,不符合條件的,填以null值。

    ? 規律:(與left outter join相反)

    ? 典型應用:可轉化成left outter join。例如

    ??? select * from 組織 right join 部門 on 部門.組織編號 = 組織.編號
    ??? 與
    ??? select * from 部門 left join 組織 on 部門.組織編號 = 組織.編號
    ??? 的效果一樣

    ? 備注:right outter join可用right join代替。在有些數據庫中,如HSqlDb, 沒有實現right join功能。

    ? 轉化為where子句:

    ??? select * from 部門, 組織 where 部門.組織編號 = 組織.編號

    posted @ 2006-05-18 09:43 beyondduke 閱讀(5856) | 評論 (1)編輯 收藏

    遞歸小程序

    遞歸

    posted @ 2006-03-29 09:31 beyondduke 閱讀(290) | 評論 (0)編輯 收藏

    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統計

    公告


    MSN聯系

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    我的連接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费精品一区二区三区第35| 在线jlzzjlzz免费播放| 亚洲国产精品日韩在线| 免费视频淫片aa毛片| fc2免费人成在线视频| 亚洲色偷偷偷网站色偷一区| 日本xxwwxxww在线视频免费| 中文在线观看永久免费| 亚洲av成人一区二区三区| 亚洲?V无码乱码国产精品| 91精品手机国产免费| 亚洲av无码成人影院一区| 亚洲国产精品一区二区成人片国内| 国产精品视频免费一区二区| 国产免费人成视频尤勿视频| 亚洲中字慕日产2020| 国产亚洲精品拍拍拍拍拍| 97国产免费全部免费观看 | 国产精品小视频免费无限app| 久久精品国产亚洲AV大全| 全部免费毛片在线| 国产2021精品视频免费播放| 手机永久免费的AV在线电影网| 亚洲欧洲尹人香蕉综合| 精品国产人成亚洲区| 午夜两性色视频免费网站| 亚洲免费精彩视频在线观看| 特级毛片爽www免费版| 自拍日韩亚洲一区在线| 亚洲av无码不卡一区二区三区| 国产91久久久久久久免费| 野花高清在线电影观看免费视频 | 亚洲一级片免费看| 亚洲国产欧美日韩精品一区二区三区 | 久久国产精品亚洲综合| 亚洲av麻豆aⅴ无码电影| 成年轻人网站色免费看| 亚洲精品视频在线免费| 免费久久人人爽人人爽av | 久久成人a毛片免费观看网站| 特级毛片在线大全免费播放|