2006年8月5日

          初學(xué)flex

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

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

          談一談在家辦公的利弊


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


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

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

          Excel報(bào)表之js版

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

          個(gè)根據(jù)表單數(shù)據(jù)在client端用js生成excle的demo,令我我激動(dòng)了半天------js太強(qiáng)了!

          下面分享一下這段js:
          ?
          ?1var?excel??=?new?ActiveXObject("Excel.Application");?//創(chuàng)建AX對(duì)象excel
          ?2excel.visible?=true;?//設(shè)置excel可見屬性
          ?3var?workbook?=?excel.Workbooks.Add;?//獲取workbook對(duì)象
          ?4var?sheet1?=?xlBook.Worksheets(2);??//創(chuàng)建sheet1
          ?5var?sheet2?=?xlBook.Worksheets(1);??//創(chuàng)建sheet2
          ?6sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).mergecells=true;?//合并單元格
          ?7sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).value="員工月考核成績(jī)";?//設(shè)置單元格內(nèi)容
          ?8sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Interior.ColorIndex=6;//設(shè)置底色?
          ?9sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Font.ColorIndex=5;//設(shè)置字體色?
          10sheet1.Rows(1).RowHeight?=?20;?//設(shè)置列高
          11sheet1.Rows(1).Font.Size=16;??//設(shè)置文字大小
          12sheet1.Rows(1).Font.Name="宋體";?//設(shè)置字體
          13//設(shè)置每一列的標(biāo)題
          14sheet1.Cells(2,1).Value="工程師考核項(xiàng)";
          15sheet1.Cells(2,2).Value="總分";
          16sheet1.Cells(2,3).Value="研發(fā)進(jìn)度";
          17sheet1.Cells(2,4).Value="出勤率";
          18sheet1.Cells(2,5).Value="執(zhí)行力";
          19sheet1.Cells(2,6).Value="責(zé)任心";
          20sheet1.Cells(2,7).Value="工作規(guī)范";
          21sheet1.Cells(2,8).Value="協(xié)作精神";
          22sheet1.Cells(2,9).Value="進(jìn)取性";
          23sheet1.Cells(2,10).Value="工作合理性";
          24sheet1.Cells(2,11).Value="解決問(wèn)題能力";
          25sheet1.Cells(2,12).Value="應(yīng)變能力";
          26sheet1.Cells(2,13).Value="人際技能";
          27sheet1.Cells(2,14).Value="理解能力";
          28//從表單循環(huán)控件中取出數(shù)據(jù)逐行插入對(duì)應(yīng)列的數(shù)據(jù)
          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

          基本的代碼已經(jīng)實(shí)現(xiàn)了,生成excel的格式和一些統(tǒng)計(jì)計(jì)算,用js寫應(yīng)該是很方便的,以后有例子再作補(bǔ)充。

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

          便。個(gè)人認(rèn)為簡(jiǎn)單就是美!

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          公告


          MSN聯(lián)系

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          我的連接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 梁平县| 新郑市| 库尔勒市| 栾川县| 阳朔县| 曲阳县| 河北省| 龙门县| 黄大仙区| 文水县| 中江县| 黔江区| 延川县| 上林县| 弥渡县| 喀喇| 旬邑县| 剑阁县| 淮安市| 夏邑县| 平武县| 云和县| 嘉义市| 焦作市| 河津市| 申扎县| 双鸭山市| 新巴尔虎右旗| 鄯善县| 顺昌县| 宾川县| 时尚| 洛阳市| 三台县| 嫩江县| 临泉县| 广宁县| 资源县| 临颍县| 若尔盖县| 淳化县|