史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 應用軟體使用技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-08-23, 09:19 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 軟體 - UnZaR:讓我們在FTPRush中自由解壓

UnZaR:讓我們在FTPRush中自由解壓


如果經常使用FTPRush下載,一定會遇到很多zip或rar文件,筆者經常下載完就解開壓縮包裝,雖說FTPRush中可以通過視窗檔案總管表菜單呼叫WinRAR或WinZIP來進行解壓,但多一步操作,顯得很不方便,能不能將解壓功能整合在FTPRush中並利用快捷鍵操作呢?經過一番摸索,筆者終於將此功能實現。

FTPRush最強大的功能就是腳本功能,利用FTPRush的腳本設計器,我們可以輕易實現解壓rar或zip文件,考慮到這兩種文件最常見,我們只做解壓rar或zip文件。下面筆者說一說思路和具體實現方法:

具體思路就是在FTPRush中呼叫命令行程式實現解壓功能。FTPRush中自帶一個免費的解壓軟件unrar.exe,我們可以利用它來解壓rar玩,除此之外,我們還需要一個解壓zip文件的命令行小工具unzip.exe,可以從http://ftp.info-zip.org/pub/infozip/...目錄下。

我們還要考慮到需要能夠自動識別rar或zip文件而呼叫不同的程式來完成解壓,還應該在FTPRush本機視窗的滑鼠右鍵表菜單裡新增一個命令,考慮到鍵盤操作更加快捷,還要加上快捷鍵操作,這裡筆者選用大家都熟悉的Total Commander的解壓快捷鍵Alt+F9。設計完成後,我們只要在FTPRush本機視窗中選中一個rar或zip文件,然後按一下Alt+F9,文件就會被解壓出來,是不是很cool?當然你也可以用右鍵表菜單來完成這個功能。

1、首先打開FTPRush的腳本設計視窗,預定會載入FtpRush.pac這個文件,我們要做的就是在這裡面新增上我們的代碼。
FtpRush.pac裡面已經內含一些函數,我們找到procedure RefreshAndFXPManyTimes(Sender)這個函數,在它的結尾,即這段代碼緊跟著的兩個end後面就是我們要新增代碼的地方。另起一行,代碼如下:

代碼:
procedure UnZaR(Sender); //unpack zip or rar archive
begin
RushApp.UI.Selection.Prepare;
if RushApp.UI.Selection.IsLocalSide and (RushApp.UI.Selection.Count=1) then begin
FileFullPath := RushApp.UI.Selection.Items[0].FullPath;
FileName := RushApp.UI.Selection.Items[0].name;
FileLocalPath := RushApp.UI.Selection.LocalPath;
FileName_noEXT := copy(FileName,1,length(FileName)-4);
EXT:= copy(FileName,length(FileName)-2,length(FileName));
if strlower(EXT) = 'rar' then
ShellExecuteCommand('unrar.exe','unrar x -ad '+'"'+FileFullPath+'"',FileLocalPath,'');
else
if strlower(EXT) = 'zip' then
ShellExecuteCommand('unzip.exe','-d "'+FileName_noEXT +'" ' +'"'+FileFullPath+'"',FileLocalPath,'');
end else
ShowMessage('Please select one zip or rar file on LocalSide!');
end;


、上面這段函數就是實現自動識別zip或rar文件並呼叫解壓程式的功能,等於是執行能力已經具有,下面我們還要考慮呼叫,即將此功能整合FTPRush本機視窗的右鍵表菜單中,並配上酷酷的快捷鍵。向下繼續查找procedure OnSwitchlayout(Sender)函數,在第一個begin後面另起一行,新增上我們的代碼:

RushApp.UI.Menu.Local.Add('','UnZaR',5,'Alt+F9').OnClick :='UnZaR';//add menu


3、至此,代碼已經寫好,下面將會將代碼編譯並將其載入到FTPRush中。
打開表菜單 「文件」、「儲存」將我們的代碼儲存後,打開「除錯」、「編譯」,如果代碼輸入沒錯,會在腳本設計視窗下面的訊息欄裡提示「編譯成功」,若有錯的話,一定是代碼某些地方輸入錯誤了。編譯成功後,再次打開「文件」、「載入FtpRush.pac」,至此,我們大功告成。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 04:47 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1