2006年8月5日

          初學flex

               上大學的時候,看到好多精彩炫麗的flash,學習了一些flash的知識。那個時候不怎么會寫腳本,就用動畫的概念一幀一幀的拼出一個flash。后來工作以后,給客戶在線演示產品,有接觸了Captivate。2006年末的時候,客戶要求開發一個在線產品展示平臺,我偶然搜到了adobe用flex開發的網上購物演示,就體會到如果用flex來實現這個產品展示平臺將是很動人的事情,由于某種原因最終未能如愿。最近在做一個通用視頻培訓平臺時又用到了FLV播放器,也是用Flex開發的,最終效果和土豆、優酷非常類似。這些場景使我對flash的展現效果情有獨鐘,況且有adobe這樣的公司在運作flash,如果可能的話應該在合適的場合來把flex集成到我們現在開發的應用中,比如圖表功能、表單功能、打印功能等等。基于以上的經歷和思路,決定花功夫學習一下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 閱讀(1391) | 評論 (2)編輯 收藏

          談一談在家辦公的利弊


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


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

          posted @ 2008-01-31 09:48 beyondduke 閱讀(4705) | 評論 (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 閱讀(6602) | 評論 (7)編輯 收藏

          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告


          MSN聯系

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          我的連接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平度市| 灵石县| 曲阳县| 横山县| 灵璧县| 安化县| 阳春市| 都兰县| 壤塘县| 兴宁市| 西昌市| 永泰县| 土默特右旗| 兴化市| 基隆市| 安丘市| 沁水县| 思茅市| 长葛市| 介休市| 桓台县| 恩平市| 鄂温| 镇江市| 郸城县| 丁青县| 铜川市| 图们市| 西平县| 鄢陵县| 阳江市| 扶沟县| 日照市| 静安区| 建湖县| 苏州市| 唐山市| 凯里市| 绥芬河市| 乌拉特后旗| 宜兰市|