以下的 pro 檔頭的說明文件,提供您需不需要下載的參考。
如果有任何使用上的問題或意見,請回應,謝謝。
;;======================================
;; MyFavorites.pro 我的最愛 v0.41 【漢書Profile】he7.07+
;;
;; 2002.02.28 (c) by 李棟樑 <dllee@edirect168.com> http://dllee.ktop.com.tw
;;======================================
;;
;; ■ 前言
;;
;; 在多數的文書編輯器中都已加入了「我的最愛」的弁遄A而漢書可能在未來的
;; 版本才會加入這個弁遄C
;; 本來筆者想把這個弁鉏g入主選單中,不過,考量到在操作的過程會一直修改
;; 主選單 He7.m2d ,如果巨集程式有誤,還可能把可用的主選單破壞了,於是,
;; 在目前的版本先使用 INI 檔來記錄我的最愛,而用自定工具列管理我的最愛。
;; 自 0.2 版開始,增加使用 .pop 選單的方式來完成,對於鍵盤操作者更是方便。
;; 自 0.3 版開始,增加 dir 及 NONAME 空白文件。
;;
;; ■ 安裝方法
;;
;; ○ 如果您沒有自己定義 my.pro 可以直接將本檔案改名成 my.pro 放在漢書的
;; 安裝目錄即可。
;;
;; ○ 如果您有自己定義 my.pro ,請在 my.pro 的 def autoexec 中加入以下的
;; 設定
;;
;; def autoexec=[exist myfavorites.pro]
;; [if %Exist][m myfavorites.pro][end]
;;
;; 如果您還沒有定義 autoexec 則直接將上面一行文字去掉前面的空白及註解 ;;
;; 貼到您的 my.pro 中即可。
;; 如果您已定義 autoexec 則將上述的定義加在您原本 autoexec 定義之後即可。
;;
;; ■ 操作說明
;;
;; □ 使用按鈕/弁鉡?自定工具列
;;
;; ○ 自定工具 ?j 或 Ctrl-5 或 Ctrl-Alt-F5
;;
;; 管理「我的最愛」。
;; 提供以下弁?對話視窗下方的按鈕)
;; 1. [移除選擇檔案(&D)] 移除所選的「我的最愛」,原始檔案還在,只是去除選項
;; 2. [編輯(&E)] 開啟所選的「我的最愛」
;; 3. [取消(&C)] 取消動作
;; 4. [增加目前檔案(&A)] 將目前編輯的檔案加入「我的最愛」
;;
;; 對於愛用鍵盤的使用者:
;; 在「我的最愛」檔案列表中可以用上下鍵選擇,按下 Enter 即可開啟
;; 所選的「我的最愛]。
;;
;; 對於愛用滑鼠的使用者:
;; 在「我的最愛」檔案列表中可以用滑鼠左鍵雙點(Double-Click) 檔案,
;; 即可開啟所選的「我的最愛]。
;;
;; ○ Ctrl 快按兩下
;;
;; 叫出「我的最愛 pop 選單」,可以快速選擇前 26 個最愛,或是加入目前檔案
;; 到我的最愛,也可以叫出管理我的最愛視窗。
;;
;; ○ 如果您希望在漢書一執行就立刻叫出『我的最愛』選單,請將漢書中
;;
;; 「D顯示」→「F 進入漢書立刻 DIR」
;;
;; 勾選的選項取消,這樣在一進入漢書時,『我的最愛』選單就會出現。
;; 如果該選項是勾選的,那一進入漢書就會顯示 DIR 。此時可以按 Ctrl-5
;; 或按 Ctrl 兩下,叫出『我的最愛』選單。
;;
;; ● 註:
;; 會使用自定工具?j 是因為筆者的另一個巨集 SafeSave.pro 已使用了
;; 自定工具?f?g?h?i ,所以,筆者將我的最愛的弁鈳]定在?j。
;;
;; ● 注意
;; 以上所有的按鍵弁遄A可能會因為您所使用的中文輸入法,將該按鍵先行
;; 攔截,而導致按下該按鍵時沒有上述的反應,此時,可以先按 Ctrl-Space ,
;; 切回英文輸入狀態,作完想作的弁鄎寣A再按 Ctrl-Space 切回中文輸入。
;; 如筆者所使用的「自然輸入法」就會攔截 Ctrl-1,2,3,4,6,7,9 等按鍵,
;; 由於每一家的中文輸入法內建的熱鍵不同,狀況也不同,無法一一作解釋,
;; 請在使用時自己多注意。
;; 解決的方法就是去改 profile 檔的按鍵定義,讓您所常用的弁鉡隞P中文
;; 輸入法的熱鍵分開即可。
;;
;;
;; ■ 巨集/按鍵定義
;;
;; icon5 新增 自定工具?j 管理「我的最愛」。
;; 新增 Ctrl-5 管理「我的最愛」。
;; c-f5 新增 Ctrl-Alt-F5 管理「我的最愛」。
;; ctrl-2 新增 Ctrl 快按兩下 叫出「我的最愛 pop 選單」。
;; mouse-m2 新增 滑鼠中鍵 快按兩下 叫出「我的最愛 pop 選單」。
;;
;; mf_initialize 我的最愛初始化,會自動產生內定的最愛(dir,NONAME)
;; mf_loadFileName 載入我的最愛列表
;; mf_openItem 開啟我的最愛檔案
;; mf_deleteItem 刪除某一我的最愛
;; mf_addItemDialog 加入我的最愛 輸入檔案別名,再按 [加入] 即可
;; myfavorites 管理我的最愛 提供管理/使用我的最愛的所有弁
;; myfdir 在選到『檔案目錄列表』時對 .DIR 的處理
;; createmfpop 動態建立我的最愛 pop 選單檔
;;
;; ■ 自行修改定義
;;
;; □ 目前筆者只有定義 myfavorites 巨集的自定工具及熱鍵,以便使用者操作。
;; 如果您覺得 mf_addItemDialog (加入我的最愛) 這個弁鄐]很常用的話,
;; 可以自行定義熱鍵或工具列給它,例如,將自定工具?k 定義給加入我的最愛:
;;
;; set userhint6 加入我的最愛
;; def icon6=[mf_addItemDialog]
;;
;; □ 對於滑鼠操作愛用者,可以自行將 ctrl-2 的定義,加入到某個滑鼠操作中,
;; 便於使用滑鼠叫出我的最愛 pop 選單。
;; 不過,筆者較少使用滑鼠,所以不知道要放在那個好 ^_*
;;
;;
;; ■ 已知問題
;;
;; 1. [ltext %strPath, 16, 52]
;; ltext 有兩個 BUG,一個 BUG 是在顯示字串時,如果字串後沒有預留空白,
;; 可能後面幾個字會秀不出來。
;; 還有一個 BUG 是如果字串太長,會造成漢書當掉!!
;; 在 0.4 版中,已經加入了字串長度的判斷,除去可能因字串太長而使 ltext
;; 造成漢書當掉的 BUG。
;;
;; 2. 漢書對於 NONAME 這個空白檔案,在存檔時都會要求使用者另存新檔。不過,
;; 以目前漢書(7.082)的作法,內定另存新檔的目錄是目前工作目錄。您可以試試
;;
;; e C:\NONAME
;; e #\NONAME
;; e NONAME
;;
;; 好像開出了三個空白檔案於不同的目錄,但是當您對這三個空白檔按下存檔時,
;; 其另存新檔的目錄都會是一樣的!!也就是目前的工作目錄。
;; 也因為如此,筆者在 0.4 版中,分出
;;
;; 新增空白文件(我的文件夾)
;; 新增空白文件(目前工作目錄)
;;
;; 其中,新增空白文件(我的文件夾),就會將工作目錄切換到『我的文件』。
;; 如果您不喜歡這樣的作法,可以不要選『新增空白文件(我的文件夾)』
;; 或是將 MyFavorites.ini 中
;;
;; 新增空白文件(我的文件夾)="#\NONAME"
;;
;; 這一行刪除後存檔,再將 MyFavorites.pop 刪除,再次重新啟動漢書,
;; 就不會有『新增空白文件(我的文件夾)』這個選項了。
;;
;; 3. [mf_openItem %ListBox] 有時不能正確地將 %ListBox 傳給 mf_openItem
;; 巨集,會將選到的 %ListBox 變成傳 NULL 給 mf_openItem ,導致開啟
;; 檔名為 NULL 的檔案。
;; 目前的解決方法:將 mf_openItem 巨集寫入 myfavorites 中,不用
;; %ListBox 傳給 mf_openItem 以避免問題。
;; 猜想是不是在選到的 Item 中有空白或特殊字元所導致的誤判?
;;
;;
;; ■ 改版歷程
;;
;; □ 2002.02.28 v0.4
;;
;; ○ 解決『我的最愛』檔案全名太長時,在加入最愛時會造成漢書當機!
;; ○ 新增內定的最愛『新增空白文件(目前工作目錄)』。
;; ○ 如果在管理我的最愛時,選擇「刪除選擇檔案」的弁鉈氶A不會關閉
;; 管理我的最愛視窗,以便使用者進一步刪除其他的最愛連結,或是選擇
;; 某一個最愛開始編輯。
;; ○ 新增 滑鼠中鍵 快按兩下 可以叫出「我的最愛 pop 選單」。
;; ○ 在「我的最愛 pop 選單」中新增選項:「最近開啟的檔案」。
;; ○ 改變「我的最愛 pop 選單」的排列,將內定的最愛:「最近開啟的檔案」、
;; DIR、#\NONAME、NONAME 等等的選項放到最上面,以增加使用者自定的最愛。
;; (因為目前的「我的最愛 pop 選單」只能顯示出 26 個使用者自定的最愛。)
;; ○ 加大我的最愛管理視窗的高度,以一眼看出更多的最愛。
;;
;; □ 2002.02.06 v0.3
;;
;; ○ 新增內定的最愛:『檔案目錄列表』及『新增空白文件』。
;;
;; □ 2002.01.30 v0.2
;;
;; ○ 新增「我的最愛 pop 選單」,按 Ctrl 兩下可叫出。
;;
;; □ 2002.01.26 v0.1
;;
;; ○ 使用 INI 、自定工具列的方式完成初版「我的最愛」。
;; ○ 雖然舊版就可以支援 INI 讀寫,但本版使用 [resetdialog] 對於
;; V7.06(含以下) 的版本,可能會發生當機,建議升級到 V7.07 再使用。
;;
;;======================================
;; 2002.02.28(c)v0.41 by 李棟樑<dllee@edirect168.com> http://dllee.ktop.com.tw
;;======================================
[Profile] 幫漢書加上「我的最愛」
[Profile] 幫漢書加上「我的最愛」
- 附加檔案
-
- myfavorites.pro
- 幫漢書加上「我的最愛」,按 Ctrl 兩下即可開啟我的最愛選單。
- (20.21 KiB) 已下載 171 次
直接把 pro 檔都放上來好了,用需要的請儘量使用 :D
代碼: 選擇全部
;;======================================
;; MyFavorites.pro 我的最愛 v0.41 【漢書Profile】he7.07+
;;
;; 2002.02.28 (c) by 李棟樑 <dllee@edirect168.com> http://dllee.ktop.com.tw
;;======================================
;;
;; ■ 前言
;;
;; 在多數的文書編輯器中都已?#91;入了「我的最愛」的功能,而漢書可能在未來的
;; 版本才會?#91;入這個功能。
;; 本來筆者想把這個功能寫入主選單中,不過,考量到在操作的過?#123;會一直修改
;; 主選單 He7.m2d ,如果巨集?#123;式有誤,還可能把可用的主選單?#125;壞了,於是,
;; 在目前的版本先使用 INI 檔來記錄我的最愛,而用自定工具列管理我的最愛。
;; 自 0.2 版?#125;始,增?#91;使用 .pop 選單的方式來完成,對於鍵盤操作者更是方便。
;; 自 0.3 版?#125;始,增?#91; dir 及 NONAME 空白文件。
;;
;; ■ 安裝方法
;;
;; ○ 如果您沒有自己定義 my.pro 可以直接將本檔案改名成 my.pro 放在漢書的
;; 安裝目錄即可。
;;
;; ○ 如果您有自己定義 my.pro ,請在 my.pro 的 def autoexec 中?#91;入以下的
;; ?#93;定
;;
;; def autoexec=[exist myfavorites.pro]
;; [if %Exist][m myfavorites.pro][end]
;;
;; 如果您還沒有定義 autoexec 則直接將上面一行文字去掉前面的空白及註解 ;;
;; 貼到您的 my.pro 中即可。
;; 如果您已定義 autoexec 則將上述的定義?#91;在您原本 autoexec 定義之後即可。
;;
;; ■ 操作說明
;;
;; □ 使用按鈕/功能鍵/自定工具列
;;
;; ○ 自定工具 ?j 或 Ctrl-5 或 Ctrl-Alt-F5
;;
;; 管理「我的最愛」。
;; 提供以下功能(對話視窗下方的按鈕)
;; 1. [移除選擇檔案(&D)] 移除所選的「我的最愛」,原始檔案還在,只是去除選項
;; 2. [編輯(&E)] ?#125;啟所選的「我的最愛」
;; 3. [取消(&C)] 取消動作
;; 4. [增?#91;目前檔案(&A)] 將目前編輯的檔案?#91;入「我的最愛」
;;
;; 對於愛用鍵盤的使用者:
;; 在「我的最愛」檔案列表中可以用上下鍵選擇,按下 Enter 即可?#125;啟
;; 所選的「我的最愛]。
;;
;; 對於愛用滑鼠的使用者:
;; 在「我的最愛」檔案列表中可以用滑鼠左鍵雙點(Double-Click) 檔案,
;; 即可?#125;啟所選的「我的最愛]。
;;
;; ○ Ctrl 快按兩下
;;
;; 叫出「我的最愛 pop 選單」,可以快速選擇前 26 個最愛,或是?#91;入目前檔案
;; 到我的最愛,?#93;可以叫出管理我的最愛視窗。
;;
;; ○ 如果您希望在漢書一執行就立刻叫出『我的最愛』選單,請將漢書中
;;
;; 「D顯示」→「F 進入漢書立刻 DIR」
;;
;; 勾選的選項取消,這樣在一進入漢書時,『我的最愛』選單就會出?#123;。
;; 如果該選項是勾選的,那一進入漢書就會顯示 DIR 。此時可以按 Ctrl-5
;; 或按 Ctrl 兩下,叫出『我的最愛』選單。
;;
;; ● 註:
;; 會使用自定工具?j 是?#93;為筆者的另一個巨集 SafeSave.pro 已使用了
;; 自定工具?f?g?h?i ,所以,筆者將我的最愛的功能?#93;定在?j。
;;
;; ● 注意
;; 以上所有的按鍵功能,可能會?#93;為您所使用的中文輸入法,將該按鍵先行
;; 攔截,而導致按下該按鍵時沒有上述的反應,此時,可以先按 Ctrl-Space ,
;; 切回英文輸入狀態,作完想作的功能後,再按 Ctrl-Space 切回中文輸入。
;; 如筆者所使用的「自然輸入法」就會攔截 Ctrl-1,2,3,4,6,7,9 等按鍵,
;; 由於每一家的中文輸入法內建的熱鍵不同,狀況?#93;不同,無法一一作解釋,
;; 請在使用時自己多注意。
;; 解決的方法就是去改 profile 檔的按鍵定義,讓您所常用的功能鍵與中文
;; 輸入法的熱鍵分?#125;即可。
;;
;;
;; ■ 巨集/按鍵定義
;;
;; icon5 新增 自定工具?j 管理「我的最愛」。
;; 新增 Ctrl-5 管理「我的最愛」。
;; c-f5 新增 Ctrl-Alt-F5 管理「我的最愛」。
;; ctrl-2 新增 Ctrl 快按兩下 叫出「我的最愛 pop 選單」。
;; mouse-m2 新增 滑鼠中鍵 快按兩下 叫出「我的最愛 pop 選單」。
;;
;; mf_initialize 我的最愛初始化,會自動產生內定的最愛(dir,NONAME)
;; mf_loadFileName 載入我的最愛列表
;; mf_openItem ?#125;啟我的最愛檔案
;; mf_deleteItem 刪除某一我的最愛
;; mf_addItemDialog ?#91;入我的最愛 輸入檔案別名,再按 [?#91;入] 即可
;; myfavorites 管理我的最愛 提供管理/使用我的最愛的所有功能
;; myfdir 在選到『檔案目錄列表』時對 .DIR 的處理
;; createmfpop 動態建立我的最愛 pop 選單檔
;;
;; ■ 自行修改定義
;;
;; □ 目前筆者只有定義 myfavorites 巨集的自定工具及熱鍵,以便使用者操作。
;; 如果您覺得 mf_addItemDialog (?#91;入我的最愛) 這個功能?#93;很常用的話,
;; 可以自行定義熱鍵或工具列給它,例如,將自定工具?k 定義給?#91;入我的最愛:
;;
;; set userhint6 ?#91;入我的最愛
;; def icon6=[mf_addItemDialog]
;;
;; □ 對於滑鼠操作愛用者,可以自行將 ctrl-2 的定義,?#91;入到某個滑鼠操作中,
;; 便於使用滑鼠叫出我的最愛 pop 選單。
;; 不過,筆者較少使用滑鼠,所以不知道要放在那個好 ^_*
;;
;;
;; ■ 已知問題
;;
;; 1. [ltext %strPath, 16, 52]
;; ltext 有兩個 BUG,一個 BUG 是在顯示字串時,如果字串後沒有預留空白,
;; 可能後面幾個字會秀不出來。
;; 還有一個 BUG 是如果字串太長,會造成漢書當掉!!
;; 在 0.4 版中,已經?#91;入了字串長度的判斷,除去可能?#93;字串太長而使 ltext
;; 造成漢書當掉的 BUG。
;;
;; 2. 漢書對於 NONAME 這個空白檔案,在存檔時都會要求使用者另存新檔。不過,
;; 以目前漢書(7.082)的作法,內定另存新檔的目錄是目前工作目錄。您可以試試
;;
;; e C:\NONAME
;; e #\NONAME
;; e NONAME
;;
;; 好像?#125;出了三個空白檔案於不同的目錄,但是當您對這三個空白檔按下存檔時,
;; 其另存新檔的目錄都會是一樣的!!?#93;就是目前的工作目錄。
;; ?#93;?#93;為如此,筆者在 0.4 版中,分出
;;
;; 新增空白文件(我的文件夾)
;; 新增空白文件(目前工作目錄)
;;
;; 其中,新增空白文件(我的文件夾),就會將工作目錄切換到『我的文件』。
;; 如果您不喜歡這樣的作法,可以不要選『新增空白文件(我的文件夾)』
;; 或是將 MyFavorites.ini 中
;;
;; 新增空白文件(我的文件夾)="#\NONAME"
;;
;; 這一行刪除後存檔,再將 MyFavorites.pop 刪除,再次重新啟動漢書,
;; 就不會有『新增空白文件(我的文件夾)』這個選項了。
;;
;; 3. [mf_openItem %ListBox] 有時不能正確地將 %ListBox 傳給 mf_openItem
;; 巨集,會將選到的 %ListBox 變成傳 NULL 給 mf_openItem ,導致?#125;啟
;; 檔名為 NULL 的檔案。
;; 目前的解決方法:將 mf_openItem 巨集寫入 myfavorites 中,不用
;; %ListBox 傳給 mf_openItem 以避免問題。
;; 猜想是不是在選到的 Item 中有空白或特殊字元所導致的誤判?
;;
;;
;; ■ 改版歷?#123;
;;
;; □ 2002.02.28 v0.4
;;
;; ○ 解決『我的最愛』檔案全名太長時,在?#91;入最愛時會造成漢書當機!
;; ○ 新增內定的最愛『新增空白文件(目前工作目錄)』。
;; ○ 如果在管理我的最愛時,選擇「刪除選擇檔案」的功能時,不會關閉
;; 管理我的最愛視窗,以便使用者進一步刪除其他的最愛連結,或是選擇
;; 某一個最愛?#125;始編輯。
;; ○ 新增 滑鼠中鍵 快按兩下 可以叫出「我的最愛 pop 選單」。
;; ○ 在「我的最愛 pop 選單」中新增選項:「最近?#125;啟的檔案」。
;; ○ 改變「我的最愛 pop 選單」的排列,將內定的最愛:「最近?#125;啟的檔案」、
;; DIR、#\NONAME、NONAME 等等的選項放到最上面,以增?#91;使用者自定的最愛。
;; (?#93;為目前的「我的最愛 pop 選單」只能顯示出 26 個使用者自定的最愛。)
;; ○ ?#91;大我的最愛管理視窗的高度,以一眼看出更多的最愛。
;;
;; □ 2002.02.06 v0.3
;;
;; ○ 新增內定的最愛:『檔案目錄列表』及『新增空白文件』。
;;
;; □ 2002.01.30 v0.2
;;
;; ○ 新增「我的最愛 pop 選單」,按 Ctrl 兩下可叫出。
;;
;; □ 2002.01.26 v0.1
;;
;; ○ 使用 INI 、自定工具列的方式完成初版「我的最愛」。
;; ○ 雖然舊版就可以支援 INI 讀寫,但本版使用 [resetdialog] 對於
;; V7.06(含以下) 的版本,可能會發生當機,建議升級到 V7.07 再使用。
;;
;;======================================
;; 2002.02.28(c)v0.41 by 李棟樑<dllee@edirect168.com> http://dllee.ktop.com.tw
;;======================================
;;---------------------------------------------
;; 整體變數
%@strMyFavoritesINI="%ExePath\MyFavorites.ini" ;; 內定放在 [漢書安裝目錄]\MyFavorites.ini 檔案下
%@strMyFavoritesTMP="%ExePath\MyFavorites.tmp" ;; 內定放在 [漢書安裝目錄]\MyFavorites.tmp 檔案下
%@strMyFavoritesPOP="%ExePath\MyFavorites.pop" ;; 內定放在 [漢書安裝目錄]\MyFavorites.pop 檔案下
%@currentFavoritesCount=0
;;---------------------------------------------
;; 定義自定工具列5
;; ?j 或 Ctrl-5 管理我的最愛
set userhint5 管理我的最愛
def icon5=[myfavorites]
;;---------------------------------------------
;; C-Fx 功能按鈕 重新定義 c-fx ,將原來沒有用到的 Ctrl-Alt-F5 定義成 icon5
;;
def c-f5=[if !%KeyAlt]'%@cf5'[else][key icon5][end]
;;---------------------------------------------
;; Ctrl 快按兩下 重新定義 ctrl-2 ,將原來沒有用到的 ctrl-2 定義成 叫出我的最愛 pop 選單
;;
def ctrl-2=
[exist %@strMyFavoritesPOP]
[if %Exist] [popupmenu %@strMyFavoritesPOP]
[else]
[exist %@strMyFavoritesINI]
[if %Exist]
[createmfpop]
[popupmenu %@strMyFavoritesPOP]
[end]
[end]
;;---------------------------------------------
;; 滑鼠中鍵 快按兩下 重新定義 mouse-m2 ,將原來沒有用到的 mouse-m2 定義成 叫出我的最愛 pop 選單
;;
def mouse-m2=
[exist %@strMyFavoritesPOP]
[if %Exist] [popupmenu %@strMyFavoritesPOP]
[else]
[exist %@strMyFavoritesINI]
[if %Exist]
[createmfpop]
[popupmenu %@strMyFavoritesPOP]
[end]
[end]
;;---------------------------------------------
;; 定義自定工具列6
;; ?k 或 Ctrl-6 ?#91;入我的最愛
;; set userhint6 ?#91;入我的最愛
;; def icon6=[mf_addItemDialog]
;;---------------------------------------------
;; C-Fx 功能按鈕 重新定義 c-fx ,將原來沒有用到的 Ctrl-Alt-F6 定義成 icon6
;;
;; def c-f6=[if !%KeyAlt]'%@cf6'[else][key icon6][end]
;;---------------------------------------------
;; 自動執行
;;
;; ★ 要將 「D顯示」→「F進入漢書立刻 DIR」 的選項取消,在此的自動執行才會有效。
;;
def autoexec=
[mf_initialize]
[if %File == "NONAME"] ;; 若沒有指定檔名
;; [demo step]
[%oldNoname=%FileName]
[mf_loadFileName]
[if %@currentFavoritesCount > 1 ]
[myfavorites] ;; 叫出「我的最愛」
[end]
[if %FileNo > 1] ;; 目前載入檔案的個數 大於 1 表示有從我的最愛選檔
[q %oldNoname] ;; 關閉最初的那個 NONAME
[end]
;; ;; 在 0.3 版中?#91;入新增空白文件的功能
;; [if %File == "NONAME"][dir][end] ;; 如果還沒有我的最愛,則秀 dir
;; [q NONAME] ;; 關閉沒有用的 NONAME
[end]
[if %File != ".DIR"];; && %File != "NONAME"]
[cd %FilePath][end];; 改變目錄至目前?#125;啟的檔案
;; [demo end]
;;---------------------------------------------
;; 我的最愛初始化 在第一次使用時,會自動產生內定的最愛(dir,#\NONAME,NONAME)。
;;
def mf_initialize=
[exist %@strMyFavoritesINI]
[if !%Exist]
[writeini %@strMyFavoritesINI, MyFavorites, 檔案目錄列表, .DIR]
[writeini %@strMyFavoritesINI, MyFavorites, 最近?#125;啟的檔案, .RECENT] ;; [recent file]
[writeini %@strMyFavoritesINI, MyFavorites, 新增空白文件(我的文件夾), "#\NONAME"]
[writeini %@strMyFavoritesINI, MyFavorites, 新增空白文件(目前工作目錄), "NONAME"]
[createmfpop]
[end]
[exist %@strMyFavoritesPOP]
[if !%Exist]
[createmfpop]
[end]
;;---------------------------------------------
;; 載入我的最愛列表 讀取我的最愛 INI 只取出檔案別名列表另存一暫存檔?#93;?#93; ListBox 只能讀檔)
;;
def mf_loadFileName=
[set position 9]
[e %@strMyFavoritesINI]
[%@currentFavoritesCount=%Lines]
[if %@currentFavoritesCount <= 1]
[q %@strMyFavoritesINI]
[position 9]
[enddef]
[end]
[n .MyFavorites]
[top] [delete line] ;; 刪除第一行 [MyFavorites]
[begin line] ;; 到行首
[repeat %Lines] ;; 有幾行作幾次
[l/=/] ;; 找等號
[erase end line] ;; 刪除等號之後的字串
[end]
[file %@strMyFavoritesTMP]
[position 9]
;;---------------------------------------------
;; ?#125;啟我的最愛檔案 讀取我的最愛 INI 取得我的最愛的原始檔名,並?#125;啟它。
;;
def mf_openItem=
[getini %@strMyFavoritesINI, MyFavorites, %1] ;; 讀出檔名
[e "%String"] ;; ?#125;啟檔案 ?#91;上 " " 可以讀空白長檔名
;;---------------------------------------------
;; 刪除某一我的最愛 在我的最愛 INI 中找到要刪除的那一項,將它刪除。
;;
def mf_deleteItem=
[set position 9]
[%strItem="%1="]
[e %@strMyFavoritesINI]
[top]
[begin line] ;; 到行首
[l/^^%strItem/E] ;; 找要刪除的 Key
[if %Found]
[delete line] ;; 刪除 Key 那一行
[end]
[file]
[position 9]
[createmfpop]
;;---------------------------------------------
;; ?#91;入我的最愛 ?#125;啟一對話視窗,輸入檔案別名,再按 [?#91;入] 即可。
;;
def mf_addItemDialog=
[%strTitle="請輸入『我的最愛』檔案別名 "] ;; 在我的電腦,如果沒有後置空白
[%strPath ="%FilePath "] ;; 字串不會完全顯示 <HE_BUG>
[%strFile ="%File "] ;; 應該是在計算字串寬度時有誤!
;; 字串如果太長,在 ltext 時會當!!
[strlen %strFile] ;; 如果字串大於 40 ,則只取 40 個字
[if %Len >40] [strleft %strFile 40] [%strFile=%String] [end]
[strlen %strPath] ;; 如果字串大於 40 ,則只取 40 個字
[if %Len >40] [strright %strPath 40] [%strPath=%String] [end]
[resetdialog ?#91;入我的最愛]
[dialogbox ?#91;入我的最愛, -1,-1, 200,108]
[dialogfont 細明體,16,16]
[ltext %strTitle, 36, 8]
[edittext %FileName, 1, 16, 28, 168, 16]
[ltext %strPath, 16, 52]
[ltext %strFile, 16, 66]
[defpushbutton ?#91;入(&A), 1, 46, 86, 48, 16] ;; Windows中預?#93; 1 為 OK
[pushbutton 取消(&C), 2,106, 86, 48, 16] ;; Windows中預?#93; 2 為 CANCEL
[enddialog]
[if %PushButton==1] ;; ?#91;入(&A)
[strlen %EditText1]
[if %Len > 0]
[writeini %@strMyFavoritesINI, MyFavorites, %EditText1, %FullName]
[end]
[else] ;; 取消(&C)
[message]
[end]
[createmfpop]
;;---------------------------------------------
;; 管理我的最愛 ?#125;啟一對話視窗,提供管理/使用我的最愛的所有功能。
;;
def myfavorites=
[mf_loadFileName]
[if %@currentFavoritesCount <= 1 ]
[mf_addItemDialog] ;; 如果目前 INI 是空的,則「增?#91;目前檔案」
[else]
[resetdialog 我的最愛(在檔名上點兩下可以直接?#125;啟)]
[dialogbox 我的最愛(在檔名上點兩下可以直接?#125;啟), -1,-1, 256, 200]
[listbox %@strMyFavoritesTMP, 1, 4, 4, 248, 178, H]
[dialogfont 細明體,12,12]
[defpushbutton 編輯(&E), 1, 76, 186, 32, 10] ;; Windows中預?#93; 1 為 OK
[pushbutton 取消(&C), 2, 116, 186, 32, 10] ;; Windows中預?#93; 2 為 CANCEL
[pushbutton 增?#91;目前檔案(&A), 3, 156, 186, 62, 10]
[pushbutton 移除選擇檔案(&D), 4, 6, 186, 62, 10]
[enddialog]
[if %PushButton==1] ;; 編輯(&E)
;; [mf_openItem %ListBox] ;; ★ 傳參數有時會發生錯誤?#93;可能有空白或特殊字元時!)
[getini %@strMyFavoritesINI, MyFavorites, %ListBox] ;; 讀出檔名
[if %String == ".DIR"] ;; 看看這個最愛是不是 .DIR
[myfdir] ;; 如果是 執行 [myfdir]
[elseif %String == ".RECENT"] ;; 看看這個最愛是不是 .RECENT
[recent file] ;; 如果是 執行 [recent file]
[elseif %String == "#\NONAME"] ;; 看看這個最愛是不是 #\NONAME
[e "#\NONAME"] ;; 如果是 執行 [cd #][e #\NONAME]
[else]
[e "%String"] ;; ?#125;啟檔案 ?#91;上 " " 可以讀空白長檔名
[end]
[elseif %PushButton==3] ;; 增?#91;目前檔案(&A)
[mf_addItemDialog]
[elseif %PushButton==4] ;; 移除選擇檔案(&D)
[mf_deleteItem %ListBox]
[myfavorites] ;; 再叫用自己一次,以便再刪除或?#125;啟其他檔案
[else] ;; 取消(&C)
[message]
[end]
[end]
;;---------------------------------------------
;; 在選到 .DIR 的最愛時的處理方式,是先判斷是否已 DIR 過,如果有,則?#125;啟舊的 DIR 資料。
;; 如果沒有,則執行 [dir] 查看工作目錄。
;;
def myfdir= [exist ".DIR"]
[if %InMemory] [e ".DIR"] ;; 若已 DIR 則?#125;啟 .DIR
[else] [dir] [end] ;; 若尚未 DIR 則執行 [dir]
;;---------------------------------------------
;; 建立 myfavorites.pop 動態建立 pop 選單檔
;;
;;1,?#91;入我的最愛 ,[mf_addItemDialog]
;;2,管理我的最愛 (Ctrl-5) ,[myfavorites]
;;3,最近?#125;啟的檔案(Ctrl-Enter),[recent file]
;;4,檔案目錄列表 ,[myfdir]
;;5,新增空白文件(我的文件夾) ,[e #\NONAME]
;;6,新增空白文件(目前工作目錄),[e NONAME]
;;7,取消 (Esc) ,[null]
;;.
;;A,我的最愛, [e C:\HE7\我的最愛.txt]
def createmfpop=
[%itemvar[0 ]="A"] [%itemvar[1 ]="B"] [%itemvar[2 ]="C"] [%itemvar[3 ]="D"] [%itemvar[4 ]="E"]
[%itemvar[5 ]="F"] [%itemvar[6 ]="G"] [%itemvar[7 ]="H"] [%itemvar[8 ]="I"] [%itemvar[9 ]="J"]
[%itemvar[10]="K"] [%itemvar[11]="L"] [%itemvar[12]="M"] [%itemvar[13]="N"] [%itemvar[14]="O"]
[%itemvar[15]="P"] [%itemvar[16]="Q"] [%itemvar[17]="R"] [%itemvar[18]="S"] [%itemvar[19]="T"]
[%itemvar[20]="U"] [%itemvar[21]="V"] [%itemvar[22]="W"] [%itemvar[23]="X"] [%itemvar[24]="Y"]
[%itemvar[25]="Z"]
[e %@strMyFavoritesINI]
[n %@strMyFavoritesPOP]
[top] [delete line] ;; 刪除 [MyFavorites]
[begin line] [split]
[top] [begin line] ;; ?#91;入預?#93;選項
'1,?#91;入我的最愛 ,[mf_addItemDialog]'[split]
'2,管理我的最愛 (Ctrl-5) ,[myfavorites]'[split]
'3,最近?#125;啟的檔案(Ctrl-Enter),[recent file]'[split]
'4,檔案目錄列表(dir) ,[myfdir]'[split]
'5,新增空白文件(我的文件夾) ,[cd #][e NONAME]'[split]
;; '5,新增空白文件(我的文件夾) ,[e "#\NONAME"]'[split]
'6,新增空白文件(目前工作目錄),[e NONAME]'[split]
'7,取消 (Esc) ,[null]'[split]
'.'[down]
[%ss="%"][%i=0]
[repeat *] ;; ?#91;入最前面的 26 個最愛
[replace mode][begin line][l/=/]
[if !%Found] [break] [end] ;; 如果找不到 = 表示結束
',' ;; 將 = 改成 ,
[%c=%Column][%flag_dir=0][%flag_recent=0]
[%flag_noname=0]
[push mark]
[mark eol]
[if %MarkText==".DIR"] ;; 找看看這個最愛是不是 .DIR
[delete line][continue]
[elseif %MarkText==".RECENT"] ;; 找看看這個最愛是不是 .RECENT
[delete line][continue]
[elseif %MarkText=="#\NONAME"] ;; 找看看這個最愛是不是 #\NONAME
[delete line][continue]
[elseif %MarkText=="NONAME"] ;; 找看看這個最愛是不是 NONAME
[delete line][continue] ;; 以上都是內定的最愛,已放入內定選單
[end] ;; 所以,如果找到,則刪除以免重覆
[pop mark]
[column %c]
[insert mode]
'[e '[end line]']'
[begin line]'%itemvar[%i],'
[if %Line == %Lines] [break] [end] ;; 如果處理到最後一行,表示結束
[down][%i=%i+1]
[if %i>=26] [break] [end] ;; 如果已大於 26 個則結束
[end]
[if %Line != %Lines] ;; 我的最愛大於 26 個!
[push mark] ;; 將多的刪除!
[mark line][bottom][mark line][delete mark]
[pop mark]
[end]
[file]
沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....