?????很久沒有更新部落狗了,主要是沒時間(太懶^_^),借著給同事交換鏈接的機會,胡寫它個一兩篇吧。閑話少說,進入正題。??
?????在日常生活中,難免會遇到一些繁瑣工作(比如數(shù)據(jù)庫初始化或者備份操作,就拿狗狗的項目實施工作來說,每到一個現(xiàn)場,安裝oracle,創(chuàng)建數(shù)據(jù)庫—創(chuàng)建表空間—創(chuàng)建用戶—導(dǎo)入初始化數(shù)據(jù)……),一遍又一遍的重復(fù)著

,真的很累,唉……
?????路人甲:你丫還是程序員吶,這種事情交給CPU做就可以了嘛~
?????無奈,誰讓咱吃了這碗飯呢,既然如此,還是抗起鋤頭,自己寫程序來解決吧,要不連路人都瞧不起了

。笑話歸笑話,面對如此簡單的問題,當(dāng)然也要選擇最簡單的方式來解決,下面請跟隨狗狗一起,利用python來處理這件小事,感受一下動態(tài)語言的簡潔和強大吧!
?????麻雀雖小,五臟俱全,咱們涂鴉也要做得規(guī)范點:
第一步,配置開發(fā)環(huán)境
????????
?????這里選擇wxpython作為構(gòu)建庫,為什么不選tk、pyqt或者gtk呢?因為我不了解^_#。
1、介紹:wxpython是一個……(此處省略若干google搜集而來的文字,官站
http://wxpython.org/?)
2、下載地址:
http://surfnet.dl.sourceforge.net/sourceforge/wxpython/wxPython2.6-win32-unicode-2.6.3.3-py24.exe??????
3、版本:截止本文發(fā)布,最新版本為
2.6.3.3,我們選擇對應(yīng)python2.4的unicode版本,因為現(xiàn)在很多三方庫都還不支持2.5。
4、安裝:首先,得到python的老家
http://www.python.org/去下載python安裝,版本得和wxpython相對應(yīng),2.4.x都可以;然后再安裝三方庫,比如wxpython和cx_Oracle,后者是一個用來訪問orecle的庫,符合dpapi2.0標(biāo)準(zhǔn),使用非常方便,這里下載:
http://sourceforge.net/projects/cx-oracle/5、IDE:有很多選擇,比如spe、Komodo、pydev或者干脆就用自帶的IDLE也行。針對java開發(fā)人員,pydev是最好的選擇,她是一個eclipse的插件,支持代碼提示和自動完成,很不錯,最新版本1.2.2,到這里下載安裝:
http://www.fabioz.com/pydev/download.html請注意,這個版本要求eclipse3.2以上才能用。也可以用在線升級的方式安裝,地址:
http://www.fabioz.com/pydev/updates其中包含了兩個插件,pydev和pydev extensions,第二個是pydev的擴展,為其添加了不少新功能,雖然要注冊,但也無妨,頂多就是每隔半小時跳出一個窗口提示一下,不影響正常使用。
?
第二步,設(shè)計界面原型
?????開發(fā)環(huán)境搭建好了,不用急著馬上編碼,就我個人的習(xí)慣,做GUI程序的話還是先設(shè)計出界面原型的好。首先分析一下,我們需要實現(xiàn)些什么功能:
1、通過用戶指定的數(shù)據(jù)庫管理員帳號、密碼以及oracle數(shù)據(jù)庫服務(wù)器地址,建立連接;
2、建立相應(yīng)的表空間( TableSpace ),命名及存放地址由用戶指定;
3、建立新用戶,并將提供的數(shù)據(jù)庫備份文件導(dǎo)入服務(wù)器;
????以上是針對新建數(shù)據(jù)庫的操作,如果表空間和用戶已經(jīng)存在,需要恢復(fù)數(shù)據(jù)庫的話,只需要刪除并重建此用戶,再導(dǎo)入數(shù)據(jù)即可。同時,提供一個備份數(shù)據(jù)庫的功能,用于將現(xiàn)有數(shù)據(jù)庫導(dǎo)出為某個備份文件,方便恢復(fù)數(shù)據(jù)。
?????根據(jù)以上分析,可以初步畫出界面原型。這里推薦一個叫做GUI Design Studio的小玩意,用起來挺方便的,軟件很小,還支持不少組件的繪制,操作上也很簡單。好像Visio也可以畫?我沒用過,可能更專業(yè)些,但是寫小工具解決小問題嘛,能節(jié)省力氣就節(jié)省力氣了,難得裝那么大個東西。GUI Design Studio內(nèi)置了很多常見的界面組件,比如window,dialog,tab,toolbar和menu等,繪制操作也很簡單,在右邊的面板里選擇相應(yīng)的組件,拖放到畫布上就可以了,雙擊每個組件可以彈出相應(yīng)的設(shè)置選項,可以設(shè)置樣式、位置、大小等,比如window組件,可以設(shè)置窗口標(biāo)題,字體,以及顯示在右上角的按鈕等。頁面布局最簡單的辦法就是通過鼠標(biāo)拖動來控制大小和位置,而且,在將toolbar等組件添加到window上的時候,會自動“吸附”到合適的位置,非常方便。下面就是我初步設(shè)定的界面,用到了window、group、text、editbox、option和icon:

可以看到,我在一個窗口上安排了三個group,每個group中又分別放置了一些文本、輸入框、選擇按鈕和圖標(biāo),然后是三個按鈕排列在右下腳,怎么編碼實現(xiàn)這個布局,稍后會講解的,現(xiàn)在先看個大概,知道我們要做成什么樣子。其實這個GUI Design Studio不僅可以繪制靜態(tài)的圖形界面,也可以設(shè)計一些簡單的交互動作,比如點擊某個按鈕出現(xiàn)某個部件啊什么的,這里就不再詳述了,有興趣的可以自己試試。
?
?????開發(fā)環(huán)境和界面設(shè)計都搞完了,下一步就是考慮如何編碼實現(xiàn),利用wxpython做這件事非常簡單,這里我先給出最終的運行界面,具體的編寫過程下次再說。雖然和之前畫的還是有點點差別,但總體來說設(shè)計目標(biāo)還是達到了,呵呵:
???