先給適當(dāng)獎勵,本想加入精華,但那樣剛到明經(jīng)的朋友就看不到了,過段時間再說吧。
浪跡羌寨 單車川藏自駕游之:驚見天仙mm?(組圖) |
|
![]() | ||
![]() |
文章來源: 單車風(fēng)情 于 2005-08-11 19:49:26 敬請注意:新聞取自各大新聞媒體,新聞內(nèi)容并不代表本網(wǎng)立場! |
![]() | ||
![]() | ||||
![]() |
![]() | |||
|
一盤土豆絲80元人民幣!東京生活成本到底有多高? |
|
![]() | |
![]() |
文章來源: 人在日本 于 2005-08-11 19:56:33 敬請注意:新聞取自各大新聞媒體,新聞內(nèi)容并不代表本網(wǎng)立場! |
![]() | |
![]() | |||
![]() |
![]() | ||
|
(本帖真實可靠,將分兩部分分別貼出,主人公永遠值得我們學(xué)習(xí)和參考)
===============================
成功的背后,有著許多不為人知的故事,而正是這些夾雜著淚水和汗水的過去,才成就了一個個走向成功的普通人——凌晨兩點半,早已習(xí)慣了一個人坐在電腦前的我,望著屏幕,任思緒在暗夜的包容下靜靜流淌,時光仿佛又定格在三年多前的那一刻:“283分”。那是被中國萬千學(xué)子稱為“黑色七月”中的一天,下班回家的母親從家門打開后說出的一個數(shù)字,雖然早知道自己不會考上大學(xué),但如此的成績也多少出乎自己的意料。母親是在單位用電話查詢得知高考分數(shù)的,面對眾多的同事,她幾乎不敢相信自己的耳朵。而同在一張辦公桌的同事:她的女兒—也是市委書記的獨生女,分數(shù)是610分。
或許八十年代出生的我們身上肩負著太多的東西,父母將絕大多數(shù)的希望寄托在了這一代的身上,以至于忘記了他們所能承受的負荷,于是便有了代溝,有了反叛。而短短二十年間,神州大地又發(fā)生了太多翻天覆地的變化和對傳統(tǒng)文化的沖擊,這些前人所未能經(jīng)歷過的巨變真真切切的擺在了我們這一代的面前,沒有休止,沒有方向。我們摸索著、試探著、尋找著屬于自己的道路,這期間的痛苦、歡樂、迷惘也只能由自己去體會,我們在一次次的變化中感受著,經(jīng)歷著,也成長著……
從何談起呢,過去十?dāng)?shù)年的經(jīng)歷像一幕電影,一幕尚在上映,沒有結(jié)局的悲喜劇,時間將自己由一個懵憧無知的小男孩幻化為歷經(jīng)滄桑世事的時代青年,它的魔力仍未消退,蹲伏在某個角落,伺機改變著你的一切……
七八歲時的我很好的繼承了父親的“愚孝”傳統(tǒng),在這個家族中,不善言談,木訥呆板的我一直是親戚們?nèi)⌒Φ膶ο螅棠桃捕嗌俅螌χ粫鍪拢粫f話的母親說:你的兒子將來只能是討飯的命,不會有任何出息。每一次,母親都希望我能爭口氣,做出個樣子給他們看看。可說歸說,每年夏天,放學(xué)后的我都要遵從父親的命令拎著兩個大鐵壺行走將近一里的路程給奶奶家打開水,冬天,每隔幾天去背蜂窩煤,倒煤渣,這樣的日子一直持續(xù)到高中畢業(yè)…
89年的中國正是各種“氣功”風(fēng)靡萬千人群的時代,無數(shù)個所謂的“大師”打著“神功”,“特異功能”的幌子晃悠在各個“神壇”上,貪婪地接受著被他們蠱惑得神魂顛倒的人們送來的禮品,錢幣以及所能送上的一切……
家族自然也不能免俗,親戚們虔誠的學(xué)著各種離奇的功法,期待著特異功能的出現(xiàn)。堂哥收藏了一米多厚的市場上有關(guān)各氣功師和特異功能的書籍,被我照單全收。對知名氣功師“了如指掌”,世界各地的神秘現(xiàn)象諸如“金字塔”,“百慕大”,“UFO”也是自己癡迷和研究的對象。并跟著家鄉(xiāng)的一個趕氣功潮的老中醫(yī)像模像樣的偷偷學(xué)起了他自稱家傳的“太極一元功”。
一練就是3年,其間也經(jīng)歷了氣功潮的幻滅以及各地假氣功師露出廬山真面目,被拘捕的消息,那時年少的我還很為他們鳴不平,這期間。仍然沒有放棄對發(fā)明的熱望,不過特異功能加上奇思妙想,可想而知當(dāng)時我的腦子里盡是些什么東西。但是六年級時還是著實想出了一些有市場價值的發(fā)明,并告訴了當(dāng)時還在成都科技大學(xué)讀電子的表哥,記得其中一項是微型洗衣機,將洗衣機按比例縮小,專門用來洗小件衣服,最好用單片機控制各種功能(那時單片機還是高新科技,自己只是從一些專業(yè)期刊上看到過,似懂非懂的感覺能夠用到洗衣機上),夏天時會很方便。遺憾的是他們對我的想法不屑一顧,自己有一種“心死”的感覺,對于發(fā)明的興趣也由此壓抑了兩年。兩年后,海爾出了“小神童”洗衣機,功能還是形態(tài)上與自己設(shè)想的洗衣機均毫無二致。
迷迷糊糊的上了初一,卻對做一名與世無爭的隱士產(chǎn)生了極大的興趣,夢想通過潛心的修煉來改變或者脫離這個世界,連日記中也盡是自創(chuàng)的厭世詩歌和散文,有一段時間還潛心鉆研如何自殺,并設(shè)計了多種無痛死去的方式,(現(xiàn)在想來,還真要感謝當(dāng)時沒有走上這條路,否則就不會有現(xiàn)在的我了)連日常上課時的表現(xiàn)都顯得很神秘。語文老師將我的日記交給班主任—雖然她很欣賞我的文章,班主任把我的母親召到學(xué)校,很緊張的問她我的精神是不是有問題(這是母親后來告訴我的J),而直到有一天在屋內(nèi)的水泥地板躺著練功時,睡著了被母親發(fā)現(xiàn),不得不中止練了三年的偽氣功。后來看了司馬南所著的那本“神功內(nèi)幕”后,才對所謂的特異功能徹底沒了興趣。
初一下學(xué)期無意中發(fā)現(xiàn)一本母親單位發(fā)的“創(chuàng)造學(xué)”,系統(tǒng)的闡述了各種創(chuàng)造發(fā)明的理論和實例,這本書對我的影響不亞于基督教徒手不釋卷的“圣經(jīng)”,曾被澆滅的熱情再次死灰復(fù)燃,于是乎開始照貓畫虎,在課堂上放任自己的思緒天馬行空般馳聘在幻想樂園…
初中時便開始厭惡那些枯燥無味,陳舊落后的課程,面對著不斷重復(fù)的考試,其中卻沒有一絲知識是自己感興趣,愿意學(xué)習(xí)的。也想不出這些知識即使灌輸?shù)阶约旱哪X子里對今后的發(fā)展會有何用?想想中國的英語教育,真正做到了從娃娃抓起,學(xué)了十幾年下來,語法規(guī)章詞匯倒是掌握了不少,可又有多少人能夠運用英語同老外交流呢?啞巴英語、應(yīng)試英語害了中國整整一代人!雖然自己現(xiàn)在沒能體會到正在實施的素質(zhì)教育,可看著依然層出不窮的少年犯罪,以及學(xué)生所背的不見減輕的書包,真的想不出也看不出素質(zhì)教育的優(yōu)點來—也許還要有一個接受過程吧。也或許是中國特有的教育環(huán)境,眾多學(xué)生只能通過近乎慘烈的角逐,踏著大批被考試淘汰的落榜生的肩膀才能跨入理想的學(xué)校—這一切或許阻礙著中國素質(zhì)教育的實施。
學(xué)習(xí)成績差,再加上行為古怪,性格懦弱,我在班中“理所當(dāng)然”的享受著來自各方面的歧視,還記得在初三臨中考時,學(xué)校為了提高中考升學(xué)率,準(zhǔn)備將所謂的好學(xué)生和差學(xué)生隔離開來,并勸說一些中考渺茫的學(xué)生放棄考試權(quán),只是后來,由于一些“原因”沒有實施。現(xiàn)在想來,最遺憾的莫過于當(dāng)時為何不更大膽一些,多逃些課去做更喜歡的事情。
就這樣混過了三年的初中生涯,臨中考前為了不致使父母太過傷心,用了半個月的功,僅差三分夠上市一中的分數(shù)線——這樣的分數(shù)已能進入班中的前20名。家中交了3000元贊助費讓我進入了這所中學(xué)—雖然當(dāng)時已經(jīng)不再想上學(xué),可不好駁回父母的意愿,只好以插班生的身份混了進去。
應(yīng)該說那時依然不善言辭,木納呆板,性格懦弱,再加上學(xué)習(xí)很差。當(dāng)時的高中要求住校,同宿舍的同學(xué)沒有一個人將自己當(dāng)人看待,我承接了宿舍中為其他人倒洗腳水,洗襪子等諸如此類的事情,默默忍受著他們的奚落,甚至以阿Q精神安慰著自己…
96年三月十四日,無法忍受這一切的我,帶著節(jié)省下來的四十元錢和自己的一些想法,以及對夢想的憧憬,希望能到國家專利局謀到一份工作,哪怕只是做雜務(wù),只要能接觸到各種專利文件和資料就行。在家中留了一封信,偷偷的坐火車來到北京,現(xiàn)在想來,當(dāng)時也未免太過單純,但這何嘗不是一段人生體驗,短短數(shù)日,真切體會到這個社會的殘酷冷漠和世態(tài)炎涼:記得到北京后已經(jīng)是午夜12點鐘了,在候車室的大理石地板上一夜未眠,三月份的北京依然很冷。第二天一早買了份北京地圖,按圖索驥找到了國家專利局。并騙過門衛(wèi)進入樓中,一層層的詢問,終于找到了專利局局長的辦公室,局長沒在,當(dāng)時室中有一男一女,他們隨意翻了翻我的資料,給了本《專利法》就將我打發(fā)走了。心灰意冷的想既然出來,就不要再回去,可吃飯問題如何解決?
逐個詢問了無數(shù)家飯店是否招勤雜工,但沒有一家敢容納——因為我沒有身份證。就這樣在北京流浪了四天四夜:期間被賣血者(所謂的血頭)引誘過、被警察驅(qū)逐過、被街頭地痞毆打過—只因為看我不順眼、也同乞丐們睡過地下管道。那幾天看透世態(tài)炎涼,心也冷了,想著一輩子也許就這樣下去。
或許是冥冥中的安排,第四天時在一個公園的長椅上休息時,遇到一位50多歲的老年人,身上的衣服已經(jīng)很破,推著一輛同樣破舊的自行車,見人就說“見過我兒子嗎,他說來北京,我找他好幾年了”,看樣子已經(jīng)精神失常。他看到自己時,對我說“我兒子也跟你這么大,三年前偷偷從家里跑出來,只留信說要去出去看看,我找他三年了。”就這樣一遍遍重復(fù)著……
一陣心酸,也想起了自己的父母,他們是否也會這樣—那樣對他們而言太過殘酷……我用僅剩的5元錢給家中打了個電話,是父親接的:他問我在哪,并說:母親已經(jīng)三天沒有吃飯,休息,整日以淚洗面,如果再沒有消息,她會瘋掉的。
那天晚上,父親和將近70歲的舅舅連夜來到北京,他們一個候車室一個候車室的找,可因為候車室沒有位子,自己是在一個飯店的柱子后面半蹲半靠的涯過夜晚—單薄的衣物抵擋不住北京深夜的嚴寒。
回到家中,我對父母說不想再上學(xué),但他們還是希望能把高中讀完——那一次,真的傷透他們的心,終于還是回到了學(xué)校。
最初返校的一段時間,突然對制作炸彈產(chǎn)生了興趣,于是連續(xù)多半個月從市圖書館收集各種關(guān)于炸藥和相關(guān)炸彈制作的資料,結(jié)合頭腦中的想象和所掌握的一些化學(xué)配方以及電子知識,開始在頭腦中設(shè)計各種特殊“炸彈”。或許處女座的人追求完美,哪怕是“犯罪”也不例外,那段日子頭腦中的靈感層出不窮,眾多獨一無二的“炸彈”構(gòu)思相繼出籠…
也許連自己都感覺心理上有些出格,于是將市圖書館能夠找到的心理學(xué)相關(guān)書籍翻了個遍,配合其中所介紹的一些方法試著去調(diào)整心態(tài),就這樣過了些日子,慢慢的恢復(fù)了正常。
很感激當(dāng)時的市圖書館就在學(xué)校附近,使我總能趁課間休息溜去借書,無論是物理,化學(xué),還是醫(yī)學(xué),文藝之類的書籍,只要覺得有用的書我都沒有錯過,兩年多來利用上課時間翻閱了將近一千五百多冊的各類藏書,而老師們多次在課上“抓住”自己,卻從未沒收過所讀的書—沒有辦法,誰讓自己對武俠、言情之類的小說不感興趣呢,久之,班主任也拿我沒了辦法為了鍛煉意志力,也為了換一個形象—同時不想再受他人的欺侮,我獨自搬到一間曾經(jīng)發(fā)生過火災(zāi)而無人愿住的宿舍中,面對四面漆黑的墻壁,實施著形象再造計劃…
首先要克服膽小懦弱的性格,好走極端并患有輕微恐高癥的我在一個夜晚溜進電視臺院內(nèi),開始向上攀爬80多米高的電視塔鐵架,壯著膽子爬到一半時,不自然的向下方望了一眼——四面懸空的在40米的高空,全身立刻發(fā)軟,手腳也開始無意識地抖動,但仍還清醒:生或是死——此刻已經(jīng)沒有退路!這樣約莫過了10多分鐘后,終于控制住自己的身體,接著爬到了塔頂,站在頂端向下望時,再也沒有先前那種眩暈感,充斥的卻是前所未有的自信,那一刻,我戰(zhàn)勝了自己!
在宿舍內(nèi)自制了一些粗陋的健身器材,并結(jié)合買回的關(guān)于散打和截拳道的書籍,開始習(xí)武,并堅持著每日沖冷水澡,以至于后來全校都知道有個下雪天還在洗冷水澡的怪人,為了下課后能夠搶先打飯,時常從二樓陽臺縱身躍下……日子就這樣一天天過去,身體日益健壯,漸漸地也并不在乎旁人的評論和蔑視,我試著超越自己…
高中的日子也有不少小插曲,曾經(jīng)在看過一本美國人寫的孤身大海飄游的小說后,對挑戰(zhàn)人體極限發(fā)生了興趣,于是找來不少醫(yī)學(xué)資料,做了一番準(zhǔn)備后,決定一個星期內(nèi)不進食,同時也不飲水—資料表明:在較寒冷的環(huán)境中,如果不喝水人可以活六天。我選定了在96年11月份的一個星期一開始(當(dāng)然是要瞞著家人了),并且照常上學(xué)—初衷是為了讓自己在將來出現(xiàn)此類特殊情況時心中有數(shù),不至于因為絕望而死,試驗的前三天,我詳細記下了每天的活動量和排泄情況,并大致計算著由此損耗的熱量,第三天中午時,幾乎堅持不住的想飲水,而胃也在不停的抽搐,走路時如同腳踩棉花一般,我咬牙堅持了下來。第四天時,不僅大小便已經(jīng)停止排泄(這對腎的損害相當(dāng)大,后來由此剩下的飯錢全部換成了藥品,所幸的是自己的診斷還算對路,試驗并未對身體造成太大傷害),而且不再感到渴,也沒有了饑餓的感覺,頭腦中一片寧靜安詳?shù)母杏X,到了第六日,走路時全然沒有了感覺,旁人的對話仿佛來自很遙遠的地方,我知道已經(jīng)接近生死邊緣,晚上終于中止了這場實驗,那幾天瘦了七斤。試驗的六日內(nèi)總共吃了大半塊饅頭,350ml的水(用量杯精確測定),并得到一個較為滿意的結(jié)果。
BTW:從前的我易走極端,請各位千萬不要重復(fù)這場試驗,只是希望這個數(shù)據(jù)能令您在危難狀況時增加存活下去的信心。為了能夠擁有自己的實驗室,并且找到需要的化學(xué)藥品,我千方百計的四處尋找,可惜,一個小城市中,又怎會有齊全的化學(xué)品商店呢?一個偶然的機會,在**局內(nèi)部閑逛時,無意中發(fā)現(xiàn)一座不太起眼的二層小樓,而里面竟然有一個化學(xué)實驗室,還有幾個存放電子儀器的儲藏室,平常沒有人進出。想進入這些房間對我而言并非難事,略施小計便可以輕松出入—還要歸功于門鎖的原始:),每次并不多拿,只是帶走少量的化學(xué)藥品。或許是一些藥品的奇怪缺失引起了他們的注意,一次想取些藥品時,感覺有些不太對勁,仔細觀察才發(fā)覺安裝了紅外報警器。于是回去花了一個星期研究防盜設(shè)備,并購買了類似的報警器材做試驗,找到了破解方法,也得到了需要的化學(xué)藥品——這段經(jīng)歷或許奠定了自己后來的黑客基礎(chǔ)J.事先聲明:我并未對實驗室造成任何損害,所竊得的化學(xué)藥品總值也未超過50元—只不過市場很難買到才出此下策。
高中時留下較深印象的當(dāng)屬做不完的作業(yè)以及答不完的試卷,看不完的課外輔導(dǎo)書。一上課,試卷便鋪天蓋地而來,自習(xí)課時更是如此,各科老師走馬燈般發(fā)著試卷,每一個都聲稱很重要。雖然自己可以享受不交作業(yè)的“特權(quán)”——老師們完全放棄了對我的管束—他們已無能為力,看著周圍的同學(xué)起勁兒作著毫無用處的作業(yè),心里不由得想笑,也只是苦笑——這一切并非自愿,而僅僅是為了能夠?qū)砘烊胍凰髮W(xué)。至今仍感到納悶的是:如果需要,當(dāng)時的我可以弄懂最專業(yè)的科技論文,卻對課本上的內(nèi)容始終無法記住。現(xiàn)在想來,這或許是“興趣是最好的導(dǎo)師”的最佳例證J,其中也有逆反心理在做崇。
高中三年,同學(xué)之間沒有友情,有的也只是相互競爭和壓軋,每個人都知道,名額有限,如果希望升入大學(xué),你不得不盡力去超過你周圍的同學(xué)。這些本不該是我們這個年齡段所應(yīng)該承受的,可現(xiàn)實就是如此殘酷,對于眾多農(nóng)村學(xué)子而言——如果希望過得更好,考大學(xué)只能是唯一的出路(但事實果真如此嗎?大學(xué)畢業(yè)后仍將要面對這個社會慘烈的競爭,我們這代人始終無法輕松)。這是身處大城市的考生所無法體會的(不平等的分數(shù)線能令他們較輕松進入大學(xué)校園,如果說這也是一種不平等的話,那也只能說是見怪不怪了)。于是每年臨近高考,便不時會聽到因不堪承受過重心理壓力的高考應(yīng)屆生自殺或進入精神病院的消息。更可悲的是這類消息并不會在考生中引起反響—他們早已麻木。置身事外的我(本就不想考學(xué),也就沒有那樣的壓力)平靜的看著這一切,也試圖找出一個答案—你能告訴我嗎?
很快三年過去,也迎來了不得不參加的高考……
我永遠忘記不了母親回家后的面孔。她的臉上是一種自尊被擊潰后的絕望,也隱含著對自己兒子今后命運的深深擔(dān)憂—十多年辛勤付出所培養(yǎng)出的兒子,在一個足以決定一生命運的考試中交給她的答案。在以子女高考成績衡量成功的小城市,這是一個難以容忍的數(shù)字,意味著這個高考棄兒今后的道路將充滿坎坷曲折…
本已厭倦了陳舊落后的課本知識,下決心不再上學(xué)的我,此時不敢也不能再面對母親的眼睛。已給她太多的失望……。后來,按照父母的意愿,來到了石家莊一所計算機自學(xué)考試學(xué)校。卻遇上了足以改變一生的轉(zhuǎn)變……。
98年11月,17歲的我第一次在學(xué)校機房內(nèi)接觸了電腦,雖然僅是dos界面,雖然還對電腦一竅不通,但卻不由得被這個籠罩著神秘氣息的家伙征服了,也是那一刻,在內(nèi)心暗暗立下了一個目標(biāo):三年內(nèi),不僅要征服電腦,還要成為這個行業(yè)最頂級的專家!
為了找尋接觸電腦的機會,記得曾經(jīng)在一個星期內(nèi),連續(xù)奔波在5個地方,趁著他們或者公司不用電腦的時候,想方設(shè)法去蹭機,并隨身攜帶著一張光盤—我買的第一張光盤—一張關(guān)于網(wǎng)絡(luò)入侵和軟件破解的盜版光盤,面對著那里面猶如天書的教學(xué)文章,以及神秘莫測的入侵和破解軟件,忘記了吃飯和睡覺,絞盡腦汁的想要去了解它們。那個星期,總共睡了不到六個小時。
那次之后,大病了一場。這場病也成了自己得以賴在病床上不受干擾看書的最好借口。為了學(xué)習(xí)軟件破解—基本前提是要了解匯編語言—用了一個星期啃完并了解了IBM的那本匯編教材,又為了能夠使用那些黑客程序,兩個星期之內(nèi),掌握了C語言的基本編程和調(diào)試—這是在沒有電腦可供使用的基礎(chǔ)上,為了了解網(wǎng)絡(luò),一本本最新的網(wǎng)絡(luò)書籍被我“蹂躪”了一遍又一遍,沒有人指導(dǎo),僅僅憑著興趣,憑著想成為一名黑客的渴望,終于讀懂了那些晦澀艱深的文字(這也許是早期中國電腦書籍的一個通病)。
經(jīng)不住我的軟磨硬泡,答應(yīng)在兩年后買電腦的父母擠出錢來提前買了臺兼容機,并放在表哥在市農(nóng)行的單身宿舍中——他并不常來,某種程度上,成了自己的個人樂園。
三個月,整整三個月,一個人同電腦交流著,時間已經(jīng)失去了概念,晝夜星辰的交替似乎也沒有意義,餓了,去食堂吃些東西,困了,倒在電腦旁的床上打個盹,醒來后接著“交戰(zhàn)”。至于學(xué)校,想起來的時候便回去一次,也僅僅是讓班主任還記得有這個學(xué)生。結(jié)合電腦,學(xué)習(xí)了所購買的上千元的書籍和光盤。掌握了1000多種各類軟件的應(yīng)用,軟件破解,編程等能力也有了飛躍性的提高。現(xiàn)在想來,那或許是自己一生中最快樂的一段時光,沒有壓力,沒有歧視,只有興趣和動力,瘋狂地吸收著這個行業(yè)所能了解的一切。
99年三月份,河北微軟培訓(xùn)中心在計算機世界打出了招收第一批學(xué)員的廣告,那時還根本不知道認證的概念,僅僅憑借著能夠接觸到真實的網(wǎng)絡(luò)環(huán)境,以及如果通過認證后能夠得到年薪10萬的承諾——當(dāng)然,這也僅僅是廣告宣傳而已。便又勸說家中出錢報名參加了第一屆學(xué)習(xí)班。
事隔許久,很多往事已成了過眼煙云,但一件小事卻始終難忘:報名時,自己問負責(zé)人英語不太好是否也能學(xué)習(xí),他回了一句:沒關(guān)系。但好像又想起了什么,緊接著又問:你過四級了嗎?那一刻,仿佛猜到了所面臨的將是什么。
一個高考落榜的學(xué)生想去考什么世界認證的系統(tǒng)工程師,這在家鄉(xiāng)迅速傳為了笑談,回家后每個知道這個笑柄的人看待自己的眼神中都帶著蔑視和不屑,我知道,已經(jīng)沒有了退路。
那屆培訓(xùn)班共有58名學(xué)員,除我之外都是有著相關(guān)工作經(jīng)驗的本科和碩士。捧著6本磚頭般的英文教材。反復(fù)閃現(xiàn)在腦海中的也只剩下了“拼命”這個單詞。白天,對著金山詞霸翻譯著書中每個不懂的單詞—試圖讀通書中的含義,那時總結(jié)了一個包含1000多個專業(yè)術(shù)語的單詞表,硬記了下來。晚上,上課時結(jié)合未在看書時搞懂的知識點,并用錄音機將授課錄下,回去后反復(fù)去聽,去理解。兩個月的培訓(xùn),弄懂了每一堂課,并結(jié)識了業(yè)內(nèi)的很多朋友。身上由此少了10幾斤肉——或許是一個減肥的好方法。
99年五月,我成為培訓(xùn)班中第二個通過MCP認證的學(xué)員—雖然僅需一門課,但也是一個好的起點,畢竟當(dāng)時的石家莊沒有幾個人擁有該認證。興奮地去久已未至的學(xué)校炫耀時,卻被新?lián)Q的班主任小心翼翼地問道:你是李明嗎?待得到肯定答復(fù)后,毋庸置疑地說:你已經(jīng)被學(xué)校開除了……。
剛離開學(xué)校時的我本想籍著自己的電腦能力尋找一份合適的工作,孰料在其后的多半個月中,頻繁更換了3家公司,都是一些電腦代理公司,幾個人便是一個組合,甚至有一家代理工控機的公司,同時竟還做著食品烹制的生意!但牛皮卻還吹得很大。我知道再呆下去只會空耗時間,迅速逃離,連工資都沒有去要。
還好籍著同一培訓(xùn)班朋友的推薦,我來到石家莊萬利福超市作了一名網(wǎng)管,每天的工作就是維護公司辦公網(wǎng)絡(luò),pos機的正常運營,以及unix服務(wù)器的數(shù)據(jù)備份,并利用VB和SQL程序編寫一些應(yīng)用和數(shù)據(jù)庫查詢軟件,工作很是清閑,這段時間,在公司搭起了一個網(wǎng)絡(luò)環(huán)境,閑暇時便做著教材后面的實驗和網(wǎng)絡(luò)安全的研究。當(dāng)時的薪水是每月900元。
幾個月很快過去,為了能夠給自己一些壓力,謝絕了主管的挽留,回家后準(zhǔn)備剩余科目的考試。
現(xiàn)在想來,在家中的那段時間,也是人生中一個很大的轉(zhuǎn)折點,性格乖梟的奶奶突發(fā)腦血栓,在醫(yī)院住了一個多月,爺爺也在此時湊熱鬧,心臟病接著發(fā)作,而父親由于照顧他們,糖尿病上升到6個加號——這是非常危險的信號,母親也被累得診斷出心臟間歇(我奶奶體重有180多斤,為其每翻次身都是一個艱巨的工作),沒有工作的自己卻又不能幫上太多忙,準(zhǔn)備去石家莊考試——卻在公交車上將父母給的600多元考試費被小偷扒走。而借錢考試時,僅剩的一門課連考兩次,竟都是僅差一分而沒有通過。真切體會到了什么叫欲哭無淚!
回來后為了排解心情,總結(jié)自己接觸電腦及網(wǎng)絡(luò)一年多來的網(wǎng)絡(luò)安全和破解經(jīng)驗,寫了一遍兩萬余字的文章,被《軟件》雜志發(fā)表—發(fā)表之前在雜志社引起了很大爭議——先前從未刊登過類似的文章。發(fā)表后出乎所有編輯的意料,這篇文章被評為該雜志創(chuàng)刊以來最受讀者歡迎的文章,由此也帶動了后來媒體對于黑客群體的關(guān)注—而此時,體會過人生起落的我也已經(jīng)準(zhǔn)備淡出這個圈子了。
也是這個月,再次接觸到了上海博達網(wǎng)絡(luò)設(shè)備公司的河北辦事處經(jīng)理,現(xiàn)已是博達公司的市場總監(jiān)。第一次是數(shù)月前朋友引薦,當(dāng)時他對我的表現(xiàn)并不太滿意,而這次,聽朋友說我已經(jīng)將認證課程全部考完,他很欣賞我的毅力,于是,順利進入了這家公司,并成為路由器行業(yè)內(nèi)年齡最小也是學(xué)歷最低的工程師。負責(zé)河北和內(nèi)蒙古兩省內(nèi)公司所售路由器的安裝維護和調(diào)試。由于學(xué)歷的緣故,薪水被定為1500元,這幾乎是公司薪資標(biāo)準(zhǔn)的最底線。
2000年三月的一個深夜,經(jīng)理打電話說邢臺電信局所用的一臺我們的路由器出了些問題,要求立刻過去,連夜用了100多元打車去了邢臺,到電信局時已經(jīng)是12點多了,故障是cisco的7507和我們的路由器無法互通,那是自己第一次獨自出差,也是第一次見到cisco的路由器,此前在公司培訓(xùn)時僅僅知道cisco是我們的競爭對手,面對著幾乎完全陌生的命令行和設(shè)備,有些束手無策。無奈之下長途喚醒了上海總部的技術(shù)主管,在他一步步的提示和幫助下,第二天早上7點鐘前終于排除了故障。而如果故障在7點后仍無法排除的話,那客戶的損失就將以6位數(shù)來計算了,什么是壓力?這就是壓力!
以后的日子便是在頻繁的出差中度過,除了排除故障,還要承擔(dān)給客戶培訓(xùn)和方案編寫方面的任務(wù),以及跟隨主管陪同一些主要客戶(這段日子為后來的工作奠定了良好的基礎(chǔ),也很大程度上鍛煉了各方面的素質(zhì)),沒有任務(wù)時便在國貿(mào)中心的辦事處準(zhǔn)備著MCSD和MCDBA的考試,由于曾經(jīng)的黑客經(jīng)歷,VB語言以及SQL數(shù)據(jù)庫的編程并不是太大的難題—這總要比匯編容易得多。一門心思的準(zhǔn)備著考試—至于娛樂和休閑,就讓它們見鬼去吧,那時根本沒有時間去想這些東西。
5月份的時候才了解到cisco的認證體系,不知天高地厚的我對這套認證又發(fā)生了興趣,不僅僅在于它同自己的工作息息相關(guān)(同是相關(guān)行業(yè),工作中也要時常接觸),也在于它的通過難度。2000年的石家莊書店中很難見到有關(guān)cisco方面的書籍,為了CCNA的考試,將書店中能見到的所有有關(guān)cisco的書籍都買了回來,甚至包括了CCIE的英文教材。
近三個月不分晝夜的學(xué)習(xí)——利用一切可能的時間,出差時在火車和汽車上看,在辦公室中晚上困了就在公司地板上打個盹,醒了再接著學(xué),并結(jié)合公司的路由器做著實驗。7月底的時候終于拿下了CCNA的認證(對比現(xiàn)在某些號稱一個星期拿下ccna的培訓(xùn)機構(gòu)來講,專門從事路由器調(diào)試工作的我用兩個多月好象太慢了些,不過打下的基礎(chǔ)卻很牢固,),那時CCNA在業(yè)內(nèi)的影響力很大——包括后來到上海接受為期一個月的新產(chǎn)品培訓(xùn)時,公司各地的技術(shù)支持都很欽佩。后來約略統(tǒng)計了一下,那段日子的平均睡眠為每天三個小時左右。
2000年8月份cisco將全部認證體系來了個徹底更新,內(nèi)容和考題均發(fā)生了很大變化,在相關(guān)教材都沒有推出的情況下,便又開始了準(zhǔn)備CCNP2.0(CISCO認證網(wǎng)絡(luò)專家)和CCDP2.0(CISCO認證售前網(wǎng)絡(luò)設(shè)計專家)考試的相關(guān)資料,并借了幾臺舊的cisco路由器,向CISCO更高端的認證發(fā)起沖刺。
當(dāng)然,沖刺之余,也沒有忘記我曾經(jīng)的“老本行”,只不過這時更多的傾向于對因特網(wǎng)上的網(wǎng)絡(luò)設(shè)備的破解與控制,記得最瘋狂的一次是個周末,連續(xù)60個小時坐在電腦旁,不停的嘗試著進入各種最先進的網(wǎng)絡(luò)設(shè)備,那一次,控制了200多臺各國的路由器、100多臺其他類型的網(wǎng)絡(luò)設(shè)備、美國一所大學(xué)的12016核心路由器(這是當(dāng)時CISCO最高端的路由器)、國內(nèi)兩個省(請原諒,由于業(yè)內(nèi)原則,我不會透露它們的名字)的數(shù)臺12000系列的路由器(本可以控制更多,不過撥號上網(wǎng)的網(wǎng)速實在太慢,限制了侵入)。這意味著如果愿意的話,僅需在世界上轉(zhuǎn)幾個彎,鍵入幾道命令,那所大學(xué)以及這兩個省至少二分之一的電信通訊網(wǎng)絡(luò)將至少癱瘓兩個小時——但我永遠也不會這樣去做。而令人遺憾的是,自己僅僅是利用了它們配置上的缺陷以及網(wǎng)上早已公布的漏洞,中國乃至世界的網(wǎng)絡(luò)安全狀況真的令人堪憂……
為了貼補認證考試所帶來的花銷,也在河北的微軟培訓(xùn)中心兼職教授cisco的CCNA培訓(xùn)課程以及MCSE的部分認證課程。同時就可以免費利用培訓(xùn)中心的網(wǎng)絡(luò)資源和聽取MCSD,MCDBA的課程培訓(xùn)。并結(jié)交一些各界的朋友,一箭雙雕的方法曾經(jīng)讓自己暗自得意了很長一段時間,如果按照年齡來看的話,好像19歲的我應(yīng)該是中國最年輕的CCNA講師了吧,到2000年12月時,經(jīng)過多次重考—仍然都只是一兩分的差距,在軟件設(shè)計(MCSD,MCDBA)、網(wǎng)絡(luò)設(shè)備維護(CCNP2.0)、以及系統(tǒng)集成的網(wǎng)絡(luò)設(shè)計(CCDP2.0)的交叉學(xué)習(xí)和考試中,慶幸的是竟然沒有因此而搞昏頭腦,12月一個月的時間都是在考試中度過的,也是這個月,一萬多元的積蓄消耗一空,多日加班積攢的休息日也得到了充分利用,交錯考試也(這個月經(jīng)歷了20多次不同的認證考試—包括一些重考,也經(jīng)歷了出生以來對自己意志力的最大考驗)鍛煉了今后面對壓力的韌性和忍耐。舉個例子:如果希望拿到CCDP的認證,首先需要通過CCDA的考試,而DA的考試對英語閱讀的要求極高,它是通過一個個的案例分析來判斷你在網(wǎng)絡(luò)設(shè)計方面的能力的,每個case如果單獨打印出來,將占用至少4,5頁打印紙。一般而言,你會碰到3—4個case,而在自己第三次沖刺DA的考試時,竟然碰到了5個CASE(這些認證考試每次重考難度都將加大),并且僅有短短的兩個小時,只有在了解這些案例的基礎(chǔ)上,才能去做50多道題目。精神幾近崩潰!兩個小時過去了,打印機將成績打印了出來,一條綠線:PASS!自己的歡呼聲隨即響徹了整個樓道。
事后在網(wǎng)上搜索了一番,并查詢了相應(yīng)的一些培訓(xùn)機構(gòu),不經(jīng)意間發(fā)現(xiàn)自己已成為世界上最年輕的同時擁有“微軟認證系統(tǒng)工程師(MCSE)”、“微軟認證數(shù)據(jù)庫專家(MCDBA)”、“微軟認證軟件設(shè)計專家(MCSD)”、“思科認證網(wǎng)絡(luò)專家(CCNP2.0)”、“思科認證網(wǎng)絡(luò)設(shè)計專家(CCDP2.0)”認證,且均在相關(guān)領(lǐng)域工作過的工程師。
雖然還小,但那時的自己在河北的系統(tǒng)集成行業(yè)已經(jīng)有了相當(dāng)?shù)闹龋ぷ饕惨疡{輕就熟,而我也希望著更多的挑戰(zhàn)—當(dāng)然,由于均為自費考試,略顯微薄的薪資已經(jīng)無力再承擔(dān)認證費用。于是下決心準(zhǔn)備去北京看一看,得知要離開的消息后,經(jīng)理誠懇挽留,并許諾提高薪資,石家莊另外一家頗具規(guī)模的系統(tǒng)集成公司也希望我能過去工作,開出的月薪是4000元——這在消費水平不高的石家莊已經(jīng)屬于高薪。
去意已決,辭去工作只身來到了北京,頗具意味的是,雖然當(dāng)時互聯(lián)網(wǎng)行業(yè)已經(jīng)跌至到了冰點,但招聘會上卻充斥著系統(tǒng)集成行業(yè)的公司,各公司紛紛打出“CCNA優(yōu)先”的標(biāo)題,這在一定程度上也驗證了自己的判斷:在99年網(wǎng)頁設(shè)計最繁盛的時候,為了選一個方向,經(jīng)過很長時間的考慮,才堅定了在系統(tǒng)集成行業(yè)工作的決心—如果選擇網(wǎng)頁設(shè)計,有一定基礎(chǔ)的我可以拿到4000或者更多,但內(nèi)心卻在問—這始終是一個假象,你真的具備拿如此高薪水的能力?僅僅一個網(wǎng)頁設(shè)計沒有技術(shù)含量,你認為它能繁榮多久?不停地思索這些問題,最終選擇了留在博達,并決定待能力提高時再作考慮。
招聘會上,所擁有的那些認證,再加上參與的眾多省級網(wǎng)絡(luò)的建設(shè)經(jīng)驗,幾乎每一家在收到我的簡歷后都立刻要求我去面試,并紛紛表示希望能夠留在他們公司,而學(xué)歷—卻反而成了最無關(guān)緊要的因素,原本做好了來北京做搬運工的最壞準(zhǔn)備——此時真的有些受寵若驚(對照一年前的那段日子,心中亦是感慨萬千)。面試對我而言根本不是問題,自然薪資也戲劇性地水漲船高,在所談的眾多公司中—包括上市公司,外企,以及業(yè)內(nèi)翹楚:曾有一家新加坡的服務(wù)器公司開出了稅后9000元的高薪,他們的總經(jīng)理直言不諱地說他看中的是我的學(xué)習(xí)能力以及拼搏精神,如此的年紀能夠拿到如此多的認證和工作經(jīng)驗不是每個人都能達到的。但最后由于一心希望向集成行業(yè)發(fā)展,最終謝絕了邀請。
在公司的選擇中,一家名不見經(jīng)傳的小公司吸引了自己的注意力,記得那時系統(tǒng)集成部的主管,一名清華自動化系的碩士,并曾在HP工作多年—也是自己后來的上司,曾經(jīng)在面試時很誠摯地說:依你現(xiàn)在的能力,去一家大公司完全沒有任何問題,不過大公司并不需要你能夠獨當(dāng)一面,很大程度上僅是制度下的一顆螺絲釘,但最大的特點就是穩(wěn)定。而選擇新成立的小公司的話,自身能力會得到迅速提高,如果公司發(fā)展起來,升遷的機會也很多,收益自然頗豐。不過最大的特點就是風(fēng)險很高,小公司隨時有可能會被市場所淘汰,你的職業(yè)生涯也將會有所改變。他希望能考慮清楚后再給予答復(fù)。
一、連接各種數(shù)據(jù)庫方式速查表
下面羅列了各種數(shù)據(jù)庫使用JDBC連接的方式,可以作為一個手冊使用。
1、Oracle8/8i/9i數(shù)據(jù)庫(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為數(shù)據(jù)庫的SID String user="test"; String password="test"; Connection conn= DriverManager.getConnection(url,user,password); |
2、DB2數(shù)據(jù)庫
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //sample為你的數(shù)據(jù)庫名 String user="admin"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); |
3、Sql Server7.0/2000數(shù)據(jù)庫
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb為數(shù)據(jù)庫 String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); |
4、Sybase數(shù)據(jù)庫
Class.forName("com.sybase.jdbc.SybDriver").newInstance(); String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB為你的數(shù)據(jù)庫名 Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps); |
5、Informix數(shù)據(jù)庫
Class.forName("com.informix.jdbc.IfxDriver").newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //myDB為數(shù)據(jù)庫名 Connection conn= DriverManager.getConnection(url); |
6、MySQL數(shù)據(jù)庫
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" //myDB為數(shù)據(jù)庫名 Connection conn= DriverManager.getConnection(url); |
7、PostgreSQL數(shù)據(jù)庫
Class.forName("org.postgresql.Driver").newInstance(); String url ="jdbc:postgresql://localhost/myDB" //myDB為數(shù)據(jù)庫名 String user="myuser"; String password="mypassword"; Connection conn= DriverManager.getConnection(url,user,password); |
8、access數(shù)據(jù)庫直連用ODBC的
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb"); Connection conn = DriverManager.getConnection(url,"",""); Statement stmtNew=conn.createStatement() ; |
二、JDBC連接MySql方式
下面是使用JDBC連接MySql的一個小的教程
1、查找驅(qū)動程序
MySQL目前提供的java驅(qū)動程序為Connection/J,可以從MySQL官方網(wǎng)站下載,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驅(qū)動程序為純java驅(qū)動程序,不需做其他配置。
2、動態(tài)指定classpath
如果需要執(zhí)行時動態(tài)指定classpath,就在執(zhí)行時采用-cp方式。否則將上面的.jar文件加入到classpath環(huán)境變量中。
3、加載驅(qū)動程序
try{ Class.forName(com.mysql.jdbc.Driver); System.out.println(Success loading Mysql Driver!); }catch(Exception e) { System.out.println(Error loading Mysql Driver!); e.printStackTrace(); } |
4、設(shè)置連接的url
jdbc:mysql://localhost/databasename[?pa=va][&pa=va] |
三、以下列出了在使用JDBC來連接Oracle數(shù)據(jù)庫時可以使用的一些技巧
1、在客戶端軟件開發(fā)中使用Thin驅(qū)動程序
在開發(fā)Java軟件方面,Oracle的數(shù)據(jù)庫提供了四種類型的驅(qū)動程序,二種用于應(yīng)用軟件、applets、servlets等客戶端軟件,另外二種用于數(shù)據(jù)庫中的Java存儲過程等服務(wù)器端軟件。在客戶機端軟件的開發(fā)中,我們可以選擇OCI驅(qū)動程序或Thin驅(qū)動程序。OCI驅(qū)動程序利用Java本地化接口(JNI),通過Oracle客戶端軟件與數(shù)據(jù)庫進行通訊。Thin驅(qū)動程序是純Java驅(qū)動程序,它直接與數(shù)據(jù)庫進行通訊。為了獲得最高的性能,Oracle建議在客戶端軟件的開發(fā)中使用OCI驅(qū)動程序,這似乎是正確的。但我建議使用Thin驅(qū)動程序,因為通過多次測試發(fā)現(xiàn),在通常情況下,Thin驅(qū)動程序的性能都超過了OCI驅(qū)動程序。
2、關(guān)閉自動提交功能,提高系統(tǒng)性能
在第一次建立與數(shù)據(jù)庫的連接時,在缺省情況下,連接是在自動提交模式下的。為了獲得更好的性能,可以通過調(diào)用帶布爾值false參數(shù)的Connection類的setAutoCommit()方法關(guān)閉自動提交功能,如下所示:
conn.setAutoCommit(false);
值得注意的是,一旦關(guān)閉了自動提交功能,我們就需要通過調(diào)用Connection類的commit()和rollback()方法來人工的方式對事務(wù)進行管理。
3、在動態(tài)SQL或有時間限制的命令中使用Statement對象
在執(zhí)行SQL命令時,我們有二種選擇:可以使用PreparedStatement對象,也可以使用Statement對象。無論多少次地使用同一個SQL命令,PreparedStatement都只對它解析和編譯一次。當(dāng)使用Statement對象時,每次執(zhí)行一個SQL命令時,都會對它進行解析和編譯。這可能會使你認為,使用PreparedStatement對象比使用Statement對象的速度更快。然而,我進行的測試表明,在客戶端軟件中,情況并非如此。因此,在有時間限制的SQL操作中,除非成批地處理SQL命令,我們應(yīng)當(dāng)考慮使用Statement對象。
此外,使用Statement對象也使得編寫動態(tài)SQL命令更加簡單,因為我們可以將字符串連接在一起,建立一個有效的SQL命令。因此,我認為,Statement對象可以使動態(tài)SQL命令的創(chuàng)建和執(zhí)行變得更加簡單。
4、利用helper函數(shù)對動態(tài)SQL命令進行格式化
在創(chuàng)建使用Statement對象執(zhí)行的動態(tài)SQL命令時,我們需要處理一些格式化方面的問題。例如,如果我們想創(chuàng)建一個將名字O'Reilly插入表中的SQL命令,則必須使用二個相連的“''”號替換O'Reilly中的“'”號。完成這些工作的最好的方法是創(chuàng)建一個完成替換操作的helper方法,然后在連接字符串心服用公式表達一個SQL命令時,使用創(chuàng)建的helper方法。與此類似的是,我們可以讓helper方法接受一個Date型的值,然后讓它輸出基于Oracle的to_date()函數(shù)的字符串表達式。
5、利用PreparedStatement對象提高數(shù)據(jù)庫的總體效率
在使用PreparedStatement對象執(zhí)行SQL命令時,命令被數(shù)據(jù)庫進行解析和編譯,然后被放到命令緩沖區(qū)。然后,每當(dāng)執(zhí)行同一個PreparedStatement對象時,它就會被再解析一次,但不會被再次編譯。在緩沖區(qū)中可以發(fā)現(xiàn)預(yù)編譯的命令,并且可以重新使用。在有大量用戶的企業(yè)級應(yīng)用軟件中,經(jīng)常會重復(fù)執(zhí)行相同的SQL命令,使用PreparedStatement對象帶來的編譯次數(shù)的減少能夠提高數(shù)據(jù)庫的總體性能。如果不是在客戶端創(chuàng)建、預(yù)備、執(zhí)行PreparedStatement任務(wù)需要的時間長于Statement任務(wù),我會建議在除動態(tài)SQL命令之外的所有情況下使用PreparedStatement對象。
6、在成批處理重復(fù)的插入或更新操作中使用PreparedStatement對象
如果成批地處理插入和更新操作,就能夠顯著地減少它們所需要的時間。Oracle提供的Statement和 CallableStatement并不真正地支持批處理,只有PreparedStatement對象才真正地支持批處理。我們可以使用addBatch()和executeBatch()方法選擇標(biāo)準(zhǔn)的JDBC批處理,或者通過利用PreparedStatement對象的setExecuteBatch()方法和標(biāo)準(zhǔn)的executeUpdate()方法選擇速度更快的Oracle專有的方法。要使用Oracle專有的批處理機制,可以以如下所示的方式調(diào)用setExecuteBatch():
PreparedStatement pstmt3D null; try { ((OraclePreparedStatement)pstmt).setExecuteBatch(30); ... pstmt.executeUpdate(); } |
調(diào)用setExecuteBatch()時指定的值是一個上限,當(dāng)達到該值時,就會自動地引發(fā)SQL命令執(zhí)行,標(biāo)準(zhǔn)的executeUpdate()方法就會被作為批處理送到數(shù)據(jù)庫中。我們可以通過調(diào)用PreparedStatement類的sendBatch()方法隨時傳輸批處理任務(wù)。
7、使用Oracle locator方法插入、更新大對象(LOB)
Oracle的PreparedStatement類不完全支持BLOB和CLOB等大對象的處理,尤其是Thin驅(qū)動程序不支持利用PreparedStatement對象的setObject()和setBinaryStream()方法設(shè)置BLOB的值,也不支持利用setCharacterStream()方法設(shè)置CLOB的值。只有l(wèi)ocator本身中的方法才能夠從數(shù)據(jù)庫中獲取LOB類型的值。可以使用PreparedStatement對象插入或更新LOB,但需要使用locator才能獲取LOB的值。由于存在這二個問題,因此,我建議使用locator的方法來插入、更新或獲取LOB的值。
8、使用SQL92語法調(diào)用存儲過程
在調(diào)用存儲過程時,我們可以使用SQL92或Oracle PL/SQL,由于使用Oracle PL/SQL并沒有什么實際的好處,而且會給以后維護你的應(yīng)用程序的開發(fā)人員帶來麻煩,因此,我建議在調(diào)用存儲過程時使用SQL92。
9、使用Object SQL將對象模式轉(zhuǎn)移到數(shù)據(jù)庫中
既然可以將Oracle的數(shù)據(jù)庫作為一種面向?qū)ο蟮臄?shù)據(jù)庫來使用,就可以考慮將應(yīng)用程序中的面向?qū)ο竽J睫D(zhuǎn)到數(shù)據(jù)庫中。目前的方法是創(chuàng)建Java bean作為偽裝的數(shù)據(jù)庫對象,將它們的屬性映射到關(guān)系表中,然后在這些bean中添加方法。盡管這樣作在Java中沒有什么問題,但由于操作都是在數(shù)據(jù)庫之外進行的,因此其他訪問數(shù)據(jù)庫的應(yīng)用軟件無法利用對象模式。如果利用Oracle的面向?qū)ο蟮募夹g(shù),可以通過創(chuàng)建一個新的數(shù)據(jù)庫對象類型在數(shù)據(jù)庫中模仿其數(shù)據(jù)和操作,然后使用JPublisher等工具生成自己的Java bean類。如果使用這種方式,不但Java應(yīng)用程序可以使用應(yīng)用軟件的對象模式,其他需要共享你的應(yīng)用中的數(shù)據(jù)和操作的應(yīng)用軟件也可以使用應(yīng)用軟件中的對象模式。
10、利用SQL完成數(shù)據(jù)庫內(nèi)的操作
我要向大家介紹的最重要的經(jīng)驗是充分利用SQL的面向集合的方法來解決數(shù)據(jù)庫處理需求,而不是使用Java等過程化的編程語言。
如果編程人員要在一個表中查找許多行,結(jié)果中的每個行都會查找其他表中的數(shù)據(jù),最后,編程人員創(chuàng)建了獨立的UPDATE命令來成批地更新第一個表中的數(shù)據(jù)。與此類似的任務(wù)可以通過在set子句中使用多列子查詢而在一個UPDATE命令中完成。當(dāng)能夠在單一的SQL命令中完成任務(wù),何必要讓數(shù)據(jù)在網(wǎng)上流來流去的?我建議用戶認真學(xué)習(xí)如何最大限度地發(fā)揮SQL的功能。
前言:
本來我都是使用JBuilderX當(dāng)主力IDE、但使用了Eclipse后
發(fā)現(xiàn)...Eclipse原來也這么好用...漸漸的就愛上了它......
Eclipse優(yōu)點:免費、程序代碼排版功能、有中文化包、可增
設(shè)許多功能強大的外掛、支持多種操作系統(tǒng)(Windows、
Linux、Solaris、Mac OSX)..等等。
開此篇討論串的目的,是希望能將Eclipse的一些使用技巧集
合起來...歡迎大家繼續(xù)補充下去...由于Eclipse的版本眾多
,希望補充的先進們能順便說明一下您所使用的版本~
Eclipse網(wǎng)站:接口就會變回英文語系嚕。
利用Eclipse,在Word編輯文書時可不必將程序代碼重新編排:
將Eclipse程序編輯區(qū)的程序代碼整個復(fù)制下來(Ctrl+C),直接貼(Ctrl+V)到
Word或WordPad上,您將會發(fā)現(xiàn)在Word里的程序代碼格式,跟Eclipse
所設(shè)定的完全一樣,包括字型、縮排、關(guān)鍵詞顏色。我曾試過JBuilder
、GEL、NetBeans...使用復(fù)制貼上時,只有縮排格式一樣,字型、顏
色等都不會改變。
外掛篇:
外掛安裝:將外掛包下載回來后,將其解壓縮后,您會發(fā)現(xiàn)features、
plugins這2個數(shù)據(jù)夾,將里面的東西都復(fù)制或移動到Eclipse的features
、plugins數(shù)據(jù)夾內(nèi)后,重新啟動Eclipse即可。
讓Eclipse可以像JBuilderX一樣使用拖拉方式建構(gòu)GUI的外掛:
1.Jigloo SWT/Swing GUI Builder :
http://cloudgarden.com/jigloo/index.html ;
下載此版本:Jigloo plugin for Eclipse (using Java 1.4 or 1.5)
安裝后即可由檔案->新建->其它->GUI Form選取要建構(gòu)的GUI類型。
2.Eclipse Visual Editor Project:
http://www.eclipse.org/vep/ ;
點選下方Download Page,再點選Latest Release 0.5.0進入下載。
除了VE-runtime-0.5.0.zip要下載外,以下這2個也要:
EMF build 1.1.1: (build page) (download zip)
GEF Build 2.1.2: (build page) (download zip)
3.0 M8版本,請下載:
EMF build I200403250631
GEF Build I20040330
VE-runtime-1.0M1
安裝成功后,便可由File->New->Visual Class開始UI設(shè)計。
安裝成功后,即可由新建->Java->AWT與Swing里選擇
所要建構(gòu)的GUI類型開始進行設(shè)計。VE必須配合著對應(yīng)
版本,才能正常使用,否則即使安裝成功,使用上仍會
有問題。
使用Eclipse來開發(fā)JSP程序:
外掛名稱:lomboz(下載頁面)
http://forge.objectweb.org/project/showfiles.php?group_id=97 ;
請選擇適合自己版本的lomboz下載,lomboz.212.p1.zip表示2.1.2版,
lomboz.3m7.zip表示M7版本....以此類推。
lomboz安裝以及設(shè)置教學(xué):
Eclipse開發(fā)JSP-教學(xué)文件
Java轉(zhuǎn)exe篇:
實現(xiàn)方式:Eclipse搭配JSmooth(免費)。
1.先由Eclipse制作包含Manifest的JAR。
制作教學(xué)
2.使用JSmooth將做好的JAR包裝成EXE。
JSmooth下載頁面:
http://jsmooth.sourceforge.net/index.php ;
3.制作完成的exe文件,可在有裝置JRE的Windows上執(zhí)行。
Eclipse-Java編輯器最佳設(shè)定:
編輯器字型設(shè)定:工作臺->字型->Java編輯器文字字型。
(建議設(shè)定Courier New -regular 10)
編輯器相關(guān)設(shè)定:窗口->喜好設(shè)定->Java->編輯器
外觀:顯示行號、強調(diào)對稱顯示的方括號、強調(diào)顯示現(xiàn)行行、
顯示打印邊距,將其勾選,Tab寬度設(shè)4,打印編距字段設(shè)80。
程序代碼協(xié)助:采預(yù)設(shè)即可。
語法:可設(shè)定關(guān)鍵詞、字符串等等的顯示顏色。
附注:采預(yù)設(shè)即可。
輸入:全部字段都勾選。
浮動說明:采預(yù)設(shè)即可。
導(dǎo)覽:采預(yù)設(shè)即可。
使自動排版排出來的效果,最符合Java設(shè)計慣例的設(shè)定:
自動排版設(shè)定:窗口->喜好設(shè)定->Java->程序代碼制作格式。
換行:全部不勾選。
分行:行長度上限設(shè):80。
樣式:只將強制轉(zhuǎn)型后插入空白勾選。
內(nèi)縮空格數(shù)目:設(shè)為4。
Eclipse的教學(xué)文件:
Eclipse 3.0系列熱鍵表 - 中英對照解說版 (by sungo) ~New~
Window+GCC+CDT用Eclipse開發(fā)C、C++ (by sungo) ~New~
其它:
擴充Eclipse的Java 開發(fā)工具(中文)
使用Eclipse開發(fā)J2EE 應(yīng)用程序(中文)
使用Eclipse平臺進行除錯(中文)
用Eclipse進行XML 開發(fā)(中文)
開發(fā)Eclipse外掛程序(中文)
國際化您的Eclipse外掛程序(英文)
將Swing編輯器加入Eclipse(英文)
如何測試你的Eclipse plug-in符合國際市場需求(英文)
Eclipse的相關(guān)網(wǎng)站:
http://eclipse-plugins.2y.net/eclipse/index.jsp ;
http://www.eclipseplugincentral.com/ ;
Eclipse相關(guān)教學(xué)[簡體]
寫程序?qū)懙胶芾哿耍胄菹⒁幌拢浚客嫱嫘ame是
不錯的選擇,下面介紹使用Eclipse玩Game的Plug-in。
補充外掛篇:
Eclipse-Games:
http://eclipse-games.sourceforge.net/ ;
版本選:Latest Release 3.0.1 (Release Notes) Sat, 3 Jan 2004
外掛安裝完后,重新開啟Eclipse。
窗口->自訂視景->其它->勾選Game Actions。
再將Eclipse關(guān)閉,重新再啟動,就可以開始玩嚕。
(共有4種:采地雷I、采地雷II、貪食蛇、倉庫番。)
(Eclipse 2.1.2 +中文化 玩Game -倉庫番)
補充:(于Eclipse使用assertion機制)
Eclipse版本:2.1.3 release。
JDK1.4版新加入的assertion機制(關(guān)鍵詞:assert),由于JDK1.4編譯器
預(yù)設(shè)是兼容1.3,所以要使用assert必須在編譯時加上-source 1.4的參數(shù)。
C:\>javac -source 1.4 XXX.java
執(zhí)行時則必須加-ea 或-enableassertions參數(shù)啟動。
C:\>java -ea XXX
如要在Eclipse中使用assertion機制,請作以下設(shè)定:
設(shè)定一:(編譯設(shè)定)
Windows->Preferance->Java->Compiler->Compliance and Classfiles
頁面。將..JDK Compliance level->Compiler compliance level調(diào)成1.4。
設(shè)定二:(執(zhí)行設(shè)定)
Run->Run->(x)=Arguments頁面,在VM arguments加入-da參數(shù),按下
Run button便可看到啟動assertion后的執(zhí)行結(jié)果。
(Eclipse 2.1.3 release + assertion測試)
<assert判別為false,所以show出AssertionError>
新版(m8+)的eclipse可以設(shè)vm arguments
另外提供一種設(shè)法,是在eclipse啟動時加入vm arguments(跟加大eclipse預(yù)設(shè)內(nèi)存大小的方式一樣)
這樣就不用每次run都得需去設(shè)vm arguments
使用yum 代替up2date 自動更新升級RedHat AS3
使用yum 代替up2date 自動更新升級RedHat AS3
開始時想從ftp.redhat.com下載源碼包進行rebulid然后升級,但rebulid時經(jīng)常說少很多開發(fā)包,又要找光盤安裝,太麻煩,而且還不能自動完成更新。沒辦法,我是個懶人,在找其他辦法。
一直用apt做redhat7.2的升級,感覺還行,然后在網(wǎng)上看到可以用apt for Redhat EL3的升級as3(見http://www.linuxeden.com/edu/doctext.php?docid=3219),進行了一下測試,發(fā)apt for el3提供的升級包太少,沒法用,我也沒發(fā)現(xiàn)好的as3 apt升級服務(wù)器。
最后看到了一篇關(guān)于CentOS Linux 的,CentOS Linux 是一種 RedHat El3 的ReBulild版本(利用RedHat El3重新編譯),使用yum作為升級管理器。由于手頭沒有CentOS Linux ,就到y(tǒng)um的老家(http://linux.duke.edu/projects/yum/)下載了一個,我分析了一下yum的管理方式,發(fā)現(xiàn)其主要是利用發(fā)行版本中的headers文件,和rhn的up2date很類似,感覺可以用在as3上。經(jīng)過測試一切ok,下面是相關(guān)的一些內(nèi)容說明
1.什么是yum?
yum : (Yellow dog Updater, Modified) 是黃狗LINUX的包管理器,用它可以安裝、升級 軟件包及整個系統(tǒng)。只要是基于rpm方式管理的系統(tǒng)都可以用!
2.RedHat AS3 升級資源 (RH src rebuild)
CentOS Linux
WhiteBoxLinux
TaoLinux
這里只用到了CentOS Linux,它的更新還是比較快的,他們一般在Redhat的SRPMS出來幾個小時后就跟著出補丁了
3.下載安裝配置yum
從http://linux.duke.edu/projects/yum/download/2.0/yum-2.0.7-1.noarch.rpm 下載,并安裝yum
安裝后要注意的是一下三個文件
/etc/cron.daily/yum.cron #每日進行yum 及 其他軟件包定時升級
/etc/init.d/yum #yum服務(wù)? 具體什么作用沒有研究
/etc/yum.conf #yum配置文件
接下來修改/etc/yum.conf
vi /etc/yum.conf
將
[base]
name=Red Hat Linux $releasever - $basearch - Base
baseurl=http://mirror.dulug.duke.edu/pub/yum-repository/redhat/$releasever/$basearch/
[updates]
name=Red Hat Linux $releasever - Updates
baseurl=http://mirror.dulug.duke.edu/pub/yum-repository/redhat/updates/$releasever/
改為
[base]
name=CentOS Linux 3.1 for RHEL3 - Base #隨便取名字
baseurl=http://mirror.aelix.com/pub/cAos/centos-3/3.1/os/i386
[updates]
name=CentOS Linux 3.1 for RHEL3 - Updates #隨便取名字
baseurl=http://mirror.aelix.com/pub/cAos/centos-3/3.1/updates/i386
存盤.完成配置
4. 升級系統(tǒng)
輸入命令
yum update
剩下的就是等著收獲吧,就是這么簡單

5. 其他
編輯/etc/yum.conf 在[main] 中加入 exclude=kernel kernel-source 這樣可以不升級kernel
安裝新軟件包,如mc : yum install mc
還有就是研究man 吧:man yum
6.附錄
如果你喜歡自由軟件的精神,希望成為一名True Hacker,而且已經(jīng)決定用一個Real Operate System了,那就去選一個Real Distribution吧,不要用RedHat。Gentoo,Debian都是好選擇,也可以從Slackware開始。
如果你是想做正式商業(yè)運用,而又希望用所謂的RHEL的話,去向RedHat買一個吧,這樣你可以得到一年的升級支持(你不知道升級意味什么!天哪,愿神保佑你),并且建議你繼續(xù)購買Redhat的服務(wù)(subscription on rhn.redhat.com),這樣可以繼續(xù)獲得4年的升級支持。
因為:
1.沒有安全升級的服務(wù)器是非常危險的。
2.RHN作為一個大的系統(tǒng)管理來說,是個不錯的平臺。
3.Redhat在Opensource方面做得不錯,應(yīng)該支持。
唯一建議裝這個免費的as3的對象是,作為個人試驗用途,或者需要以RHEL作為目標(biāo)平臺開發(fā)軟件的開發(fā)人員。仍然建議你處于足夠好的防火墻和安全策略保護之下。順便說一句,RHEL AS3.0和RH9基本兼容,在RH9上編譯的大部分binary都不會有問題,另外用一些RHEL Rebuild的發(fā)行版(CentOS/Whitebox/TaoLinux)也不會有問題。
如果你的Boss,Teammate等等就是認定RHEL了,但是就是不想從口袋里掏錢給Redhat公司。他們說:“Linux不是免費的嗎?”盡力說服他們吧。否則,作為最后一個解決辦法,用第三方的各種RHEL Rebuild發(fā)行版的updates,CentOS(centos.org)似乎是最及時的,了解一下yum的配置。無論如何,確保你是能夠自動升級各種安全補丁的。感謝GPL及Redhat的公司的策略,安全補丁的Src是可以免費得到的。
關(guān)于Redhat的Extras盤,了解一下內(nèi)容,自己決定是否下載吧。
盤一是IBM的JDK和JRE,還有一個jrockit的J2SE,87M。
盤二是Eclipse,Src和i386,faint,難道這個還需要放到extras里面,而且只有167M,還自稱Developer Suite。
盤三是Cluster Suite,faint,委實狡詐,ipvsadm這種包居然也放到extras里面,faint,這個又不是rh開發(fā)的。10M
盤四是文檔,7xxM。
其實RH的License方面一直做得不錯,于是只好在發(fā)行版本上做文章了。文檔的License也是開源的。 越戰(zhàn)中的特種兵之王 - -
老蔫兒是個普通的中國男人,人過中年,頭發(fā)花白。談起老蔫兒認識他的人都語含同情,
老蔫兒的日子過得很辛酸。
為什么呢?老蔫兒這人太老實,中國人的溫良恭謙讓在他身上發(fā)揮到了極致,所以他也就
有了這個綽號。老蔫兒蔫在何處?比如說單位分房子,他多少年前就該分到了,可他從不
爭取,名額也就讓別人給搶了去。被搶了,他也不生氣,笑說道:“人家比我更需要吧!
”
于是老蔫一家三口到現(xiàn)在還擠在鴿子窩似的單位宿舍里,每每想到此處,他的那些同事只
能哀其不幸怒其不爭,嘆道:“老實人吶!”
但老實人也曾有過一段被人羨慕的日子??他娶了個漂亮老婆,讓所有認識他的男人都郁
悶了把,“咋被老蔫給娶到了呢?”
但令人扼腕而嘆的是:倒霉鬼常是老實人,老蔫的老婆給老蔫生下個漂亮女兒沒幾年就出
了車禍,唉,一向樂觀的老蔫從此也就沒了笑容。
看到這,諸位可能就有了疑問:他家怎么是一家三口啊,難道老蔫又娶了?現(xiàn)在這社會哪
個女的愿意嫁給這么蔫的老實人吶!再說了,老蔫這孩子厚道著呢,再娶他壓根沒想過。
那第三口是誰啊?老蔫的姐夫。對于這個姐夫,老蔫也摸不著頭腦,他就沒聽自己老婆提
過有什么姐姐,可這姐夫來的那天,自己老婆就是叫他姐夫的,隨后躲到房里哭得涕泗滂
沱。
老蔫的悲慘日子也就從那天開始的,他老婆在上街給姐夫買酒的路上出了車禍,本來該是
老蔫去買的,可兩人搶著去的時候,老蔫老婆的眼淚禁不住又流了下來,老蔫心一軟……
老蔫是個老實人,他總覺得自己配不上老婆,自己虧欠老婆太多,他也就時常在心中懊悔
:“那天我去該多好。”每每此時老蔫常蹲在自家門口前望著遠方,在某一刻他的意識或
許回到了那天,潛意識里他應(yīng)該渴求著奇跡的發(fā)生,但冰冷無情的事實花白了老蔫的頭發(fā)
。老蔫老婆臨出門前交待的那句話:“照看好菲菲和姐夫。”便時常回響在老蔫耳邊了。
老蔫也就不茍的執(zhí)行著老婆的最后一句交待,以作為自己對老婆的補償,希望在心中尋得
份安心和慰籍。
※※※
老蔫的姐夫也就住了下來,照中國傳統(tǒng)的說法,老蔫的姐夫?qū)夏鑱碚f就是顆災(zāi)星,要不
是這所謂姐夫的來到,要不是這所謂的姐夫愛喝酒,要不是…老蔫的老婆也不會就這么去
了。
但老蔫并沒怨恨他姐夫,因為他是個老實人,而且他并不笨,他看得出來姐夫比自己還要
傷心,再看自己妻子看見姐夫的反應(yīng),老蔫便猜出姐夫和妻子肯定有什么傷心事瞞著自己
。傷心事加傷心事,換誰也不好受啊,所以老蔫一直懷疑姐夫精神上有問題,否則怎么會
一天到晚沒事就傻坐在那呢,一坐就是個十幾年,害得家里一切開銷都得靠老蔫那點工資
,日子過得倍苦。
日子就這樣熬了過來,菲菲也快高中畢業(yè)了,出落得比她媽還漂亮,打小想對她動歪主意
的壞胚就不少,但讓老蔫欣慰的是精神失常的姐夫派上了用場,菲菲上學(xué)一直就是姐夫接
送的,只要菲菲尖叫一聲,壯實的姐夫就跟影子一樣刷得聲出現(xiàn),學(xué)校的老師看菲菲都是
一臉的敬畏,都以為是哪位大老板的女兒。24小時有專人保護。
有時老蔫常常疑惑:姐夫精神未失常前到底是干什么的?咋就跟中南海保鏢一樣呢!
但最近老蔫也郁悶了起來,廠里決定下崗一批工人,第一個就是好處從不想苦活就他干的
老蔫,這樣一來,菲菲的大學(xué)是肯定上不起了,再過幾星期估計家里鍋都揭不開了,唉…
老蔫蹲在家門口嘆氣著。
快吃晚飯的時候,姐夫回來了,但與往常不同的是菲菲并沒一起回來,“菲菲同學(xué)聚會去
KTV唱歌,叫我先回來。”說完,姐夫便進屋呆坐著去了。
老蔫搖了搖頭,姐夫被菲菲使喚得言聽計從指哪打哪,就跟一傭人似的,唉,天底下竟有
這樣的姨父和侄女!老蔫在心中嘆道。
太陽漸漸告別地平線以上,老蔫有點著急了,“管不住的兒子看不住的女兒,唉,又玩瘋
了不是!”老蔫蹲著自語道。
“…叔叔,菲…菲出事了。”菲菲的閨中密友上氣不接下氣的跑了過來。嚇得兩個男人立
馬慌了,老蔫都哆嗦了起來,“怎么了,到底怎么了?”
“我們在KTV唱歌,有一幫小痞子過來調(diào)戲菲菲,我們班的幾個男生上去阻攔,結(jié)果被痞子
打傷了,菲菲氣壞了便打了為首的一耳光。”
姐夫的脖子都粗了起來,一把抓住那女生搖晃著問道:“菲菲現(xiàn)在怎樣了?”嚇得那小女
孩欲哭道:“被他們堵在包廂里了,為首的那個好像是市委書記的兒子,據(jù)說還是個***.
”
聽到市委書記這四個字,老蔫的腿就開始發(fā)軟,似乎都站不穩(wěn)了,口中念叨著:“這可怎
么辦,怎么辦…”
在老蔫沒了主意的時候,老蔫的姐夫已沖了出去,等二人跟著出去,卻眼見著姐夫的身影
消失在遠處。
※※※
KTV房。學(xué)生們早已不在,估摸著找人的找人去醫(yī)院的去醫(yī)院了,老蔫的姐夫迅速的一層層
的找將開來,很快,他便看到七八個黃毛綠毛嬉笑著站在一個包廂外。走近,便聽到一個
熟悉的聲音在喝罵:“放開我…”“給我讓開。”老蔫的姐夫喝道。黃綠毛們譏笑的看了
他一眼隨后放肆的笑罵了起來,“老東西,瞎狗眼了。”接著又是一陣哄笑。
看到老蔫的姐夫不吊他們,說話的那位又開罵了,“老…”但他沒說完就發(fā)現(xiàn)自己半邊臉
開始麻木了起來,口腔中也好像少了一半什么,當(dāng)他倒地的時候,才發(fā)現(xiàn)自己的一幫哥們
全在地上躺著呢。
老蔫的姐夫也沒干什么,只是用腳一人賞了一耳光.嘭的聲,包廂門被踹開。一股煙酒之氣
撲面而來,老蔫的姐夫皺了皺眉頭。本來撕打著一對男女停了下來,女孩看見來人不禁哭
了出來,“姨父。”
此時的老蔫的姐夫被這聲姨父弄紅了眼,他這姨侄女從小就沒受過半分委屈,更何況像今
天這樣子被人欺負,一天天看著菲菲長大,她出落得很像她的姨娘,一想到菲菲的姨娘,
他感到自己又回到了那個戰(zhàn)火紛飛的年代。
在老蔫的姐夫出神的那刻,市委書記的0兒子一把扼住了菲菲,菲菲的尖叫把老蔫的姐夫拉
回了現(xiàn)實。
當(dāng)看到菲菲被人扼住幾近無法呼吸,他的血液加速了也加熱了,他已經(jīng)有點無法控制自己
的憤怒了。他似乎看到是菲菲的姨娘在被人扼住。
“放開她。”老蔫的姐夫有點歇斯底里的喝道。那人緊張之下竟拔出了把槍。當(dāng)看到槍指
著菲菲的時候,憤怒徹底的燃燒了他。
可能是由于一直以來的張狂,市委書記的兒子并未覺察到危險的逼近,一時事情的突發(fā),
他根本沒來得急注意到門外躺著的那一堆混仔。
“操,哪來的老東西,壞你大的好事。”說著揚著手中的槍,按他往常的經(jīng)驗,正常人看
到槍都得嚇趴下,他以為已鎮(zhèn)住了那個闖進來壞了自己好事的中年人。唉,只可惜包廂里
太黑了,再加上渾濁的空氣使他暈乎乎的,事實上他才是應(yīng)該被鎮(zhèn)住的。如果他能看清老
蔫姐夫臉上的神色,他的這輩子就不會這么毀了。但歷史從不用如果這兩個字。
就在他揚來揚去的那刻,他感到自己的手好像被什么打斷了,手槍也掉在地上了,當(dāng)他醒
悟過來的時候,兩腿膝蓋傳來劇痛,接著他便看到那中年人的腳如蝴蝶翻飛般的在他身上
踢著,踢得煞是好看,可惜伴奏的是自己骨節(jié)碎裂聲。
此時的市委書記公子才看清對方的神態(tài)??霸氣橫溢,駭?shù)盟B忙后悔自己剛才眼瞎,可
已與事無補…
菲菲沒敢回頭看那色狼,她知道姨父的腳力,她可是見識過,碗口粗的樹那都是被一腳掃
斷,踢人身上不廢也得殘。
老蔫的姐夫拉著菲菲回了家,他似乎什么事也沒發(fā)生過,沒有焦慮沒有擔(dān)憂。“姨父,他
不會死吧,他萬一真是市委書記的兒子怎么辦?”看到姨父并沒理她,那位被稱作菲菲的
女孩無奈下撅起了小嘴,擔(dān)心了起來。
※※※
市第一人民醫(yī)院高干病房內(nèi),一堆人圍著個病人。市委書記鐵青著臉望著他半昏迷的兒子
,手上青筋暴起,此時的他已經(jīng)被怒火燃燒,他無法想象到底是誰那么有種敢在自己治下
廢了自己兒子。看著市委書記兇冷的眼神,醫(yī)院院長焦急的小聲對著一個醫(yī)生命令道:“
快看看去,董老怎么還沒來?”就在此時,門被推開,一個白頭老者在別人攙扶下蹣跚進
來,院長看見老者迎了上去,市委書記臉色也緩和下來。
老者沒搭理二人,徑直走向病人,當(dāng)看見病人的傷口時,老者發(fā)現(xiàn)了什么的珍寶似的,眼
中露出驚喜的光芒。
老者慢慢流下了眼淚,喃喃自語道:“五十多年了,沒想到臨死前,我還能看到柳派譚腿
踢出來的骨傷。”
老者撫弄著傷口,欣慰著念道:“沒失傳啊,這腳力…”老者嘴里發(fā)出嘖嘖的驚嘆聲,全
然不顧旁邊人的焦急。
醫(yī)院院長看著臉又陰沉下來的市委書記,心中暗叫不好,湊到老者身邊,“董老,您看這
傷…”“這傷,沒三四十年的功底踢不出來,想來中國現(xiàn)在能踢出來的不會超過這個數(shù)。
”老者豎起五個指頭。
“是個什么樣的人踢傷的?”老者問道。醫(yī)院院長望著市委書記支支吾吾說不出來,市委
書記卻是等不及,生怕再拖沿下去,他寶貝兒子就廢在那了,回道:“是個中年人。”
聽到這話,老者一直昏暗著的眼睛亮了一下隨即暗淡下來,“我知道是誰了。”接著就向
門外走去。
院長一看就急了,“董老,你這是?”老者語氣中實起來,“這傷是我一位故交踢的,我
知道他的為人,不為點事,他不會踢這么重的。所以這傷我不能治,你們另外請人吧。”
院長一聽更急了,直接拉著老者袖子,“董老,董老…”老者不客氣的拂開院長的手,回
到病人的面前。
院長和市委書記提起來的心又松了下來。“這年輕人,身體早被酒色掏空了,就是做了手
術(shù),也恢復(fù)不了,就是恢復(fù)得了他還得過以前的酒色生活,這樣一來也挺不了幾年,就這
樣躺著反能活到60開外。”說完,老者又要開走。
這次市委書記也急了,“董老…”可憐兮兮地望著老者,老者回望了他一眼,長嘆了一口
氣,“我老了,像這種手術(shù)已經(jīng)沒精力做了也沒膽量做了。”接著推開門,走掉。
再接著,高干病房里一陣東西摔砸聲。
那個董老是剛從北京回來養(yǎng)老的,以前可是只給首長看病的,中南海的路比誰都熟,強橫
如一省省委書記也奈他不何。
這位市委書記也只有含血吞了斷齒,但他絕不會咽下這口氣的。他把碰壁的怨氣全發(fā)在那
個踢傷自己兒子的中年人身上。
市委辦公室里。
“給我把徐四找來。”市委書記對著電話另一頭命令道。一旁倒茶的秘書聽了愣住了,“
那可是市里出了名的殺神,一人追著十幾個人砍的狠角,那人沒事惹市委書記兒子干嘛,
唉…”秘書在心中嘆道。
※※※是夜,老蔫廠子家屬區(qū)門前停下輛面包車,七八個彪型大漢跳將下來,提著砍刀便
向家屬區(qū)里面沖,門衛(wèi)探出頭看了眼,看到這架勢連忙縮了回去。“哎呀我的媽呀,
不知誰家要倒霉了。”趕忙撥了110和120.
此時,老蔫和菲菲正在家中發(fā)愁呢,萬一真是市委書記兒子,那可怎么辦,就是不是,那
醫(yī)藥費也賠不起啊。可把老蔫愁得一佛出世二佛生天。
老蔫瞅了眼他姐夫,他姐夫沒事人樣的呆坐在那,“精神出問題就這好,出再大的事,他
也不會覺得有啥可擔(dān)心的。”
就在三人干坐著的時候,門被踢開了,光看到為首的那張臉,老蔫的魂魄就飛得差不多了
,那位刀疤從眉角一直拉到下巴,一看就知道絕非善類。
就在老蔫絕望的感到末日來臨的時候,他發(fā)現(xiàn)為首的那位從一臉殺氣騰騰轉(zhuǎn)為一臉誠惶誠
恐,“師叔,是您老吶!”這話可把所有人嚇得不輕。
直到那幫**走了許久,老蔫神還是沒回得過來,他第一次感到自己得重新審視自己姐夫了
,菲菲則是用敬仰的眼神看著自己的姨父,她可認出為首的那位是傳說中的徐四了,看到
全市最出名的**頭子見自己姨父都畢恭畢敬的叫師叔,她唯有用敬仰的眼神看著自己的姨
父了。
當(dāng)徐四一幫人走到家屬區(qū)門口時,110也到了,領(lǐng)頭的***拉開車門笑說道:“請吧,
徐四什么事犯得著你親自動手啊。”
徐四一臉的訕笑,“今天可沒砍人,到一朋友家坐坐而已,不信,您自己進去看。”
看到120車空手而回,***們知道沒出事,“去哪兒啊,要不我順道載你一程。”
徐四陪笑道,“我?guī)к噥砹耍擒囎嗔耍一逇狻!?
為首的***也笑了,“嘿,你小子還挺講究的啊。”警車和匪車絕塵而去,扔下門衛(wèi)
在那郁悶著,“咋就沒砍成呢?”
市委書記在辦公室里來回踱著,焦急的等待回音。
鈴聲響了下,是短信,秘書知趣的拿起手機,“是徐四的,他說要砍的是他的師叔,他不
能砍也不敢砍,勸您就這么算了,否則玩到底吃虧的只能是你。”秘書把手機遞給了市委
書記,市委書記接了過來,一把扔了出去,“放他XX的屁!”
面包車內(nèi)。
“四哥,那人沒多大啊,真是你師叔?”徐四顫抖抖的點起根煙,“你們說我能打嗎?”
旁邊人回道:“誰不知道你四哥是我們市最能打的啊,一人砍十幾個的主。”
“你們見過我怕過什么人沒?”“沒,道上沒聽說過誰敢跟你叫板的,就是公安局長見你
還得客氣點打招呼啊,您怕過誰啊?”另一人回道。
徐四長吐了口煙氣,“剛才我被嚇得腿都發(fā)軟了,差點跪下。”車廂里人都樂了,“四哥
,你就別忽悠我們了。”
“忽悠你們做啥,當(dāng)年我見到他的時候,都尿褲子上了。”徐四說得一本正經(jīng)的,其他人
來興趣了,“四哥,給講講。”
“知道胡司令嗎?***時市里最吊的那個zfp頭頭,號稱鐵手鐵胳膊,碗口粗的石柱子一擼
就斷了,那才叫真功夫。”眾人聽得一臉神往。
“知道胡司令這功夫哪學(xué)來的嗎?”眾人聽得更起勁了。“你們出道晚,砍砍人就算混開
了,我出道那會得拜師,別以為這師沒拜頭,那時候道上的人的功夫都是跟自己師傅學(xué)的
,所以那時候尊師啊。”
“所以道上也就講究輩分,見了前輩得行禮,否則,就別再想在道上混,我們這城里當(dāng)時
道上的都是清幫一脈,清靜道德、文成佛法、能仁智慧、本來自性、圓名行理、大通俗學(xué)
,那都是按輩來的。”
“四哥,那你什么輩分啊?”“俗字輩,胡司令也是,嘿,我們倆一個師傅帶出來的,我
入的遲,沒學(xué)到什么師傅就翹了,我只好跟著胡師兄混。”
“我?guī)熜帜菚r候道上名頭響,綽號胡鐵臂,附近幾個市老青幫的都知道我們市出了個胡鐵
臂,我?guī)熜帜菚r候好不威風(fēng),可他也有怕的人。”眾人露出不可置信的神色。
“那時候,城里有一老頭,清幫的,輩份可真高,大字輩比我?guī)煾颠€高一輩,我?guī)煾翟诘?
時候我?guī)熜帜枪Ψ蛞呀?jīng)練出來了,我?guī)煾狄辉俑嬲]我?guī)熜植灰ト抢项^,我?guī)熜帜穆牭眠M
去,我?guī)煾禌]辦法就把老頭的事情講給我們聽了。”
那幾位聽得張大了嘴巴,全神貫注的聽著生怕漏了一個字。“那老頭真是吊得不得了,年
輕的時候號稱清幫第一打手,知道清幫第一打手這幾個字份量嗎?那可是用上千顆人頭堆
出來的,上千顆人頭吶!”徐四說得自己長虛短嘆,唉,誰聽了不感嘆呢?
“你們是不是疑問老頭怎么來我們這了?”眾人點頭。“我?guī)煾蹈项^關(guān)系還不錯,老頭
也就談了些過去,當(dāng)年***一位高層落到了日本黑龍會手里,落到黑龍會手里可比什么地方
都難弄出來了,***的高手一時調(diào)不過來,便找到了老頭。”
“老頭一出手,嘿,日本那些黑龍會高手只配舔鞋底,人是肯定救出來了,可老頭在救人
的時候撞見黑龍會的人在做些禽獸都做不出來的事,可把老頭火的。殺了個回馬槍,殺光
了,整整黑龍會一個分部啊,七八百號人,一晚上殺的半個也沒留。”
“聽說日本*們趕來的時候鬼嚎了半天,黑龍會的頭們自己切自己切了一大半,嘿,被殺的
里面據(jù)說有一個日本大官,嘿,他們也有今天,哈哈…”
“然后就是瘋狂追殺啊,還好老頭的兒子和兒媳被那個高層帶走了,老頭也就帶著孫子隱
居在我們這了。”
“聽完后,我?guī)熜衷僖膊桓姨崛抢项^了,不敢也沒了那心了,那老頭可是民族英雄級
別的,再**的痞子他也是中國人啊,他也懂愛國。我?guī)熜忠簿蜎]再混了,安心當(dāng)了個工人
。”
“四哥,后來呢?”旁人追問道:“后來就***了,我?guī)煾岛屠项^***前就相繼翹了,我?guī)?
兄也就熬出頭,那時候亂,派別林立,我便跟著我?guī)熜只斐隽诵┟茫闪耸欣镒畛雒?
一幫造反派,能打嘛!”徐四說到這的時候,臉上露出了些自豪。
“可我?guī)熜终娌皇莻€好胚,得勢便張狂,那時候亂,他又色,“我?guī)熜忠簿头赶铝诵﹤?
害理的事,照例說沒人管,可老頭的孫子聽到了些傳聞,便捎話給我?guī)熜至耍形規(guī)熜质?
手否則他出來清理門戶。他是通字輩,按理說是我們長輩是我們師叔。”徐四嘆了口氣,
又說道:“我?guī)熜帜穆牭眠M去,一毛孩子,能有多大能耐啊。我當(dāng)時也這么想。”
“唉,又過了些時日,一天我?guī)熜置樯弦慌⒆樱桥⒆涌烧嫫粒疫@輩子再也見過
有這么漂亮的女人了,錢市長那中戲畢業(yè)的兒媳漂亮吧?”
“漂亮、漂亮。”那幾個連忙點頭稱是,并在臉上露出不懷好意的笑容“嘿,跟那女孩比
,那就是一鄉(xiāng)下柴禾妞,那就是一泡牛大便。”徐四陷入回憶的迷茫。
“當(dāng)把那女孩搶到總部的時候,那女孩倒也沒驚慌,她很鎮(zhèn)定的告訴我?guī)熜炙悄莻€老者
孫子的女朋友,在幫里這可是大忌,可*誰還管幫里的規(guī)矩啊,但我?guī)熜忠婚_始也沒敢動手
,關(guān)鍵那女孩的氣質(zhì),讓人看了不忍侵犯,就跟一仙女似的。”徐四的嘴角抽搐了兩下,
接著長嘆口氣。
“現(xiàn)在想來,我那師兄真渾啊,那么好的女孩他都忍心去侵犯,我也是一混,我怎么就上
去搭手了呢。”徐四一臉的羞愧,說得那幾個孩子也一臉羞愧,都沒干什么好事過。
“就在我們扒那女孩衣服的時候,那少年來了,一個人,還沒帶家伙,當(dāng)時那地方我?guī)熜?
的人足足有兩百多,每人手里都操著家伙。”
“當(dāng)時我們在二樓,我?guī)熜纸形胰ゴ翱谕约簞邮郑揖驼镜搅舜翱谝贿呁規(guī)?
兄一邊望著樓下,當(dāng)那少年動起手來我就沒再回望我?guī)熜郑驗槲也桓蚁嘈虐l(fā)生在我眼前
的那是事實。”
“兩百多人,唉,就跟沙包樣一個個被踢飛,都是一腳,踢哪地方的都有反正結(jié)果一樣,
沒見有起來的,太快了,根本都沒來得及有反應(yīng),當(dāng)時感覺就眨了下眼,人全趴下了。到
最后就剩下個兩米多高的東北漢子守在樓梯口,那漢子近四百斤重提著根碗口粗的鐵棒,
平常幾個人推都推不動,唉,就一腳,鐵棒和人一起彎了、飛了,撞了進來,當(dāng)時我就尿
褲子上了,癱倒在地。當(dāng)時我還望了我?guī)熜忠谎郏伲虐橇艘患路聛怼!?
“唉,什么鐵手鐵胳膊,當(dāng)我們抬著我?guī)熜秩メt(yī)院的時候,醫(yī)生直接問是不是被壓路機碾
過了,全碎了,粉碎粉碎的那種。”眾人聽得一臉駭然,有兩位口水都出來了。
“當(dāng)時聽說市委書記兒子是被踢傷的,我心里就犯難了,生怕再碰到他,唉,可惜碰到就
是他,你們說我能怎么辦,我出來的時候冷汗都把內(nèi)衣濕透了,還好進去的時候看了眼,
否則我們再去百十號人也得全折在那。”
“不信,摸摸我內(nèi)衣,還濕著呢。”徐四長吸了口煙,扔掉煙蒂。“給道上放話吧,別去
惹那一家子,特別是那幫被打的小子,誰再動那女孩一下子,我就挑了他手筋!”
不到兩天,老蔫姐夫的故事傳遍了整個城市,在這缺乏英雄的年代,這種傳聞比什么都熱
銷,給老蔫帶來的唯一好處是:他被通知不需要下崗了。廠長還專門找了老蔫一趟,一改
以前的盛氣臨人,客氣多了的說道“老蔫啊,啊,不,×××,家里有困難,怎么不向廠
里反映呢?要相信組織嘛,你是廠里的元老了,說什么也得照顧,就這么說定了,下次分
房第一家就你,你可不能再推了,這不傷我們領(lǐng)導(dǎo)的心嘛。”老蔫只有唯唯諾諾的點頭。
菲菲處境的變化是學(xué)校里什么人都對她特別客客氣氣的,特別是那幫學(xué)人家混著的體育特
長生,走路都遠遠見著了躲著走,也不敢在學(xué)校里生事了,其他以前飽受其苦的普通學(xué)生
都暗地喊菲菲叫雅典娜??女神,驅(qū)走黑暗帶來光明。
當(dāng)然這些都傳入市委書記的耳朵中了,可把他氣得牙癢,徐四也就被通緝了,當(dāng)然市委書
記也知道沒用,只能出出氣,這種**頭子都有有錢的大老板罩著,奈他不何。但市委書記
哪能咽下這怨氣,他堂堂一個市委書記的兒子被人廢了,豈能就這么算了。
※※※
他能怎么辦?他畢竟是市委書記啊,他就是雄霸一方的土皇帝,他掌握著國家專政機關(guān)的
領(lǐng)導(dǎo)權(quán)。但他不能為所欲為,畢竟這還是***的天下,而不是國民黨的。作為一個能爬到市
委書記崗位的人,我們絕不能小瞧他的智商和能力,一個一直作惡的笨蛋對社會的危害和
一個偶爾作惡的聰明人對社會的危害,那就如拿著ak的伊拉克抵抗者和操著戰(zhàn)斧導(dǎo)彈的美
軍的戰(zhàn)斗力比對。不是一個檔次滴!
也是一個夜晚,市委書記自己開車光臨了市公安局長的家,在這凈秘的夜,他們開了共和
國的先河:上級向下級行賄??30萬美元。我們只能這樣評點:盛怒之下的聰明人是失去
理智的,他們用自己絕佳的才智論證著自己罕見的愚蠢。
“老趙,我知道你是特種兵出身,身手好得很,這次抓捕,你親自帶隊一定要保證成功,
還市里一個安定團結(jié)的大好局面。”公安局長只有點頭。
老蔫家。
唉,老蔫辛辛苦苦修起來的門又壞了,一群特警從各個方向躍了進來,在老蔫的驚恐和絕
望中特警們等待著公安局長的命令,在那么多渴求的眼睛的注視下,局長稍息、立正,然
后有力的行了個軍禮,“首長好!”
當(dāng)他做完這些后,他才意識到呆坐在沙發(fā)上的是他的老上級,看了看老上級住的像鴿子窩
般房子,再看了看神情呆滯的老上級,他真的不敢相信,這就是他的老上級??共和國最
精銳的特種部隊“××”的第一任大隊長(××,國家機密,恕我不能寫出)。
“隊長。”換來的是迷茫的眼神,公安局長的眼睛紅了,他無法把眼前這個人聯(lián)系到當(dāng)年
的偶像全軍的楷模身上…
當(dāng)市委書記在辦公室里苦等消息無果后,他派出了自己的秘書親臨現(xiàn)場,他秘書看到的是
本來去抓捕的特警正在那修門窗,本該進拘留所的老蔫姐夫還呆坐在那,公安局長卻不知
所蹤。
市委書記的肺氣炸了,死打公安局長的手機回音是已不在服務(wù)區(qū)。隨后幾個小時后,省軍
區(qū)。
“還活著!”省軍區(qū)的司令員坐不住了,他站了起來來回的走動著,緊張興奮的搓著雙手
,話也說得結(jié)巴起來了,“你,你,你,給我?guī)б粋€連先回去,死也要把人給我看好了。
”
“回去后立馬整理個材料出來,如果沒出問題人再過來一趟,這30萬美元我替你先交到省
紀委去。”公安局長敬了個軍禮,就要出去,司令員還是不放心,“把人給我看周全了,
千萬別出差錯。”公安局長又敬了個軍禮,“指導(dǎo)員,我保證完成任務(wù)。”兩人都有點傷
感和激動。“去吧,路上小心。”當(dāng)老蔫看到公安局長帶著一隊士兵回來的時候,他自己
也不知道自己該作何想法了,等到那些士兵開始架構(gòu)火力點的時候,他開始掐自己大腿了
,在心中自語道:“要打仗了嗎?”
市委書記的消息也算靈通,當(dāng)30萬美金到了省紀委的時候,他明白了一切,公安局長的那
一句“首長好。”也早已傳遍了大街小巷。
那個家屬區(qū)站崗的軍人小半天功夫在市里已不再是新聞,市委書記癱坐在沙發(fā)上,他在腦
中想象著盤算著,公安局長的車離省城還有多遠,在盤算著省紀委的人什么時候雙規(guī)自己
。
他開始在大腦中幻想起來,要是自己兒子不去調(diào)戲那女孩,要是…但不該發(fā)生的一切都的
發(fā)生了。他便開始幻想起尚未發(fā)生的了,他幻想到了公安局長的車翻出了高速公路,
燃燒了起來…
就在市委書記恍恍惚惚的時候電話響了,電話的那頭急促的說著什么。市委書記癡癡呆呆
地聽著,突然他蹦了起來,恢復(fù)了往常的干練,“什么,你再大聲的說遍。”
電話中斷,接著辦公室響起市委書記的狂笑,“哈,車禍,哈,死了,哈哈…”笑聲中無
盡的是重獲新生的喜悅,市委書記的大腦重新運轉(zhuǎn)起來,他開始細細分析起來。
※※※
新上任的市公安局代局長是市委書記的親信,因為市委書記把他從一個派出所所長直接提
拔成市公安局代局長,只要能讓市委書記滿意,那正式的局長也就是遲早的事。
老蔫居住的那個家屬區(qū)來了一批***,領(lǐng)頭的正是剛上任的市公安局代局長。中國人總是喜
歡感恩圖報的,枉不枉法那就放一邊去了。
面對***的詢問,兩位哨兵嘩得聲拉響了槍栓,當(dāng)***再次詢問時,哨兵便把槍口對向了他
們。***們無奈下離去。(中國軍人最實在,俺佩服。著者語。)
對此,兩位要人一個書記一個局長郁悶了半天,當(dāng)然同時省軍區(qū)的司令員也在郁悶著,他
反映的情況未被省紀委受理,因為他舉報市委書記行賄下級的那個夜晚,一位省主要領(lǐng)導(dǎo)
同志出來證明那個市委書記當(dāng)晚在他家,在加上公安局長出了車禍,死無對證,只能不了
了之。
在省軍區(qū)司令員束手無策的時候,公安局代局長想出了對策,一番耳語讓市委書記感到自
己好運不斷也慶幸起自己沒看錯人。
當(dāng)天夜里,家屬區(qū)發(fā)生火災(zāi),所幸的是那連軍人發(fā)揮了作用,讓家屬區(qū)的居民再次感受到
了解放軍的溫暖。但與居民的喜笑開顏相比對的是官兵們的愁眉苦臉,老蔫一家失蹤了,
隨后該連連長在向軍區(qū)匯報的時候,他在電話這頭切實的感受到了司令員的震怒,“你個
榆木腦袋,我叫你干什么去的?救個火,你就不知道留兩個人,你個2.5基數(shù)急速射也轟不
開的死榆木腦袋,12個小時內(nèi)給我把人找回來,找不回來唯你是問…”
人生地不熟,到哪找啊,可把官兵們愁的,但老蔫一家已成為這個城市的名人,一個看上
去很蔫的中年男人,一個看上去癡呆的中年男人,再加上個異常漂亮的女孩,嘿,老蔫一
家唄。不知道消息怎么傳出來的,但當(dāng)省軍區(qū)的援軍趕到時,那一個連的官兵已把某公安
分局圍個水泄不通。
當(dāng)特種兵們沖進審訊室的時候,老蔫的姐夫呆呆地坐在審訊桌上,地上幾個***被擊昏在那
。特種兵們看著這位傳奇人物,敬仰了半天。
當(dāng)市委書記趕到的時候,軍隊的人已帶著老蔫一家開赴省城了,市委書記得到僅是百姓的
噓聲和雞蛋。
接下來,事情就鬧到了省里,市委書記這邊堅持說是刑事犯,當(dāng)然他得到省里面強力人士
的支持,有點有恃無恐。軍隊這邊說是失蹤已久的戰(zhàn)斗英雄,軍區(qū)司令員好像從沒怕過什
么,因為軍隊里支持著呢,特別是特種部隊那幫孩子,都準(zhǔn)備動手了,24小時整裝待發(fā)。
在省委辦公室里,兩幫人發(fā)生了爭吵,司令員譏笑道:“不就是廢了你兒子嘛,調(diào)戲婦女
婦女未遂的不該打?那叫見義勇為。”
市委書記倒是語氣平常,“且不提他打傷人,據(jù)我所知,他在軍隊的時候不聽令擅自行動
,最后直接失蹤,這樣的人應(yīng)該視作逃兵,送上軍事法庭。”
他這話可激怒了司令員,作為曾經(jīng)一起出生入死的戰(zhàn)友,最忌諱就是自己的戰(zhàn)友聲名被侮
辱,逃兵,可把那火爆脾氣的司令員氣的。他嘩的聲把槍掏了出來,“你再給老子說遍逃
兵試試,信不信老子斃了你個狗的。”
這玩笑可開大了,可把旁邊的政委嚇壞了,連忙奪下槍,安慰道“老李,消消氣,別跟那
王八蛋計較。”聽得某中間派的省領(lǐng)導(dǎo)直搖頭,唉,這批軍隊領(lǐng)導(dǎo)都是越戰(zhàn)下來的,那脾
氣那嘴沒話說他們了。
省里解決不了,只有到中央了,兩幫人搞足材料,開赴北京。
※※※
軍隊的人快了一步,畢竟他們?nèi)ダ鲜组L們那邊方便的很,軍隊里上下級感情很深的,特別
中國的軍隊,那就是父子兄弟。當(dāng)老蔫和菲菲隨著姐夫被帶到一個個軍隊宿老家中的時候
,老蔫第一次見識了自己姐夫真實面目,基本上每一個老將軍都有和姐夫的合影,照片上
的姐夫真是英拔挺立。當(dāng)來到楊得志楊老家時,一直呆呆的姐夫看到楊老??他的老上級
竟回憶起什么,行了個軍禮,并喊了“首長好。”(楊曾任對越反擊戰(zhàn)最前線指揮官)把
楊老感動的老淚縱橫,拿出了與老蔫姐夫的合影,令眾人意外的那是一張三人照,另一人
就是菲菲的姨娘。
老蔫第一次看到了自己老婆姐姐的樣子,很像,她們姐妹倆和菲菲三個人彼此都很像,但
菲菲姨娘的氣質(zhì)最好,僅僅是張照片就讓人的眼睛不忍離去。那樣的女子真是不忍心有絲
毫冒犯和侵犯,要不是親眼所見,都無法想象世間竟有這樣的女子存在。
眾人都被照片吸引了,誰都沒注意到老蔫姐夫的神態(tài),他呆立了半天,漸漸回憶起什么又
抗拒著不想回憶,身體抖動起來,最終無法忍受,一把把照片奪了過來,眼睛貼著照片看
了許久,嘴中發(fā)出嗚嗚的聲音,漸漸變大,最終嚎啕大哭起來。
讓老蔫無法相信,因為他無法想象到一個大男人會這么大聲的哭出來,哭得這么肆無忌彈
哭得這么傷心,因為就他目前了解的情況來說,姐夫應(yīng)該是個鐵漢,鋼鐵鑄就的特種
兵戰(zhàn)士,從血肉到心。
但接著老蔫看到司令員、政委、楊老也跟著哭了出來,同樣的大聲同樣的肆無忌彈同樣的
傷心,“他們該為一件事哭得吧。”菲菲在心中自語道。
支持市委書記的省領(lǐng)導(dǎo)和市委書記灰溜溜回到了省城,因為他們發(fā)現(xiàn)他們面對的是整個中
國軍方,他們雖然得知了老蔫姐夫的一些情況:特種部隊的大隊長,立下些軍功,擅自行
動,最后失蹤,但老蔫姐夫?qū)λ麄儊碚f還是一個迷,因為就是老蔫和姐夫一起生活了十幾
年,姐夫?qū)λ麃碚f也還是個謎,姐夫的歷史好像就是無法揭開鍋蓋的鍋,除了他的戰(zhàn)友,
沒人知道里面是什么。
老蔫一家就暫時住在楊老的家里,楊老對菲菲很是疼愛,因為他以前一直把菲菲的姨娘當(dāng)
自己女兒看待的,菲菲也就能自由出入楊老的書房,那是一個有著溫暖春風(fēng)的午后,菲菲
準(zhǔn)備找些書看看,她一進書房就被桌上一本發(fā)黃薄冊吸引。
那是一本內(nèi)參,有些年頭了,沒有標(biāo)題,一開始就是一個人的簡歷:××,父:×××;
母:×××。我黨歷史上著名的夫妻烈士……曾任國家領(lǐng)導(dǎo)人×××貼身衛(wèi)士,面對越共
特工部隊滲透襲擊,軍委決定組建精銳特種部隊“××”以打擊越共猖狂氣焰,××被抽
調(diào)任命為該部隊第一任大隊長。
看到這,菲菲便知道講的是她姨父了,她便接著往下看了下去。由于出身在武林世家,×
×擅長傳統(tǒng)武術(shù)格斗,迅速培養(yǎng)出一批身手矯捷的特種戰(zhàn)士。
與越共特工相比,我們特種戰(zhàn)士強在徒手格斗能力上,特種部隊“××”的戰(zhàn)士往往能在
伏擊戰(zhàn)中一瞬間徒手格斃越方三名特工,該部隊大隊長××更被越方稱為鐵腿死神,以至
后期越方不可一世的特種部隊往往需要躲著我軍特種部隊行動,在被我軍特種部隊連續(xù)無
情打擊后,越共遷怒與我軍其他部隊,便發(fā)生了“野戰(zhàn)醫(yī)院慘案”。
××××年××月×日,越軍特種部隊襲擊了我×××號野戰(zhàn)醫(yī)院,殘忍殺死我數(shù)百名傷
兵和醫(yī)生,并擄走所有護士。其中一名護士正是特種部隊大隊長××的妻子,越共得知其
身份后,針對性采取了報復(fù)行動。值得一提的是越共對待我軍女戰(zhàn)虜往往是一種號稱“海
豹人”極為殘忍的手段。越共對我軍女戰(zhàn)虜往往采取有計劃的反復(fù)強奸,當(dāng)中國女兵們懷
孕后,便被鋸掉四肢,讓她們僅能像海豹一樣蠕動,越軍籍此取樂。當(dāng)我軍女戰(zhàn)俘絕食求
死的時候,越軍就強行注射葡萄糖,以便交換戰(zhàn)俘的時候交還給我方。
在××的妻子被俘后,我方提出用越方高級戰(zhàn)俘交換,越方并未理睬,而是施以他們一貫
的禽獸行為,并且更加狠毒殘忍,每天鋸下她的肢體的一小截,通過前方哨所送與我特種
部隊“××”,企圖動搖我軍士氣,卻不知激起我全體特種戰(zhàn)士的怒火。
在隨后數(shù)天內(nèi),我特種部隊在大隊長××領(lǐng)導(dǎo)下對越共進行了瘋狂打擊,越共便采取另一
種無恥手段,以××妻子性命作要挾,讓××單人赴死局。雖然××僅僅一人赴約,但越
共設(shè)下的伏擊徒增越特工的傷亡罷了,以至越特工產(chǎn)生恐懼壓力,提到××人人變色,再
不復(fù)初開戰(zhàn)時極端民族主義思想下的不畏生死了,當(dāng)時我軍特種部隊“××”戰(zhàn)士全部陷
入狂怒,每天早上看著越軍送來的慘肢和地址,每天晚上看并等著大隊長××的歸來。
至此前線總指揮部失去對該部隊控制,該部隊瘋狂出擊,過處不留活口,常滲透到越軍后
方數(shù)百里定點清除越高級指揮所,往往在一分鐘之類用無聲武器擊斃所有對手,收繳文件
,隨后實施爆破,據(jù)統(tǒng)計越軍5個師級以上高級指揮所被清除。
另有傳聞越共兩高干在視察前線途中遭遇該部隊,被擊斃,越共高層震動。以至越軍高級
將領(lǐng)提到前線視察,都畏如赴死。都怕遭遇我軍“死神兵團”,越共高層便產(chǎn)生一批反對
黎筍集團的高級干部。
一系列打擊后,越共停止對××的要挾,并在前線通過廣播要求雙方停止特工戰(zhàn),但直到
一個月后,特種部隊“××”攻占距河內(nèi)僅35公里的一個據(jù)點后,我軍才停止特工戰(zhàn)。
“××”大隊長××就在斯役宣告失蹤,據(jù)后來調(diào)查結(jié)果,那個據(jù)點正是敵人虐待我軍女
戰(zhàn)俘的主要據(jù)點,當(dāng)“××”部隊趕到時,××妻子已遭毒手,死狀慘不忍睹。
據(jù)越軍俘虜交待,一切獸行都是在黎筍次子親自命令下干的,在報復(fù)和要挾無望后,越共
把憤恨全出在中國女戰(zhàn)俘身上了,越共運來一桶桶螞蟥,將中國的“海豹人”一個個放入
桶中,直至螞蟥全部鉆進中國女戰(zhàn)俘身體。不敢想象,她們死得時候是何等的痛苦。
那一聲聲刻意壓抑的悲鳴和哭聲,那些嬌柔的女子那些本該竊竊私語歡笑著的女子…
唉,淚流下。
當(dāng)我軍特種部隊攻占該據(jù)點的時候,看到的僅是一具具失去四肢腫脹不堪失去人形的尸體
,當(dāng)時特種戰(zhàn)士們都傻了,他們沒有想到自己善待俘虜換來竟是戰(zhàn)友被這樣對待,都抱著
尸體哭了一夜,據(jù)說這個部隊從此就有了個嚴格執(zhí)行的傳統(tǒng),絕不稱越南人作人的。
××據(jù)說在那哭了一天一夜,抱著自己殘缺不全的妻子,讓所有是配稱人的動物都悲憤流
淚的是他妻子腹腔是割開的…菲菲再也看不下去,在她扔下書時,她的衣服早已哭濕透。
她感到自己好像掉入了漆黑冰窖里,不見燈火也感覺不到絲毫溫暖。
關(guān)于越共對菲菲姨娘的暴行,我不忍心再敘述,當(dāng)天晚上老蔫也知道了,坐在那呆立半天
,楊老怕他也出問題拿了另一份內(nèi)參給他。
這一份是越南特工叛逃過來后交待的材料。越南籍男子×××,原黎筍衛(wèi)士,黎筍集團下
臺后叛逃我國。下面是他交待材料的一部分:“××”大隊長××事在我們特工間一直流
傳,初開始我們都不服中國的“××”部隊,都想上去和他拼一把,畢竟美國的特種部隊
遇到我們也只有敗的份。
但到后來,越來越多特工部隊被“××”打掉了,高層就害怕了,不敢把特工部隊拉上去
硬拼,關(guān)鍵中國人“手太重”,伏擊戰(zhàn)打起來吃虧大都是我們。××的名字我們也就聽多
了,對他又恨又怕,但我們衛(wèi)士中身手好的還是不服氣,但也沒辦法單挑啊。襲擊醫(yī)院那
是違反國際公約的事,但當(dāng)時我們特工隊伍被中國的“××”部隊壓制著打,上頭為出氣
硬下命令。
但沒想到那次竟抓到了××的老婆,黎筍也驚動了,還派了他小兒子親自負責(zé),我們都以
為這次能夠整垮“××”部隊,先是嚇阻卻迎來中國“××”部隊更大規(guī)模的攻擊后來就
抽調(diào)我們衛(wèi)士組的人,準(zhǔn)備去伏擊××,連續(xù)幾批人,都沒回來,也就沒人再敢去了,事
情不了了之了,黎筍的兒子便將那女的“放了風(fēng)箏(剖開腹腔,取出腸頭拴在高處將人扔
下,人在下落的時候,內(nèi)臟被扯出而死。
再后來聽說,中國“××”部隊瘋狂滲透,好幾個高級指揮部被端了,談到“××”和×
×基本上人人變色,接著就有了那一晚,當(dāng)時我們知道中國“××”部隊滲透的利害,加
強了防備,但我們沒預(yù)計到他們會滲透到河內(nèi)來,而且還是一個人。
那晚,正好我當(dāng)正值,貼身護衛(wèi)黎筍,黎筍和他一家子在吃飯,無聲無息的門就開了,當(dāng)
我們都往門口看的時候,一個中國男的出現(xiàn)在黎筍的旁邊,并挾住了黎筍勒令我們把槍扔
出門外,當(dāng)時,我們屋里共有十幾個衛(wèi)士,但都沒發(fā)覺注意到他是怎么進來的,當(dāng)時我心
里就閃了一下,“不會是××吧。”真不敢相信,不談河內(nèi)的防衛(wèi),就是在屋外我們也還
有三百多衛(wèi)士,那是越南最精銳的特工部隊。
當(dāng)槍扔完后,他就用越南語問我們誰是黎筍的次子,我們都沒敢說。就在這個時候,他被
蛇纏住了,那是兩條專門訓(xùn)練的蟒蛇,專門訓(xùn)練出來護衛(wèi)黎筍的,我曾看過這兩條蛇生生
勒死過一頭水牛,都以為制住他了,黎筍的次子就站了出來問他是誰。
他說他是××要為自己的老婆報仇,我們都笑了,蟒蛇越縮越緊,他一會就得被勒死,都
在看著他死,黎筍的次子笑得最大聲,畢竟一直殺而不死的敵人自己送上門來了。就在我
們以為他死定的時候,蟒蛇被他用手撕裂了,我們以前得到資料,××都是用腿的,沒想
到他的手比腿還厲害,那可是兩條巨蟒啊,沒有槍我們十幾個衛(wèi)士就上去硬打了,關(guān)鍵我
們當(dāng)時都以為他是潛進來的而沒想到他是殺光外面的人才進來,誰會這么想啊,三百多最
精銳的特工,一個人殺!還以為十幾個人能制服他,畢竟我們是越南身手最好的一批人。
都是一下子,現(xiàn)在回憶起來都后怕,都是被踢被打在腦殼,踢的還好直接死掉,被手打到
的一下子腦殼就碎了,上去幾個就碎幾個,我們一看就知道不妙了,那哪還是人啊!趕忙
護著黎筍從暗門走了。
黎筍的次子沒走得掉,暗門關(guān)上的那刻,大廳里就剩下他倆了,××的眼神我瞥見了,那
就是死神吶!
第二天,等我們回去的時候才發(fā)現(xiàn),外面的三百多衛(wèi)士全死光了,黎筍的次子尸體則是直
接找不到了,最后算尸體的時候,才發(fā)現(xiàn)多了塊肉泥,團在某個墻角,這時我們才注意到
那面墻上全是肉沫和血跡。看了沒有不吐的,那天的當(dāng)值的衛(wèi)士后來大都不干了,黎筍聽
說他兒子死的慘狀也就被嚇出毛病來了,直接到后來不敢出地下室半步,越共中央一批人
便奪了權(quán)。
老蔫看完默然無語,楊老緩緩的說道:“當(dāng)時,我們看到內(nèi)參的時候,政治局的和軍委的
同志很多都哭了,你姐夫父母是我們黨一對著名的烈士,再加上你姐夫倆口子,唉,傷心
吶,你姐夫后來沒了音訊不知生死,我們部隊在邊界等了近10年啊,沒辦法,最后中央秘
密的開了會。”
“97年鄧老臨走前,曾捶床長嘆他平生的遺憾,其中就有沒能見到你姐夫的遺體,不知他
的生死,鄧老這樣說的,‘他父母為黨犧牲,他夫妻倆為國捐軀,他還曾救過我們的××
×同志,這個家庭我們黨虧欠的太多!’‘我們國家不妄自開戰(zhàn),不逼不得已不要打,但
是打了就要狠狠的打,讓它痛上個三十年,要不怎能對得起像××這樣的烈士家庭!’”
……菲菲大學(xué)里談了個男友,帶回來見家長,中午,飯桌上
菲菲說道:“夏隕,給姨父敬酒啊。”菲菲男朋友斟滿酒,敬上,“怎么是水啊?”
菲菲含著淡淡憂愁與傷心的回道:“這不是水,是愛情的眼淚!”
生活就像是強奸,如果你無力反抗的話,那就干脆閉上眼睛好好的去享受吧…而工作就好像是輪奸,如果自己干不完,那就換別人接著干吧。
[原創(chuàng)]在VC中徹底玩轉(zhuǎn)Excel如今Excel是越來越重要了,在我們自己開發(fā)的程序中不免要和Excel打交道了。利用Automation技術(shù),我們可以在不去了解
數(shù)據(jù)庫的情況下玩轉(zhuǎn)Excel,而且你會發(fā)現(xiàn)一切竟如此輕松!
好了,咱們開始吧,我不喜歡用長篇累牘的代碼來故弄玄虛,所以下面的代碼都是切中要害的片段,總體上是個連貫的過程,
包括啟動Excel,讀取數(shù)據(jù),寫入數(shù)據(jù),以及最后的關(guān)閉Excel,其中還包括了很多人感興趣的合并單元格的處理。
特別說明以下代碼需要MFC的支持,而且工程中還要包含EXCEL2000的定義文件:EXCEL9.H,EXCEL9.CPP
*****************************************************************************************************************
//*****
//變量定義
_Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
Range range;
Range iCell;
LPDISPATCH lpDisp;
COleVariant vResult;
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
//*****
//初始化COM的動態(tài)連接庫
if(!AfxOleInit())
{
AfxMessageBox("無法初始化COM的動態(tài)連接庫!");
return ;
}
//*****
//創(chuàng)建Excel 2000服務(wù)器(啟動Excel)
if(!app.CreateDispatch("Excel.Application"))
{
AfxMessageBox("無法啟動Excel服務(wù)器!");
return;
}
app.SetVisible(TRUE); //使Excel可見
app.SetUserControl(TRUE); //允許其它用戶控制Excel
//*****
//打開c:\\1.xls
books.AttachDispatch(app.GetWorkbooks());
lpDisp = books.Open("C:\\\\1.xls",
covOptional, covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional );
//*****
//得到Workbook
book.AttachDispatch(lpDisp);
//*****
//得到Worksheets
sheets.AttachDispatch(book.GetWorksheets());
//*****
//得到當(dāng)前活躍sheet
//如果有單元格正處于編輯狀態(tài)中,此操作不能返回,會一直等待
lpDisp=book.GetActiveSheet();
sheet.AttachDispatch(lpDisp);
//*****
//讀取已經(jīng)使用區(qū)域的信息,包括已經(jīng)使用的行數(shù)、列數(shù)、起始行、起始列
Range usedRange;
usedRange.AttachDispatch(sheet.GetUsedRange());
range.AttachDispatch(usedRange.GetRows());
long iRowNum=range.GetCount(); //已經(jīng)使用的行數(shù)
range.AttachDispatch(usedRange.GetColumns());
long iColNum=range.GetCount(); //已經(jīng)使用的列數(shù)
long iStartRow=usedRange.GetRow(); //已使用區(qū)域的起始行,從1開始
long iStartCol=usedRange.GetColumn(); //已使用區(qū)域的起始列,從1開始
//*****
//讀取第一個單元格的值
range.AttachDispatch(sheet.GetCells());
range.AttachDispatch(range.GetItem (COleVariant((long)1),COleVariant((long)1)).pdispVal );
COleVariant vResult =range.GetValue();
CString str;
if(vResult.vt == VT_BSTR) //字符串
{
str=vResult.bstrVal;
}
else if (vResult.vt==VT_R8) //8字節(jié)的數(shù)字
{
str.Format("%f",vResult.dblVal);
}
else if(vResult.vt==VT_DATE) //時間格式
{
SYSTEMTIME st;
VariantTimeToSystemTime(&vResult.date, &st);
}
else if(vResult.vt==VT_EMPTY) //單元格空的
{
str="";
}
//*****
//讀取第一個單元格的對齊方式,數(shù)據(jù)類型:VT_I4
//讀取水平對齊方式
range.AttachDispatch(sheet.GetCells());
iCell.AttachDispatch((range.GetItem (COleVariant(long(1)), COleVariant(long(1)))).pdispVal);
vResult.lVal=0;
vResult=iCell.GetHorizontalAlignment();
if(vResult.lVal!=0)
{
switch (vResult.lVal)
{
case 1: //默認
break;
case -4108: //居中
break;
case -4131 : //靠左
break;
case -4152 : //靠右
break;
}
}
//垂直對齊方式
iCell.AttachDispatch((range.GetItem (COleVariant(long(1)), COleVariant(long(1)))).pdispVal);
vResult.lVal=0;
vResult=iCell.GetVerticalAlignment();
if(vResult.lVal!=0)
{
switch (vResult.lVal)
{
case -4160 : //靠上
break;
case -4108 : //居中
break;
case -4107 : //靠下
break;
}
}
//*****
//設(shè)置第一個單元格的值"HI,EXCEL!"
range.SetItem(COleVariant(1),COleVariant(1),COleVariant("HI,EXCEL!"));
//*****
//設(shè)置第一個單元格字體顏色:紅色
Font font;
range.AttachDispatch(sheet.GetCells());
range.AttachDispatch((range.GetItem (COleVariant(long(1)), COleVariant(long(1)))).pdispVal);
font.SetColor(COleVariant((long)0xFF0000));
//*****
//合并單元格的處理
//包括判斷第一個單元格是否為合并單元格,以及將第一個單元格進行合并
Range unionRange;
range.AttachDispatch(sheet.GetCells());
unionRange.AttachDispatch(range.GetItem (COleVariant((long)1),COleVariant((long)1)).pdispVal );
vResult=unionRange.GetMergeCells();
if(vResult.boolVal==-1) //是合并的單元格
{
//合并單元格的行數(shù)
range.AttachDispatch (unionRange.GetRows ());
long iUnionRowNum=range.GetCount ();
//合并單元格的列數(shù)
range.AttachDispatch (unionRange.GetColumns ());
long iUnionColumnNum=range.GetCount ();
//合并區(qū)域的起始行,列
long iUnionStartRow=unionRange.GetRow(); //起始行,從1開始
long iUnionStartCol=unionRange.GetColumn(); //起始列,從1開始
}
else if(vResult.boolVal==0)
{//不是合并的單元格}
//將第一個單元格合并成2行,3列
range.AttachDispatch(sheet.GetCells());
unionRange.AttachDispatch(range.GetItem (COleVariant((long)1),COleVariant((long)1)).pdispVal );
unionRange.AttachDispatch(unionRange.GetResize(COleVariant((long)2),COleVariant((long)3)));
unionRange.Merge(COleVariant((long)0)); //合并單元格
//*****
//將文件保存為2.xls
book.SaveAs(COleVariant("C:\\\\2.xls"),covOptional,covOptional, \\
covOptional,covOptional,covOptional,0,\\
covOptional,covOptional,covOptional,covOptional);
//*****
//關(guān)閉所有的book,退出Excel
book.Close (covOptional,COleVariant(OutFilename),covOptional);
books.Close();
app.Quit();
*****************************************************************************************************************
作者 :龔敏
Email : truetable@truetable.com
主頁 :http://www.truetable.com
先給適當(dāng)獎勵,本想加入精華,但那樣剛到明經(jīng)的朋友就看不到了,過段時間再說吧。
關(guān)于excel.h和excel.cpp,要注意版本問題.
比如對excel xp, 類庫是直接包含在excel.exe中. 因此你只要用加入類(add class)的方法,直接選中excel.exe,并選擇對話框中的常用的幾個類(如Rang)就可以編程了. 千萬不要選所有的類,否則太大了.
修改字體顏色的那段漏了一句,應(yīng)為:
//*****
//設(shè)置第一個單元格字體顏色:紅色
Font font;
range.AttachDispatch(sheet.GetCells());
range.AttachDispatch((range.GetItem (COleVariant(long(1)), COleVariant(long(1)))).pdispVal);
font.AttachDispatch (range.GetFont ());
font.SetColor(COleVariant((long)0xFF0000));
如果,程序既要安裝在2000的計算機上,也可能安裝在XP的機子上,有的用戶還用97,(指的都是office),可能會出現(xiàn)版本問題------其中比較麻煩的是--在app.quit()后,仍舊存在excel進程,如果這樣?怎么解決?
請教高手,能否用vb控制excel做成dll,在arx中進行調(diào)用,因為畢竟vb與excel親切
如果,程序既要安裝在2000的計算機上,也可能安裝在XP的機子上,有的用戶還用97,(指的都是office),可能會出現(xiàn)版本問題------其中比較麻煩的是--在app.quit()后,仍舊存在excel進程,如果這樣?怎么解決?
兼容性問題:
office2002-office97是向下兼容的,只要你不使用office2002中的新特性,程序在這些office版本中都好用
Excel程序不能退出的問題:
1 . 不要使用#import導(dǎo)入類型庫,如:#import "c:\\excel\\excel.olb"
2 . 程序結(jié)束時,確保所有IDispatch都釋放了,如:app.ReleaseDispatch ();
還是不明白如何得到excel.cpp和excel.h這兩個文件,請指教
有版本問題時,可以加一個判斷:1、首先通過 exlApp得到版本,比如9.0,10.0,11.0,10.0以后的版本注意open函數(shù)的參數(shù)為15個,即最后在增加兩個covOptional,即可,另外,補充一下,判斷當(dāng)前是否有excel應(yīng)用程序在運行,使之更舒服一些:
::CLSIDFromProgID(L"Excel.Application",&clsid); // from registry
if(::GetActiveObject(clsid, NULL,&pUnk) == S_OK)
{
VERIFY(pUnk->QueryInterface(IID_IDispatch,(void**) &pDisp) == S_OK);
ExcelApp.AttachDispatch(pDisp);
pUnk->Release();
}
else
{
if(!ExcelApp.CreateDispatch("Excel.Application")) {
AfxMessageBox("Excel program not found");
return 0;
}
}
高手,真的厲害
支持原創(chuàng)!!!
在vc中怎樣添加excel的sheet呢?請教。
請問各位高手,從哪里得到Excel.cpp Excel.h?
請問各位高手,從哪里得
Excel.cpp和Excel.h是從Excel的類型庫中獲取的,類型庫類似C++中的頭文件,包括接口,方法,屬性的定義;類型庫在Excel的安裝目錄可以找到,Excel的版本不同,這個類型庫也不一樣,如下所示:
Excel 95 and prior : xl5en32.olb
Excel 97 : excel8.olb
Excel 2000 : excel9.olb
Excel 2002 : excel.exe
具體的獲取方法:
1 . 使用VC++新建立一個基于MFC的EXE工程
2 . 點擊菜單"查看"-->"建立類向?qū)?,此時會彈全"MFC ClassWizard"對話框
3 . 點擊"Add Class"-->"From a type libray",指定Excel的type libray,在Excel的安裝目錄下可以找到,如:"D:\\Microsoft Office\\Office\\EXCEL9.OLB"
4 . 在彈出的對話框中選擇所需的類,按"確定",Excel.cpp和Excel.h就產(chǎn)生了。
lpDisp = books.Open("C:\\\\1.xls",
covOptional, covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional );
編譯顯示錯誤:
error C2660: 'Open' : function does not take 13 parameters
請問怎樣才能增加一個工作表?
Workbooks.AttachDispatch(ExcelApp.GetWorkbooks());
Workbook.AttachDispatch(Workbooks.Open(FileName,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional,covOptional, covOptional));
Worksheets.AttachDispatch(Workbook.GetWorksheets());
Worksheet.AttachDispatch(Worksheets.GetItem((COleVariant((long)1))));
Range.AttachDispatch(Worksheet.GetCells());
iCell.AttachDispatch(Range.GetItem(COleVariant((long)2),COleVariant((long)2)).pdispVal);
vResult = iCell.GetMergeCells();
if(vResult.boolVal == -1)
{
AfxMessageBox("Yes");
Range.AttachDispatch(iCell.GetRows());
long row_num = Range.GetCount();
Range.AttachDispatch(iCell.GetColumns());
long col_num = Range.GetCount();
CString str;
str.Format("%d×%d",row_num,col_num);
AfxMessageBox(str);
}
請教:為什么str得到的結(jié)果都是1×1?(求合并單元格的原始行數(shù)和列數(shù))。
謝謝。。。。。。。。。。
首先你的Cells(2,2)是否處于合并單元格中
其次,你缺少了個關(guān)鍵語句:iCell.GetMergeArea()),你可以參考下面的語句
Range UnionRange;
UnionRange.AttachDispatch(iCell.GetMergeArea()); //先要獲取合并區(qū)域
range.AttachDispatch (UnionRange.GetRows ());
long iRowNum = range.GetCount(); //合并單元格行數(shù)
range.AttachDispatch (UnionRange.GetColumns ());
long iColNum = Range.GetCount(); //合并單元格列數(shù)
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(7)
隨筆檔案
搜索
最新評論

- 1.?re: [轉(zhuǎn)]在VC中徹底玩轉(zhuǎn)Excel
- 評論內(nèi)容較長,點擊標(biāo)題查看
- --Kerwin
- 2.?re: [轉(zhuǎn)]在VC中徹底玩轉(zhuǎn)Excel
- Range是抽象類怎么可以定義呢???
- --外文系
- 3.?re: [轉(zhuǎn)]在VC中徹底玩轉(zhuǎn)Excel
-
謝謝樓主,我有個問題是如何將一幅圖填入excel一個單元格中。
liu_shenglun@126.com - --lesheng
- 4.?re: 主題:三國十大帥哥
- 評論內(nèi)容較長,點擊標(biāo)題查看
- --魔獸私服
- 5.?re: [轉(zhuǎn)]在VC中徹底玩轉(zhuǎn)Excel
- 小說文筆灑脫靈秀,情節(jié)跌宕起伏,人物復(fù)雜逼真..
- --魔獸私服