2011年10月26日 星期三

轉載:郭雲深秘傳形意拳下勢樁/風雲生


轉載:郭雲深秘傳形意拳下勢樁/風雲生

轉載:郭雲深秘傳形意拳下勢樁/風雲生

雲深祖師是中國近代武術史上一位極重要的人物,在拳學修為上有極深的造詣,實戰功夫驚人,在舊時代的武林中有“半步崩拳打遍天下”的美稱,人皆尊之為拳學“巨擘”!遺憾的是,近些年在武術界除大成(意拳)一系外,幾乎沒聽說有郭祖的傳人以及後代弟子公開傳藝,難道一代宗師的武學成就就失傳了嗎?我 1999 年開始接觸到區域的傳統武術,跟隨齊齊哈爾的楊輝先生學習形意拳。入手學習的第一項內容為下氣樁,沒想到的是,一向體弱多病的我,下氣樁一站立即感覺胸口有一氣柱,緩緩下沉於丹田......此後的兩年中,我基本沒有生病,而且暈車的毛病不治而愈......是什麼功夫如此神效,且立竿見影呢 ?據楊輝先生所說,這是郭雲深祖師所傳授形意拳的下氣樁!

據師門傳說,太師爺是河北深縣人,自幼體弱多病,二十幾歲的時候還肩無法扛、手不能抬、頭疼腦痛時常來,且家中貧困,不但無錢求醫,就是生活都難以維持。一次郭雲深祖師路過太師爺的家,並在其處留宿,太師爺談起自己飽受疾病之苦。在郭祖指點下,立志以武強身,並得以留郭祖處小住,得到一些傳授。當時的太師爺從未接觸武術界的人與事,並不了解郭祖的武學成就與名望,只為一股求生的欲望,用功勤奮,很快就有了收穫,此後的漫長歲月裡,太師爺不但不再生病,且力大無比。能夠做工養家。在戰亂的年代,太師爺於兵慌馬亂中數次死裡逃生,都是因其身俱武藝。在其晚年,社會趨於安定,太師爺開始與武林人士接觸,才知道郭雲深祖師的來歷,以及在武學上的成就與聲望。偶與人動手試藝,則有勝無敗,逐漸成了鄉裡與家族中小有威望的長者。太師爺晚年感郭祖傳藝之德與再造之恩,在家族中挑揀了師爺作為傳人,從小培養,並叮囑師爺將所學傳下去,為郭雲深祖師傳名!

師爺是家庭中後輩中最伶俐、最懂事,也最受寵愛的孩子,在五六歲的時候就被太師爺選中,接到家中培養,其青年時代,為完善所學,又常年奔於山西、河北、京津之間,訪求明師(師爺一生經歷很難考證,但以其寥寥數語留下的線索看,他所學所訪求的,除了受到宋氏後人於《內功四經》上的指點外,基本都是郭祖在山西、河北所傳的傳人以及後人)。大概在“文革”初期,其不知為何,心灰意冷,流落東北,在黑龍江省尚志某鄉村一好心的老支書輔助說明下落戶,從此以務農為業。其晚年以種地、授徒、訪友為樂。我師楊輝,是師爺晚年打服的弟子。大約 1999 年 9 月底老人突發疾病,臥床不起,水米不沾,三日後竟不藥而愈,此後一個月,老人分別向弟子交代後事,在為眾弟子講解武學疑難後,獨自遠行,不知所蹤,三年後,逝於山西某古剎,走完了其傳奇的一生。

楊師自小習武,八歲築基,十三歲正式拜師,對百家拳法都有涉獵,尤精北派實戰形意拳法,一次在齊齊哈爾和平廠小花園練形意拳(這個小花園是尚氏形意拳傳人李文彬前輩授拳的地方)有一位老爺子駐足觀看,驚訝道: “現在很少有這麼練拳的啦!”楊師停下與老人攀談,開始時談得投機,可談得多啦,楊師對老人一些見解不甚贊同,於是老少二人試起手來 ,老人輕描淡寫,便將當時在社會上有一定名氣的楊師打得一溜跟頭,最後老人說,大道平常,你同意,則咱們有緣,你可以到尚志某地找我,不同意,則緣盡於此......楊師在極度沮喪中度過了三天,然後下定決心,到尚志求師,一學就是三年。

楊師初入師爺的門下,心情很忐忑(因為初遇師爺的那一次,偷襲過師爺,怕師爺怪罪,不教他真東西),當時師爺教他第一個樁是四平馬步的下氣樁,而他的師兄們都在站三體式,於是他向師爺提出質疑,要求站三體式,師爺毫不猶豫地同意啦,但楊師站三體式的時候,師爺走到他身後,不知怎麼地按了按他的肩,力量並不大,很輕,但楊師卻一屁股坐倒在地.起來再站,再按,還是一屁股坐倒,如是三番,楊師老老實實地開始站起了馬步下氣樁,師爺也詳細講解要領,悉心傳授,大約七八個月後,再站三才樁,任師爺怎麼按也不再坐倒,從此功夫進步神速。我與楊師結緣是由我弟弟介紹的,楊師與我弟弟開始是因為交換武術資料而結識,後來聽說我學習盧氏架構武學,是盧氏武學再傳弟子,便開始了交流。當時我弟弟問我練拳的體會,我說,要麼是按科學的方法練拳,要麼是按傳統的秘要練拳,因為當時楊師的觀點是 “古規武學”,即按最傳統的方法練拳,所以我又補充了一句說,你完全可以跟楊師學習......

一個多月以後,再與弟弟見面才知,他果真開始跟楊師學拳啦,他一跟我說明學練下氣樁的感受,我立即意識到這是傳統武學的真傳,於是第一時間聯繫楊師,向其求教。當時只是試着站了一站,只一站就感覺胸口有物下沉。應該說我站下氣樁的效果比弟弟的效果差很多,楊師認為我體質不敏感,沒想到的是,當年這麼簡單的站了站,其後效應十分驚人。當年的我體質很弱,雖練了幾年的散手搏擊與氣功,卻沒有從根本上獲得體質的改善。單說暈車吧,當年我坐汽車,火車都嚴重暈車,從我家到楊師家,要倒一次汽車,總計坐車約70分鐘,十分遭罪,可自從第一次在楊師家站下氣樁至今,我再也沒暈過車,以前感冒一次要難受十幾、二十天,從站下氣樁後的三年中都沒再有頭疼腦熱......

下氣樁,又稱下勢樁。楊師在追隨師爺學藝的時候,所有功夫都是口傳身授,並無文字資料,同時師爺的發音有很重的河北口音。師爺將此一樁功稱為下“勢”樁,但這個“勢”的具體寫法,楊師當年不敢問,教我的時候則稱為“下氣樁”。楊師第一次授我功夫時說,形意拳樁功有兩大體系,一日三體,二日渾圓,而這四步下氣樁便是渾圓樁體中的入手功夫。最近,他又將下氣樁的四步訓練單獨提煉出來,形成一個相對獨立的 (暗勁)功力訓練體系。大約在2002 年,我拜一位武術名家為師,曾向師父演示下氣樁,師爺非常肯定地說這是少林功夫。之後我同楊師探討,據楊師說,師爺很少提他的一生經歷,但在臨走前,曾將太師爺所傳內容,以及師爺自己武學修煉與教學形成的體系有明確交代,下勢樁是太師爺當年修煉賴以治病強身的法門,而太師爺終其一生,只跟郭雲深祖師一個人學過功夫,所以下勢樁肯定是郭祖親傳。

其實,就我個人意願,我早幾年就想將下勢樁整理發表,讓更多人受益,也可以以此聯絡郭祖的後世傳人,以便求教。可師爺給我留下很多謎團,我追索幾年也無法解開,這個下勢樁的來歷究竟如何呢......開始的時候,我認為一個功法如果無法說明來歷,是不可以使人信服的。可去年,應朋友之邀,我曾在網路上的中華國術論壇網站的武術發展論壇將下勢樁的第一步方法公開,並在兩小時後移除,僅僅兩小時,有緣看到功法的幾個朋友紛紛回帖說有了感覺,時至今日,仍有朋友對我贊嘆這一功法的效果......近幾年來,我也曾引介幾位朋友跟楊師學此樁法,他們皆產生極佳效應,所以我想開了,說不清功法的來歷便說不清好啦,要知道梨子的滋味,還是不要說,讓人自己去嘗試,得到的認識不是更真實嗎 ?所以我將下勢樁第一步方法介紹如下:

下勢樁,就其樁架外形而言,是極其簡單的,就是雙手合十的四平大馬步樁功。它與所有的內(氣)功修煉方法都一樣,都有三大要素,那就是三調:調身、調息與調心,也就是身形間架、呼吸、意識這三方面的調整,內家拳之修煉,基本都以形正氣順,氣順則神明的程序進行修正,下勢樁也不例外,它的第一步修煉主要是通過身形的調整,使人零亂的內氣收聚於丹田。

下勢樁的外形就是雙手合十的四平大馬步樁那麼簡單。但早些年幾乎所有的武術書籍上的四平大馬步樁都要下幾年的功夫,從沒聽說有人能在幾分鐘內氣沉丹田(如果用氣功的方法訓練,最快的也要在 7 到 100 天內練出丹田之氣)。為什麼下勢樁卻可以立竿見影呢?其秘密還是在身形間架的調整上。

首先是頭,頭要領,頭部的要領又稱頂勁或虛靈頂勁。說白了,就是頭要統領全身,要有略微上頂的意勁。太極拳訣曰,尾閭中正神貫頂,滿身輕利頂頭懸是也,但為什麼又有靈與領兩種不同的說法呢?其實領是動作,靈是火候。如果脖子硬是挺拔頭上頂,那麼練靜功時氣沖頭部,使人興奮失眠,久之成病,練功打拳發力時則會震蕩大腦,傷害身體,所以一個頂字,火候很重要,無法丟也無法過,具體要領則很簡單,下頦略收就可以。

其次是肩,肩要合,內家拳中之肩,而是抬人的肩胛骨。人的兩肩胛骨略外張而前合,為合肩,拳法中也有說“含胸”的要領,其實與合肩是一回事。

其後是背,背要靠,背在內家拳中指人肩胛之下與命門之上的部分,它的具體要求一般是後靠,久練都可以龜背行氣。

再後是腰,腰要空,腰在內家拳中主要指命門處的腰椎,通過背與胯的各部要領,使人命門處腰椎向前的生理彎曲拉直,形成命門後凸的意勁則可,又稱為塌腰。

然後是胯,胯要坐,這裡的胯,不僅是指人的兩胯,而是指人的骨盆,以及命門以下的脊椎。坐胯又可說為圓襠,後面還會有詳細解說。

最後是人的手心,足心要空,也就是說手心,足心要含空。

以上的六要,修煉者要有明確的認識,千萬不可以鬍子眉毛一把抓。

楊師傳授我的時候 ,很多時候背手而立,看着我,笑瞇瞇地說,胸再含進出一點,胯再坐下一點,我馬上就有了強烈的感覺。讀者們要通過文字來學習下勢樁,或者學一切樁、拳就必須把自身弄分明,例如說,你背後靠一點,你說整個上身後傾;或說你胯再坐一點,你就蹲身體......這些地方就是初學者不得要領,出不了功夫的關鍵,所謂真傳或說科學,無非是這些調整身體的要領。

可以肯定並負責地說,如果你學會了調身,無論是打拳站樁,只要坐胯與含胸,必可馬上“氣沉丹田”。問題在於如何做到含胸與坐胯?含胸相對簡單,只要人的兩個肩胛骨略外張而前合,那麼也就達到了含胸的要求。反而是坐胯相對難一些,我曾將一個學生送到楊師門下學習,無論怎麼教他,都無法理解要領,最後楊師將家中一個細鋼筋焊就的農家常用的臉盆架放在他屁股下,板臉警告說,別坐壞了,坐壞你賠!他戰戰兢兢地一坐,馬上就感覺內氣順暢達於丹田......

所謂坐胯,坐字是一個關鍵,過去太極拳有坐着打拳之說,可以說不坐就沒有丹田,沒有整勁。要說坐,誰都會坐,可大家看看那些練拳的,尤其是形意拳家的照片,過去的名師、名家無不 “坐”着,而當代很多名家是“站”着打拳的......那麼何為坐?一般初學者習慣將坐與蹲弄混,卻不知過去的師爺在寫譜時用字十分考究,坐與蹲是不一樣的,蹲是下肢的動作是膝蓋與腿的夾角變了,而坐是身體軀幹的動作,腿上是沒有變化的,大家想想看,你坐在凳子上的時候,我們會重得將凳子坐變形或降低高度,最後導致膝關節角度發生變化嗎?肯定不會!所以說,坐胯的時候不可以屈腿,而是由雙腿承托,上身向下鬆沉,形成“坐”的動作。或者換一個說法,你不妨把坐胯的要求理解為下身要下沉下坐,而下肢雙腿卻欲起的這麼個矛盾狀態!

再次強調,內家拳練功要進步快,必須要把人全身各處要領弄分明,先把局部弄分明,再依照要求來求得局部與局部的最佳配合關係,得到整體效果,則功夫進步神速。如果讓你坐,你去蹲;讓你靠,你卻坐,這樣虛實不分,要領不明,那麼你也只能在漫漫苦海中耗時間,把你耗得精疲力竭。不得不在師爺眼皮子低下找偷懶的竅門,一邊偷懶,一邊偷眼瞄着師爺,師爺大喝一聲“站那”你一機靈,一提神,一下子入了道,找到了勁啦......在某大師回憶錄裡把這種累傻小子的教育方法講得很神,其實你也就是個傻小子。

言歸正傳,下勢樁就是雙手合十的四平大馬步樁,倘若明白了要領,那麼樁架高低,雙腳間距大小,跟練功效果關係也就不大啦。站的時候,以四平馬步站立,雙腳要平行站立,雙手於胸前合十,虛靈頂勁、含胸、坐胯。注意雙肩鬆沉,雙肘有前合之意,而合十的雙掌則力量有分開之意,此外,將全身力量前傾,重心落於前腳掌上 (膝與地面的垂線不可以過腳尖)。同時背部後靠,整體之前傾與背部後靠形成微妙的平衡,則足心自然含空;如此,全身放鬆靜心體會,此為下勢樁之第一步練法!

下勢樁是我所學的郭雲深系形意拳暗勁訓練體系中的調氣訓練。其方法是先以內功樁法培養出極渾厚的內氣感,然後以極緩慢的速度慢練五行拳,在行拳中調氣,修煉內三合 (心與意合,意與氣合,氣與力合),在內功與樁法部分,訓練內容是下勢樁的聚氣,養 (煉)氣 、行氣、貫氣四步功,以上公開的為第一步預聚氣功,可以讓人感覺胸口有氣下沉,從而達到心腎相交,水火既濟的練功、養生、強身的功效,僅僅是一步,已妙用無窮。

以上公開的方法中還包含有第一步功的深入修煉內容,悟性好的朋友除了感覺有氣下沉外,還應有丹田發勢的效果,這些效果的達到是伴隨練功要領的正確程度出現的,跟你練功時間沒關係。按這樣的進度大約修煉半個月左右,可進行第二步養氣 (煉氣)訓練,配合呼吸激發人內在潛力,丹田與手心,足心灼熱如火,而第三四步則在獨特的呼吸配合下,以身體細小如蟲蠕的動作行氣,達到疏筋貫氣的功效。如果人能真正掌握了第一二步的訓練,再練第三四哪怕是第一次修煉,也可以明顯感覺身體內如同溫水沖刷一樣,內在感覺隨人外形的微動而似水銀瀉地......以上的功效與人練功時間長短無關,全在乎對要領的掌握,在此基礎上再練五行拳,則體內如暗流涌動,奔騰不息。

下勢樁不要求人苦練,初學時間應為三五分鐘,隨功力加深逐漸增加到早晚各一次,每次十五分鐘的訓練量即可。我弟弟當年只學第一步功,但他同時還站三體樁,大約 25 天以後,發覺自己雙腿脛骨上騰起一層膜,用手按、捏感覺內裡有韌感、滑動感,如捏在泥鰍上 。

下勢樁第一步練法簡易,無須配合呼吸與意念,抓住要點者,效果立竿見影,絕無偏差,而以後幾步則須有師父傳授,所以這裡只介紹第一步練法。以此拋磚引玉,希望同門前輩指導,也希望廣大同道結緣,並批評指正。

2011年9月29日 星期四

在檔案總管按滑鼠右鍵彈出的選單變很久很慢

引用:http://learnrpgblog.blogspot.com/2011/01/blog-post_15.html

2011年1月15日星期六

在檔案總管按滑鼠右鍵彈出的選單變很久很慢

關鍵字:檔案總管 滑鼠右鍵 彈出 popup menu context 選單 很久 很慢 long time

我記得很久以前 五六年前有遇過這個問題 以前不以為然想說隨便 不久後重灌就沒遇到了
沒想到這幾天電腦又出現這個似曾相識的問題 就想說解掉好了



找了 google 中文都找沒資料 用英文 right click mouse long time 去找
果然找到一堆 ...
各式各樣的解法都有 我找到一個 http://labnol.blogspot.com/2005/09/right-click-taking-long-time-read.html
主要就是有個錯誤的context menu handler,我們在滑鼠右鍵按下去會出現很多相對應的功能, 例如你裝了 winrar,然後這個程式就會幫你裝一個shell extensions到系統中,以後你對檔案按右鍵就有壓縮的功能出現在這,當然 一個作業系統用下來,你自己又安裝了很多應用程式,shell extensions 會越來越多,有可能其中一個出了問題,就導致變慢了

網頁提到的解法就是要一個一個去 Registry Editor 改,當然這太累了,所以提供一個小程式連結給大家用http://www.nirsoft.net/utils/shexview.html
這小程式就是提供顯示電腦所有的 shell extensions 並且簡單的開啟關閉他
The ShellExView utility displays the details of shell extensions installed on your computer, and allows you to easily disable and enable each shell extension.

安裝好後就先全部 disable 掉 再去按右鍵看有沒有速度變正常 有的話就繼續用二分法一次關一半看看 然後慢慢逼近到底是哪個變慢 例如我電腦就是這個程式 DesktopContext Class


關閉後到這邊速度就不會變慢了
那在繼續追根究底一下
按右鍵選 Properties

看到檔案名稱是 C:\WINDOWS\system32\nvcpl.dll
nv 開頭大概就是 nvidia 的程式吧 檢查一下看看 拿 DesktopContext Class 去搜尋
大部分裡面的人都說 nvcpl.dll 這是 nvidia 的程式 沒問題不是病毒
但有個 Emre 的人就說到了
This is the essential driver for nvidia FX series cards but the bundled class, called DesktopContext Class, sometimes crashes Win XP (SP2) when you right click anywhere on the screen (or sometimes when you try to copy/paste files from one folder to another). The screen freezes and computer hangs for a few hours. Best solution is to download ShellExView (see the link) and disable DesktopContext Class. This error is not commonly reported but it happens in some Acer laptops. See also: Link

看起來我的解法算是還 OK 的 上面說的我也有遇到 不只右鍵變慢 連複製貼上檔案到另外一個目錄也是變慢(出現滑鼠漏斗但是要等一下才會開始複製)


然後我回桌面按右鍵也變慢 看起來是 NV View 的 shell extensions 那就一起關掉吧
反正沒在用 關掉 nVuiew Desktop Context Menu


好 如果還遇到不少地方變慢 那可能還有原因沒找到 不是 nv 系列出問題這麼單純了

解決開啓資料夾要很久很慢的問題

引用: http://roy2006tw.blogspot.com/2008/05/xp.html


如果在檔案總管中開啓資料夾要等很久,可以試試以下幾種方式:

1. 停止 Windows Image Acquisition (WIA) 服務

2. 修改 Registry,增加資料夾檢視 BagMRU Size,將以下文字存成 .reg 檔後執行即可。
Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellNoRoamBagMRU]
[-HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellNoRoamBags]

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsShell]
"BagMRU Size"=dword:00001f40

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellNoRoam]
"BagMRU Size"=dword:00001f40

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]
"NoSaveSettings"=dword:00000000


3. 停用XP內建壓縮資料(Zip folder)
regsvr32 /u zipfldr.dll

4. 如果是連接檔案伺服器,而且您的用戶端是 Windows 2000 (含) 以上的電腦時,可以停掉用戶端的 NetBIOS over TCP/IP
在設定 IP 的畫面上選 "進階", 切換到 "WINS" 頁籤, 選取 "停用 NetBIOS over TCP/IP"
原因請參考:http://blogs.technet.com/markrussinovich/archive/2006/11/27/532465.aspx

5. 停用資料夾與圖示自動快取更新,將以下文字存成 .reg 檔後執行即可。
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced]
"NoNetCrawling"=dword:00000001

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorer]
"Max Cached Icons"="12000"


資料來源: 聖哥的資訊站 http://teacher.allok.com.tw/viewtopic.mspx?t=4387



2011年9月7日 星期三

GetDeviceArea() in PRG -> GetDeviceCaps() in C

GetDeviceArea() in PRG -> GetDeviceCaps() in C

1. WidthP (HORZRES ) Total Pixels in Width 可印範圍 pix
2. HeightP (VERTRES ) Total Pixels in Height 可印範圍 pix
3. WidthMM (HORZSIZE ) Total mm in Width 可印範圍 mm
4. HeidtMM (VERTSIZE ) Total mm in Height 可印範圍 mm
5. WidthPPI (LOGPIXELSX ) Pixels Per inch in Width pix
6. HeightPPI(LOGPIXELSY ) Pixels Per inch in Height pix
7. RasCaps (RASTERCAPS ) Raster capabilitie 位元圖映射復製嗎?
8. PaWidthp (PHYSICALWIDTH ) Total Pixels in Width 紙張大小 pix
9. PaHeightP(PHYSICALHEIGHT ) Total Pixels in Height 紙張大小 pix
10. TopMargP (PHYSICALOFFSETY ) Margin Pixesl in HEIGHT 上邊界點數 pix
11. LeftMargP(PHYSICALOFFSETX ) Margin Pixesl in Width 左邊界點數 pix

2011年8月19日 星期五

三戰之 再用bcc(borland c)來製作harbour + hwgui utf8版之記錄

用bcc(borland c)來製作harbour + hwgui utf8版
(到底試幾次了? 你的肝站在你後面,它不火了但燒到剩灰盡了....)
2011-08-19 03:02開始記錄
bcc現成在\fq\bc55
d:\t
d:\t\h harbour svn checkout
d:\t\u hwgui svn checkout

**** 這是harbour ****
d:\t\h>set path=\fq\bc55\bin
d:\t\h>win-make
成功做成lib\win\bcc 85 files, bin\win\bcc 15 files

記得copy
d:\t\h>copy bin\win\bcc bin
d:\t\h>copy lib\win\bcc lib

**** 這是hwgui ****
d:\t\h>cd \t\u
d:\t\u>
makefile.bc
加入 -DUNICODE
加入 bc55的include
----------------------------------
CFLAGS = -DUNICODE .....
INCLUDE_DIR = include;$(HRB_DIR)\include;\fq\bc55\include
----------------------------------
記得設HB_PATH(全部大寫)
d:\t\u>SET HB_PATH=d:\s\h
d:\t\u>SET PATH=d:\fq\bc55\bin;%windir%;%windir%\system32
記得d:\fq\bc55\bin下的bcc32.cfg ilink.cfg要設定對,免得include error
d:\t\u>make_b32
完成 5個lib檔

**** hwgui make完成,開始測試前的準備動作 ****
接下來重頭戲,到samples去測試了
d:\t\u>cd samples
bld.bat
並修正如下:
set HRB_DIR=\t\h
set HWGUI_INSTALL=\t\u
(註:這裡不需要加-DUNICODE)
最前面加2行,最後面加2行(純為個人習慣)
if exist %1.exe del %1.exe
if exist %1.exe goto end

if exist %1.exe %1.exe
:end

**** 測試開始 (以下請都用 samples\bldjc.bat ,不要用各目錄的bld.bat )
d:\s\u\samples>cd hello
d:\s\u\samples\hello>copy hello.prg h.prg
d:\s\u\samples\hello>..\bldjc h
h.exe 完成後自動執行。
RichText/EditBox輸入中文也沒問題。big5/utf8OK,但值在那裡
Get 任何中文都不行
EditBox 可ansi-big5中文,不能unicode
加不加三個修正檔都一樣, utf8編碼的prg檔也沒問題
主要問題在於 GET 有{|v|if(v=nil,,=v)}
這一段沒有完成uft8
editbox 同 get都是hedit(),差別在這
而richedit()也沒code block。所以沒問題

用mingw(gcc)來製作harbour + hwgui utf8版 之不死心再來一次

用mingw(gcc)來製作harbour + hwgui utf8版
(到底試幾次了? 你的肝站在你後面,它不火了但燒到剩灰盡了....)
2011-08-19 0:31開始記錄
d:\s
d:\s\g mingw完全安裝 (這次先不裝qt lib看看)
d:\s\h harbour svn checkout
d:\s\u hwgui svn checkout

**** 這是harbour ****
d:\s\h>set path=d:\s\g\bin
d:\s\h>win-make
竟然成功做成86 lib(.a), 10個bin/dll(.exe/.dll) 那我之前qt是灌心酸的哦

記得copy
d:\s\h>copy bin\win\mingw bin
d:\s\h>copy lib\win\mingw lib

**** 這是hwgui ****
d:\s\h>cd \s\u
d:\s\u>
記得copy 三個檔 source\ hedit.prg unicode.c misc.c
(自己去 www4.zzz.com.tw 找)
但我不想破壞svn後的內容,以後再用追加obj的方式另外處理吧
以下,要修改的檔案都另存新檔名,以免破壞svn的完整性
copy makefile.gcc makegcc.jc
加入 -DUNICODE
----------------------------------
CFLAGS = -DUNICODE -Wall -mno-cygwin -O3 -march=pentium -DHWG_USE_POINTER_ITEM
----------------------------------
copy makemngw.bat makejc.bat
最前面加入以下二行
if not exist lib md lib
if not exist obj md obj
修改
mingw32-make.exe -f makejc.gcc
記得設HB_PATH(全部大寫)
d:\s\u>SET HB_PATH=d:\s\h
d:\s\u>makejc
等待完成 4個lib檔(.a)
接下來,在ROTT下,複制三檔作obj(.o) hedit.prg unicode.c misc.c
misc.c太舊,裡面的ISNIL要換成HB_ISNIL, ISPOINTER要換成HB_ISPOINTER
d:\s\u>set path=d:\s\g\bin;d:\s\h\bin
d:\s\u>harbour -i\s\h\include;\s\u\include n hedit
d:\s\u>gcc -DUNICODE -Wall -mno-cygwin -O3 -march=pentium -DHWG_USE_POINTER_ITEM -I\s\u\include -I\s\h\include -c hedit.c -olib\hedit.o
d:\s\u>gcc -DUNICODE -Wall -mno-cygwin -O3 -march=pentium -DHWG_USE_POINTER_ITEM -I\s\u\include -I\s\h\include -c unicode.c -olib\unicode.o
d:\s\u>gcc -DUNICODE -Wall -mno-cygwin -O3 -march=pentium -DHWG_USE_POINTER_ITEM -I\s\u\include -I\s\h\include -c misc.c -olib\misc.o

**** hwgui make完成,開始測試前的準備動作 ****
接下來重頭戲,到samples去測試了
d:\s\u>cd samples
一樣為了保持svn完整性,複制複制
d:\s\u>cd samples
d:\s\u\samples>copy bldgw.bat bldjc.bat
並修正如下:
set path=d:\s\g\bin
set MINGW=d:\s\g
set HRB_DIR=d:\s\h
set HWGUI_INSTALL=d:\s\u
@set OBJ_LIST=%1.o \s\u\lib\misc.o \s\u\lib\unicode.o \s\u\lib\hedit.o(gcc 那行最扯hb 3.1版都很久了。都不更新lib檔名)
(註:這裡不需要加-DUNICODE)
gcc -Wall -mwindows -o%1.exe %OBJ_LIST% -L%MINGW%\lib -L%HRB_DIR%\lib -L%HWGUI_INSTALL%\lib -mno-cygwin -Wl,--allow-multiple-definition -Wl,--start-group -lhwgui -lprocmisc -lhbxml -lhbvm -lhbrdd -lhbmacro -lhbpp -lhbrtl -lhbcpage -lhblang -lhbcommon -lhbnulrdd -lrddntx -lrddcdx -lrddfpt -lhbsix -lgtgui -lgtwin -luser32 -lwinspool -lcomctl32 -lcomdlg32 -lgdi32 -lole32 -loleaut32 -luuid -Wl,--end-group
最前面加2行,最後面加2行(純為個人習慣)
if exist %1.exe del %1.exe
if exist %1.exe goto end

if exist %1.exe %1.exe
:end

**** 測試開始 (以下請都用 samples\bldjc.bat ,不要用各目錄的bld.bat )
d:\s\u\samples>cd hello
d:\s\u\samples\hello>copy hello.prg h.prg
d:\s\u\samples\hello>..\bldjc h
h.exe 完成後自動執行。
RichText/EditBox輸入中文也沒問題。連沒裝unicode補完也能輸入unicode
但值是什麼呢???
Get 卻連中文都不行
EditBox 可ansi-big5中文,不能unicode
加不加三個修正檔都一樣

2011年8月18日 星期四

建立一個在win平台下,以gcc為開發工具的harbour+hwgui的資料開發工具

建立一個在win平台下,以gcc為開發工具的harbour+hwgui的資料開發工具
並解決中文的問題(如能用utf8更讚)

需安裝套件如下
-----------------------------------------------------------------------
1.MingGW (只需裝預設的c complier) from GNU
http://ncu.dl.sourceforge.net/project/mingw/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe
2.QT lib from www.nokia.com
http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.3-mingw.exe
3.TortoiesSVN (或自己用習慣的SVN client)
http://ncu.dl.sourceforge.net/project/tortoisesvn/1.7.0-beta2/Application/TortoiseSVN-1.7.0-beta2-win32-svn-1.7.0-dev.msi
-----------------------------------------------------------------------

****準備動作****
本人以d:\s為計畫ROOT
g為MingW的ROOT
q為QT lib的ROOT
預計
h為harbour的ROOT
u為hwgui的ROOT

環境設定。path納入gcc及qt的bin
path=d:\s\g\bin;d:\s\q\bin
將1-3套件裝好之後,就開始吧

****開始行動****

****make harbour-------------------------------------------------------
將最新的harbour-project\trunk\harbour checkout到d:\s\h下
開啟命令視窗於 d:\s\h
D:\s\h>set path=d:\s\g\bin;d:\s\q\bin
D:\s\h>win-make
等待完成
copy lib\win\mingw\* lib -->沒這動作,會找不到lib檔


win-make.exe是win32平台下自動的harbour make程式。
會自動在路徑中找各種c complier,自動判斷如何make.
使用gcc make一定要裝qt lib 不然會找不到moc.exe rcc.exe的嚴重錯誤

我以前用過bcc則不用。不知道理由為何。總之費了一些力氣上網搜尋之後
裝了nokia的QT lib才能解決。
-----------------------------------------------------------------------

****make hwgui---------------------------------------------------------
將最新的hwgui\trunk\hwgui checkout到d:\s\u下
開啟命令視窗於 d:\s\u
D:\s\u>set path=path=d:\s\g\bin;d:\s\q\bin
將makefile.gcc修正如下
----------------------------------
HRB_DIR = d:\s\h
INC_DIR = d:\s\u\include
CFLAGS = -DUNICODE -DUTF8 -Wall -mno-cygwin -O3 -march=pentium -DHWG_USE_POINTER_ITEM
----------------------------------
重點在1.路徑 2.加上UNICODE及UTF8的Define (UNICODE又稱UTF16,所以要加兩個)

******重點在這裡*******
接下來,跟據http://www4.zzz.com.tw/phpbb2/viewtopic.php?t=334修改hwgui的部分內容
*1.
Modify hEdit.prg: 或去跟站長ssbbs要最新修改版
Change METHOD OnEvent() to METHOD OnEventOld()
add METHOD OnEvent:
//-------------------------------------------------------------------
METHOD onEvent( msg, wParam, lParam ) CLASS HEdit
IF ::cType='C' .AND. Empty( ::cPicFunc ) .AND. Empty( ::cPicMask )
RETURN -1
Else
RETURN ::onEventold( msg, wParam, lParam )
ENDIF
RETURN nil
//-------------------------------------------------------------------
*.2 從上述網址下載rar檔,將裡面source\unicode.c 複到到source\下
*.網址上原作者用bcc, 對自寫了ssbbs.bat , ss_make_b32.bat 及 ssmakefile.bc
跟據上三檔來作修正
ssbbs.bat : path與haubour路徑設定。
ss_make_b321.bat : 可以看出主要是加-DUNICODE -DUTF8於make那兩行
ssmakefile.bc :可以看出主要是加-DUNICODE -DUTF8於CFLAG外,hwgui.lib多了unicode.obj
------修改成適用於mingw-------------------------
makemngw.bat
最前面加入以下二行
if not exist lib md lib
if not exist obj md obj

makefile.gcc
加-DUNICODE -DUTF8於CFLAG,hwgui加unicode.o
********重點結束**************

D:\s\u>makemngw
等待完成
-----------------------------------------------------------------------


-----------------------------------------------------------------------
最後,samples底下及各目錄都有自己bld.bat,請不要用,那是bcc專用的
請用 ..\bldgw.bat,但需修正如下
-------此4行跟據你的安裝目錄修改-----
set path=d:\s\g\bin;d:\s\q\bin
set MINGW=d:\s\g
set HRB_DIR=d:\s\h
set HWGUI_INSTALL=d:\s\u
--------------------------------------
第一個gcc那行加上-DUNICODE -DUTF8 :
gcc -DUNICODE -DUTF8 -I. -I%HRB_DIR%\include -mno-cygwin -Wall -c %1.c -o%1.o


第二個gcc那行加上-DUNICODE -DUTF8,外
後面harbour的lib部分可能年代久遠,名稱錯一堆
-L%HRB_DIR%\lib2 ->-L%HRB_DIR%\lib
vm ->hbvm
rdd ->hbrdd
macro ->hb marco
pp ->hbpp 重複兩個,刪掉一個
rtl ->hbrtl
codepage ->hbcpage
lang ->hblang
common ->hbcommno
nulsys ->hbnulrdd (找超久...)
dbfntx ->rddntx
dbfcdx ->rddcdx
dbfftp ->rddfpt
gtgui ->gtwin

gcc -Wall -mwindows -o%1.exe %OBJ_LIST% -L%MINGW%\lib -L%HRB_DIR%\lib -L%HWGUI_INSTALL%\lib -mno-cygwin -Wl,--allow-multiple-definition -Wl,--start-group -lhwgui -lprocmisc -lhbxml -lhbvm -lhbrdd -lhbmacro -lhbpp -lhbrtl -lhbcpage -lhblang -lhbcommon -lhbnulrdd -lrddntx -lrddcdx -lrddfpt -lhbsix -lgtwin -luser32 -lwinspool -lcomctl32 -lcomdlg32 -lgdi32 -lole32 -loleaut32 -luuid -Wl,--end-group

最後再加上這2行於最頭和最尾,是我的習慣。
if exist %1.exe del %1.exe 第1行
if exist %1.exe %1.exe 最後1行
------------------------------------------------------------------------
下面以samples\get\testget2.prg為例
直接 ..\bldgw testget2
選單上get a value,第二行
之前無法中文,之後可以,但取得內容為 ?????
在mian()裡,加上HWG_SETUTF8(),取得內容也正常了。
(注意程式只能用ansi檔,不能用utf8 or utf16)
接下來改這行看看
Local e6 := ansitounicode("中華民國")
完全破功 = = 只得-N兩字
想也是,在php下要用$str=iconv("big5","UTF-8",$str);
ansi碼跟本沒中文。至少也要有big5Tounicode()
或Setlocale('big5')吧
.......
Local e6 := memorea("utf8.txt") //uft8編碼的文字檔
則顯示:沒問題,游標移動:沒問題
輸入則ooxx死了

結果,肝燒了好幾夜,短命的結果仍是白忙一場。
謝幕
-------------------------------------
後註:如果用big5+unicode補完可以接受的話,
倒是勉強成功
***日後有成功再來修改此文**

2011年5月12日 星期四

台灣山岳公益協會活動行程表

日曆 ID: 5m8h0tc3ghali6onils34jjadk@group.calendar.google.com
有google帳號的人可自行加入

2011年2月17日 星期四

Google瀏覽器 -- 手動指定暫存檔路徑 

Google瀏覽器並沒有內建「自訂暫存檔路徑」的功能
但可以在啟動時,手動加入參數指定位置
chrome.exe --disk-cache-dir=<yourTempDir>

也可以指定「使用者資料」的存放位置
--user-datee-dir= <YourUserDataDir >