楊 靜 ,解瑞清,楊克佳,馬春燕 ,王法波 ,楊秀蘋 ,莊肅學
(1.日照市林業(yè)局,山東 日照 276826;2.莒縣林業(yè)局)
隨著國民經(jīng)濟及科學技術(shù)的發(fā)展,粗放的林業(yè)管理方式已經(jīng)成為限制林業(yè)發(fā)展的重要因素。在林業(yè)管理過程中,文檔管理是至為重要的環(huán)節(jié)。如何管理日益海量化、電子化的林業(yè)文檔已經(jīng)成為林業(yè)基礎研究與應用領域中的重要問題。盡管電子文檔解決了傳統(tǒng)紙質(zhì)文檔占用過多實體空間、修改保存不便等問題,但是保存混亂、難于查閱等問題仍未解決。構(gòu)建林業(yè)文檔管理軟件對于林業(yè)部門的日常管理工作具有重要意義。
Visual Basic語言作為一種基于Windows環(huán)境的程序設計語言,其面向?qū)ο蟮目梢暬幊棠J绞蛊湓谏仲Y源數(shù)據(jù)采集、林業(yè)地圖自動化制圖、木材無損檢測、水文生態(tài)研究等林業(yè)領域已有較多應用。
本文探討如何基于Visual Basic語言開發(fā)林業(yè)電子文檔管理軟件,以期為林業(yè)部門文檔高效管理工作提供必要的理論與技術(shù)依據(jù)。
軟件基于Windows操作平臺開發(fā),編程語言為Visual Basic(版本:6.0)。為滿足文檔管理工作的需求,按照界面簡潔、功能實用、操作簡便、運行快速的基本原則,設計如下基本功能:外部文檔導入、文檔分類管理、以及文檔默認方式打開、保存、修改、復制、重命名、刪除等基本操作。另外,結(jié)合文檔管理工作相對枯燥、對時效性要求較高等特點,設計如下附加功能:音頻播放、網(wǎng)頁鏈接以及當前時間顯示等。為滿足交流需要及擴大使用范圍,界面采用中英雙語。
按照界面簡潔、功能實用的原則將界面分為4個區(qū)域(圖 1):
(1)頂部按鈕區(qū):該區(qū)域位于界面最上部。設置“導入文件Import Files”、“導入簡介 Import Introductions”、 “刷 新 列 表 Refresh the list”、 “ 使 用 說 明Readme”、“單位博客 Author’s blog”5 個命令按鈕。 其中“導入文件”和“導入簡介”命令可以從外部向軟件系統(tǒng)導入林業(yè)文檔;“刷新列表”命令用于在導入文檔后更新文件列表;“使用說明”命令用于詳細介紹軟件操作技巧;“單位博客”命令根據(jù)部門實際設置固定的網(wǎng)站鏈接,方便文檔管理人員快捷查閱網(wǎng)絡資料。
(2)左側(cè)文件列表區(qū):該區(qū)域位于界面中部整個左側(cè)區(qū)域。設置一個“文件列表File List”文本框用于顯示軟件系統(tǒng)實際收錄的林業(yè)文檔(可以導入任意格式的文件)。文件列表框上方實時顯示系統(tǒng)實際收錄的文檔數(shù)量及當前時間。
(3)右側(cè)文檔信息區(qū):該區(qū)域位于界面中部及下部整個右側(cè)區(qū)域。設置兩個文本框:“當前選中文件Current selected file”(用于顯示當前選中文件的完整文件名)和“文件簡介Introduction”(用于顯示具體文檔的屬性信息等)。在“文件簡介”文本框下方實時顯示當前文檔簡介字數(shù)等統(tǒng)計信息。右下部為“修改簡介Modify Introduction”命令按鈕,通過該按鈕實現(xiàn)對文檔簡介的修改。為使文檔免于意外修改,在軟件主界面上不允許直接復制、修改及刪除文檔,而需通過軟件默認的快捷鍵執(zhí)行上述操作。
(4)底部多媒體區(qū):位于界面左下部。設置一個“Windows Media播放器控件”(用于自動播放指定音頻文件)。
圖1 林業(yè)文檔管理軟件界面設計圖
為使軟件符合操作簡便、運行快速的要求,在代碼編寫中力求精簡優(yōu)化,重點滿足核心功能的代碼需求。通過逐步的代碼優(yōu)化,最終主程序僅占用132 KB磁盤空間。以下為主要功能的代碼:
(1)導入外部文檔:
Private Sub Dir1_Change()
File1.Path=Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path=Drive1.Drive
End Sub
Private Sub File1_Click()
Dim oldname As String
Dim newname As String
selectedfile=File1.Path&""&File1.FileName
oldname=selectedfile
newname=App.Path+"Documents"+File1.FileName
FileCopy oldname,newname
End Sub
(2)修改文件簡介:
Private Sub Commandmodify_Click()
Dim yyy As String
Dim yy As String
yyy=List1.Text
yy=yyy
yyy="X"+yyy+".txt"
If Dir(yyy)=""And yyy<>"X.txt"Then
Open yyy For Output As#1
Write#1,yy&":"
Close#1
MyShell(App.Path+""+yyy)
Else:MyShell(App.Path+""+yyy)
End If
End Sub
(3)默認方式打開文件:
Private Sub MyShell(Path As String)
Shell"rundll32 url.dll,FileProtocolHandler"""&Path&"""",vbNormalFocus
End Sub
Private Sub list1_dblclick()
Dim yyyy As String
yyyy=List1.Text
MyShell App.Path+"Documents"+yyyy
End Sub
(4)系統(tǒng)內(nèi)部復制(選中后按C鍵實現(xiàn)):
If KeyAscii=99 Or KeyAscii=67 Then
yy=List1.Text
yyyy=List1.Text
oldname=App.Path+"Documents"+yy
newname=App.Path+"Documents"+"Copy of"+yy
FileCopy oldname,newname
End if
(5)系統(tǒng)內(nèi)部重命名(選中后按R鍵實現(xiàn)):
If KeyAscii=114 Or KeyAscii=82 Then
yy=List1.Text
yyyy=List1.Text
oldname=App.Path+"Documents"+yy
a=InputBox("輸入新文件名Input a new filename:","重命名 Rename",yy)
newname=App.Path+"Documents"+a
Name oldname As newname
End if
(6)系統(tǒng)內(nèi)部刪除(選中后按D鍵實現(xiàn)):
If KeyAscii=100 Or KeyAscii=68 Then
yy=List1.Text
yyyy=List1.Text
oldname=App.Path+"Documents"+yy
response=MsgBox("確定刪除該文件嗎Are you sure to delete this file?",vbYesNoCancel,"確認刪除Delete it")
If response=vbYes Then
Kill oldname
Else
End If
(7)自動載入信息:
Private Sub Form_Load()
sosuofile1(App.Path+"Documents")
sosuofile2(App.Path+"X")
Form1.Print
Form1.Print
Form1.Print Space(1)+"本系統(tǒng)目前總計收錄"+Str(List1.ListCount)+"篇文獻"+Str(List2.List-Count)+"項文獻簡介。"
Form1.Print Space(1)+"There are"+Str(List1.ListCount)+"files and"+Str(List2.ListCount)+"introductions in total."
WindowsMediaPlayer1.URL=App.Path&"BGMBGM.mp3"
End Sub
(8)刷新文件列表:
Private Sub Commandrefresh_Click()
List1.Clear
List2.Clear
Form1.Cls
sosuofile1(App.Path+"Documents")
sosuofile2(App.Path+"X")
Form1.Print
Form1.Print
Form1.Print Space(1)+"本系統(tǒng)目前總計收錄"+Str(List1.ListCount)+"篇文獻"+Str(List2.List-Count)+"項文獻簡介。"
Form1.Print Space(1)+"There are"+Str(List1.ListCount)+"files and"+Str(List2.ListCount)+"introductions in total."
End Sub
(9)網(wǎng)站鏈接:
Private Sub Commandweb_Click()
Dim website As String
Shell"C:\Program Files\Internet Explorer\IEXPLORE.exe http://www.sdau.edu.cn/"
End Sub
(10)實時校對與顯示系統(tǒng)時間:
Private Sub Timer1_Timer()
Picture1.Cls
Picture1.Print Space(0);Year(Now);"年";Month(Now);"月";Day(Now);"日";WeekdayName(Weekday(Now));Hour(Now);"點";Minute(Now);"分";Second(Now);"秒"
End Sub
通過Visual Basic語言構(gòu)建林業(yè)電子文檔管理軟件是完全可行的。此類軟件系統(tǒng)可以導入任意格式的電子文檔,并可以進行文件的復制、修改、重命名等基本操作,而且還可以對任意文件添加文件簡介,該功能可以使文檔管理人員在不打開原文件的情況下回顧文件內(nèi)容,提高工作效率。軟件系統(tǒng)還可以增加音頻播放、網(wǎng)站直達等功能,保持工作人員高效工作狀態(tài)。此外,采用上述界面設計和代碼編程的軟件主程序所占磁盤空間僅為132 KB,無需安裝直接可以使用,軟件運行對電腦硬件配置要求極低,運行速度快,界面簡潔清晰,而且采用中英雙語界面,這些都使得軟件的應用范圍更加廣泛,可操作性更強,不僅適于林業(yè)管理及科研部門需要,對其他領域相關(guān)部門人員的文件管理工作也具有普遍適用性和較高應用價值。
基于Visual Basic開發(fā)的林業(yè)電子文檔管理軟件也存在一定的不足:只能在Windows操作系統(tǒng)中運行。該缺點使得使用其他操作平臺的文檔管理人員無法使用該類軟件。不過,由于目前大多數(shù)計算機采用的是Windows操作平臺,因而,上述缺點對大多數(shù)林業(yè)文檔管理人員的實際工作不會造成影響。
[1]李磊,徐宗學.基于VB 6.0的生態(tài)基流計算軟件開發(fā)與應用[J].水土保持通報,2012,32(3):145-149.
[2]王偉平,謝力生.基于VB的人造板多層熱壓機杠桿式同時閉合裝置專家系統(tǒng)程序設計 [J].林業(yè)機械與木工設備,2008,36(11):38-40.
[3]馮國紅,朱玉杰,安麗華.基于VB的木材無損檢測近紅外光譜圖檢索系統(tǒng)的實現(xiàn) [J].森林工程,2011,27(1):16-18.
[4]王志平,李耀翔,萬道印.基于VB的森林資源數(shù)據(jù)采集系統(tǒng)構(gòu)建[J].森林工程,2010,26(1):12-15.
[5]唐朝輝.淺談基層林業(yè)檔案管理存在的問題[J].吉林農(nóng)業(yè),2011,(6):221.
[6]李東平.基于MapInfo和VB的林業(yè)地圖跨平臺制圖自動化研究[D].西北師范大學碩士學位論文,2003.