2012年3月31日 星期六

Defy開啟/關閉3G上網

今天去遠傳申請七天免費試用3G上網的服務,
要提供雙證件~還有1200元的保証金。
最近要去客戶那裡,這一個服務可以來試一下3G的感覺~

另外,值得一提的是,遠傳有提供每日25元吃到飽的服務,
到時候如果有要去外面旅遊的服務,
需要用到3G網路的話,
是一個不錯的服務哩~

之前剛買到智慧型手機的時候,不小心透過2G上網,當月的帳單就是7百多元~
嚇死人了~

當時就快一點上網找如何關閉透過3G上網~
也忘記當時是怎麼設定的~
現在反而要設定如何透過3G上網哩~

開啟3G上網
設定→資料管理員→資料傳輸→已啟用資料(啟用Google行動服務網路的資料存取)→勾選

設定3G轉wifi分享
選擇3G Mobile Hotspot軟體→3G Mobile Hotspot→勾選

關閉3G上網
設定→資料管理員→資料傳輸→已啟用資料(啟用Google行動服務網路的資料存取)→取消勾選

參考資料:
[心得] defy開啟與關閉3G上網功能方法

2012年3月25日 星期日

在右鍵選單設定「特定程式」開啟檔案

若可以直接對某一個檔案按右鍵,
並且選擇要開啟的檔案,
如此一來就會非常方便了~

這一篇文章,打算使用vim當作特定的程式,
可以在所有的檔案按右鍵來開啟~

1. 透過「Win鍵+r」,輸入「regedit」。
2. 在左邊窗格找到「HKEY_CLASSES_ROOT\*\shell」機碼,並在該機碼上按一下滑鼠右鍵 ,從選單中點選【新增】→【機碼】,並且改名為VIM
3. 然後,在VIM機碼上按滑鼠右鍵,從選單中點選【新增】→【機碼】,並且改名為command
4. 點選Command機碼內的(預設值),並且修改其數值資料為E:\Portable\PortableApps\gVimPortable\gVimPortable.exe -p --remote-tab-silent "%1"
修改完後應該如下圖:


而vim的這一個指令後面接的--remote-tab-silent則是表示會尋找目前已經存在的視窗來開啟目前指定的這一個檔案。

最後結果如下:


如果要設定只有對txt副檔名的檔案顯示這一個設定的話,
一始我們找到HKEY_CLASSES_ROOT\.txt機碼,而其預設值是txtfile

因為,我必需找到txtfile的機碼,並且去修改它。

找到了txtfile的機碼之後,剩下的動作就跟之前的是一樣的了。

參考資料:
Adding entries to the Windows context menu

ASL code簡單教學

這一篇是用來記錄我自己學習ASL code的文章~
我在想一開始應該會有很多錯誤吧~
就慢慢修正囉~

Device (DeviceName) {ObjectList}
建立一個名為DeviceName的Object,其是代表Bus或device或是其它的hardware

OperationRegion (RegionName, RegionSpace, Offset, Length)
建立一個名為RegionName的變數,這一個東東代表的就是一個可以存取的空間。
RegionSpace就是這個空間的類型,在Acpi5.0可能是
SystemMemory,
SystemIO,
PCI_Config,
EmbeddedControl,
SMBus,
CMOS,
PCIBARTarget,
IPMI,
GeneralPurposeIO,
GenericSerialbus
Offset則表示由這一上述的空間的起始位址開始位移Offset (byte)的地方代表目前宣告的RegionName的起始位址。
Length則表示目前這一個RegionName所代表的大小(byte)

Field (RegionName, AccessType, LockRule, UpdateRule) {FieldUnitList}
Field通常是跟OperationRegion搭配使用,把OperationRegion宣告的空間,在細分成可以access的個別的變數。
RegionName就是OperationRegion宣告的變數名稱。
AccessType就是存取變數是一次存取的長度,可以是
AnyAcc,
ByteAcc,
WordAcc,
DWordAcc,
QWordAcc
LockRule可以設定為Lock or NoLock
若設定為Lock的情況時,當變數被access時,其它他要access這一個變數,必需等到這一個變數沒有被access才可以動作。
UpdateRule可以設定為Preserve, WriteAsOnes and WriteAsZeros
這裡若是設定一個Field為QWordAccess,則當有一個成員為4 bits,則當這一個被update時,其它的12個成員為被保留或是設定為1或是0。
以下為一個OperationRegion與Field的例子:
OperationRegion (MIOC, PCI_Config, 0x10, 0xFF)
Field (MIOC, AnyAcc, NoLock, Preserve)
{
Offset (0x58),
HXGB, 32,
HXGT, 32,
GAPE, 8,
Offset (0x70),
MR0A, 4,
MR0B, 4
}

這裡是說,宣告一個OperationRegion其起始位址為PCI configuration space的0x10 byte的地方,
並且其長度為0xFF bytes。
並且在下面宣告了一個MIOC的Field,其Access的方式並沒有限定,並且沒有Lock的機制,並保留其它沒有access的數值。
Office (0x58)意思是先直接跳到MIOC起始位置0x58 bytes的地方,
接下來設定一個名為HXGB的變數,其大小為32 bits,而其起始位置就在0x58 bytes offset of MIOC
再來設定一個名為HXGT的變數,其大小為32 bits,而其起始位置就在0x5C bytes offset of MIOC
Offset (0x70)則一樣是直接跳到MIOC起始位置0x70 bytes的地方,
再來設定一個名為MR0A的變數,其大小為4 bits,而其起始位置就在0x70 bytes offset of MIOC


參考資料:
ACPIspec5.0
自己動手寫DSDT系列教程1-ASL(ACPI Source Language)基礎篇

Xnview看圖軟體

Xnview是一個非常強大的看圖軟體~
同時,它有也提供Portable的版本~

在Windows 7下,一直以來都沒有辦法設定檔案關聯~
今天才試到可以的檔版~
XnView 1.98.1 繁體中文妖怪版(兼容32-bit + 64-bit)

設定檔案關聯


參考資料:
XnView 1.98.1 繁體中文妖怪版(兼容32-bit + 64-bit)
XnView軟體教學

2012年3月24日 星期六

加速windows7的效能

在windows下,
當開啟一個資料夾時,
系統會去掃這個資料夾下的檔案,
並且顯示縮圖給使用者看~

這一個功能可以關掉以增加效能~

在隨便一個資料夾左邊,有一個組合管理,
選擇「資料夾與收尋選項」,
選擇「檢視」,
再來把「一律顯示圖示,不顯示縮圖」的選項勾選。

如此一來,就不會把一些效能花在顯示圖示上了。

參考資料:
關閉Widows 7視訊檔案預覽

設定Lingoes Portable顯示繁體中文的翻譯

之前就使用Lingoes,
因為,它有一個功能,叫做「剪貼簿取詞」,
所以,我只需要執行複製的動作,
它就會跳出一個翻譯的結果~
但是,在一陣子之前,更新之後,
其翻譯的結果會以英文為主,
結果,我要查英文,最後跳出一堆我不懂的英文。
慢慢的就沒有在用了。

剛剛在以下的網站發現,他們使用的介面查出來的結果竟然是中文~
[免費] Lingoes 靈格斯詞霸 v2.8.1 全功能翻譯軟體、電子字典
去研究了一下,發現,原來要另外去下載「Dr.eye」的詞庫到軟體中~

當然,我還是使用Portable版的Lingoes~
Lingoes Portable
而必需另外下載Dr.eye的詞典

可以透過軟體的介面連到官網詞典的下載入口


選擇從Lingoes下載辭典


所有的繁體詞典入口

選擇譯典通在線
下面的這一個聯結應該是所有的字典的存放地

下載完Dr.eye的辭典後,執行安裝,並且選擇剛剛下載完下來的辭點~

再來設定為剪貼簿取詞


如此一來,在翻譯的時候,就可以看到繁體的翻譯了~

並且把Dr.eye顯示拉到最上面~以後查詢的結果Dr.eye就會顯示在最上面了~


參考資料:
[免費] Lingoes 靈格斯詞霸 v2.8.1 全功能翻譯軟體、電子字典

2012年3月18日 星期日

Win7建立快速啟動工具列

Win7之前的系統都有快速啟動工具列,非常方便。

但是,在Win7把「快速啟動工具列」與「目前正在使用的工具列」整合在一起,
兩個東西合成一個東西,看起來就非常的擠。
並且很混亂!

1. 所以,現在先式著把「快速啟動工具列」建立出來~
a. 在工具列上任何一個地方案右鍵
b. 點選新增工具列後,在視窗的資料夾輸入框輸入 %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\CustomerTaskBar
c. 按下選擇資料夾之後,快速啟動列就出現了,然後將鎖定工具列的選項取消,移到你習慣的位置
d. 再來我們在這個工具列按右鍵,把顯示文字和顯示標題都取消

2. 再來把「目前正在使用的工具列」取消上面永遠釘在上面的項目
「將此程式由工具列取消釘選」

3. 再來就是把具列拉高,並且分成上下兩列。而上列就是「快速啟動工具列」;下列就是「目前正在使用的工具列」。最後,若螢幕空間還算大的話,可以設定為大圖示。

最後,我的電腦顯示如下:


參考資料:
Win7密技: XP的快速啟動工具列在Win7怎麼設定出來

設定XP「類似工具列顯按紐分組」

在被強迫使用Win7後,
開始慢慢習慣Win7的介面~

其中一個在Win7的功能就是快速起動工具列會把同一類的視窗分成同一組。
而這個功能在Win XP也有,
不過,當時應該還不習慣這一個功能,所以,把它關掉了。

現在要重新把它啟動起來。
直接在下面的快速啟動工具列,按右鍵,選擇內容,
並且勾選「類似工具列按紐分組」


但是,在開啟這一個功能之後,並沒有預期的出現分類的功能。

原是這個功能就算是打開了,
預設必需要當工具列是滿的情況下,才會有分類的功能。
這樣就跟Win7的行為不一樣了,
Win7只要有兩個就會出現分類的功能了。

不過,其實這個設定是可以改的。
1. 開始→執行
2. 輸入register
3. 找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
4. 新增一個DWORD值TaskbarGroupSize
5. 數值設定為2
6. 重開機

參考資料:
類似工具列按鈕分組失效

2012年3月16日 星期五

設定Source Insight在已經存在的視窗打開檔案

在一些軟體可以使用快速鍵指定特定的編輯器開啟目前選擇的檔案~
例如在Beyond Compare、或是FreeCommander~

但是,如果不特別設定的話,每一次透過編輯器開啟一個檔案,
都會開啟一個新的編輯器視窗,
如果一次開啟多個檔案的話,就會存在很多個視窗~
這樣整個環境就會超亂的~

在vim的話,在開啟檔案的時候,加入特別的指令,
就會尋找目前是否有開啟視窗,
若有的話,就會使用目前開啟的視窗建立一個tab windows來開啟目前指定的檔案。
可以參考FreeCommander & MDIE

但是,目前跟VIM比較起來,還是比較多人熟悉Source Insight~
在找過Source Insight Help後,
可以使用以下指令去完成以上的動作。

=*=*=*=*=*=*=*=*=*=*=
Suppressing New Program Instances

-i <rest of command line>

This option will direct the rest of the command line to an already running instance of Source Insight, if any. If there are no instances already running, then a new instance is started.

Example:

insight3 –i myfile.cpp

This will locate an already running instance of Source Insight, and tell it to open myfile.cpp.
=*=*=*=*=*=*=*=*=*=*=

2012年3月8日 星期四

Source Insight的語法

目前的source code是使用EDK2的code base,
常常會有一些變數的定義與EDK1的不一樣,
因此,在Source Insight會沒有辦法辦識出哪一些是變數,
這個時候,就要研究如何設定Source Insight的語法,讓我可以去辦識特定的文件。

而我想Source Insight做的到的,VIM應該都做的到,在Source Insight設定完後,就要試著移值到vim啦。

這裡說明一下,Source Insight的成員
1. 語法 (Language)
在Source Insight有語法(Language)就是表示,在什麼時候文字檔的內容是要亮什麼顏色、什麼情況下代表變數、什麼情況下代表常數。
2. Document Type
Source Insight提供了一個Document Type,可以設定成許多副檔名算是在同一類。
像是*.c與*.h就是同一類的語法

新增一個語法 (Language)
Options→Document Options→Parsing
選擇Language這一個button

這個時候可以點選Language裡面的許多語法,去看裡面的設定,或是修改一些設定~
當然也可以新增一個Language,這裡可以試著新增一個叫做TEST的語法。

我們先新增comment的條件,就是當什麼情況下,它會判斷成是comment的語法。

目前以#當作註解,設定如下

並且記得要把Use Syntax Formatting勾選起來,這樣註解的顏色才會變成註解的顏色!

==========
下面有Language的Options的簡單說明~
Basic Language Options
Each language has basic options that govern how Source Insight treats files with this language. Built-in languages, such as C/C++ have fewer options in this page than do custom languages.

Contains program source code
If checked, then Source Insight will consider this a programming language. Certain features are altered when a programming language is used, as opposed to a simple textual language. For instance, references to declared symbols are displayed in the “Ref to …” styles.

Case sensitive text
This indicates whether the language is case sensitive or not. This affects how keywords are matched, as well as how symbols names are resolved in the symbol lookup engine.

Uses C preprocessor
If checked, then Source Insight will recognize #if and #ifdef preprocessor directives.

Allow smart tab
If checked, then the Smart Tab feature will be enabled when editing this type of language. If not checked, then Smart Tab will perform like a simple tab.

Use Syntax Formatting
If checked, then Syntax Formatting will be used when displaying files in this language.

Detect comment styles
If checked, then special comment styles will be detected. See also “Comment Styles”.

Non-AlphaNum identifier chars
This text box contains the set of all valid non-alpha-numeric identifier characters. Alpha-numeric strings are always considered identifiers.

Detect numbers
If checked, then numbers found in the text are formatted with the “Number” style. The check boxes following this enable special number formats for hex and octal numbers.
==========

新增一個Document Type
Options→Document Options→Add Type...

新增一個名為TEST的Document Type,
File filter選擇規類為這個Document Type的檔名名稱,
而語法(Language)則設定為剛剛新增的Language,
如此一來,就可以把剛剛設定的語法顯示出來了。

再來就是把特定的副檔名的檔案加入到選定的Document Type
另外一提的是,只有副檔名在這一些Document Type裡面的檔案同時Include when adding to projects這一個選項有被勾選時,符合File filter的檔案名稱,才會在search檔案時,才會加到這一個Project裡面。

==========
如果在A這一個檔案定義了一個全域常數,要讓其它檔案就可以透過Source Insight的Context Windows直接就可以查到這一個全域常數的值,但是,很不巧的是,我們定義這一個全域常數的語法,並沒有在Source Insight的資料庫內,這個時候,就必需要使用自定的語法了~

例如我們在test.test檔案裡面定義了以下的內容
  DEFINE FIRST_VARIABLE      = TRUE
DEFINE SECOND_VARIABLE = FALSE
DEFINE THIRD_VARIABLE = FALSE


那麼我們就在Language的Custom Parsing加入以下的內容,並且記得要把Use regular expressions for parsing勾選起來。

這裡面填的語法是
\w*DEFINE\w+\([A-Za-z0-9_]+\)
\w表示是space或是tab鍵
*是表示前面的字元出現0次或1次以上
DEFINE這裡就是表示是有這一個字串
\w同上面的解釋
+表示前面的字元出現1次以上
[A-Za-z0-9_]是表是一個字元,而其字元有可能是由所有的字母或是數字或是_其中一個

到目前為止,都是正規表示式的語法,接下這一個是非常重要的。
括號包起來的部分,就是我們要找的變數
這樣我們才可以由A這一個檔案去依這一個變數,去尋找到B這一個檔案是如何定義這一個變數的。
這樣就會有以下的效果啦~~這樣在Trace Code會比較方便~

另外一提,我有試著用兩個括號,看能不能有兩個關鍵字,結果看來是沒有辦法的~

另外,不知道為什麼,若把User C preprocessor選取後,就必需要用\w*DEFINE\w+\([A-Za-z0-9_]+\)才可以認得到
  DEFINE FIRST_VARIABLE      = TRUE
DEFINE SECOND_VARIABLE = FALSE
DEFINE THIRD_VARIABLE = FALSE

若把User C preprocessor取消選取後,使用DEFINE\s+\([A-Za-z0-9_]+\)就可以識別出這一個變數了。
反正,這一個檔案不支援User C preprocessor,應該也不需要勾選了。
==========

參考資料:
Q: How can I add my own parsing?
Source Insight使用之添加自定义语言
SourceInsight