基于Visual Basic语言的林业电子文档管理软件开发及应用

2018-07-02 08:56解瑞清杨克佳马春燕王法波杨秀苹庄肃学
山东林业科技 2018年2期
关键词:管理软件列表文档

杨 静 ,解瑞清,杨克佳,马春燕 ,王法波 ,杨秀苹 ,庄肃学

(1.日照市林业局,山东 日照 276826;2.莒县林业局)

随着国民经济及科学技术的发展,粗放的林业管理方式已经成为限制林业发展的重要因素。在林业管理过程中,文档管理是至为重要的环节。如何管理日益海量化、电子化的林业文档已经成为林业基础研究与应用领域中的重要问题。尽管电子文档解决了传统纸质文档占用过多实体空间、修改保存不便等问题,但是保存混乱、难于查阅等问题仍未解决。构建林业文档管理软件对于林业部门的日常管理工作具有重要意义。

Visual Basic语言作为一种基于Windows环境的程序设计语言,其面向对象的可视化编程模式使其在森林资源数据采集、林业地图自动化制图、木材无损检测、水文生态研究等林业领域已有较多应用。

本文探讨如何基于Visual Basic语言开发林业电子文档管理软件,以期为林业部门文档高效管理工作提供必要的理论与技术依据。

1 开发环境与功能设计

软件基于Windows操作平台开发,编程语言为Visual Basic(版本:6.0)。为满足文档管理工作的需求,按照界面简洁、功能实用、操作简便、运行快速的基本原则,设计如下基本功能:外部文档导入、文档分类管理、以及文档默认方式打开、保存、修改、复制、重命名、删除等基本操作。另外,结合文档管理工作相对枯燥、对时效性要求较高等特点,设计如下附加功能:音频播放、网页链接以及当前时间显示等。为满足交流需要及扩大使用范围,界面采用中英双语。

2 界面设计与代码实现

2.1 界面设计

按照界面简洁、功能实用的原则将界面分为4个区域(图 1):

(1)顶部按钮区:该区域位于界面最上部。设置“导入文件Import Files”、“导入简介 Import Introductions”、 “刷 新 列 表 Refresh the list”、 “ 使 用 说 明Readme”、“单位博客 Author’s blog”5 个命令按钮。 其中“导入文件”和“导入简介”命令可以从外部向软件系统导入林业文档;“刷新列表”命令用于在导入文档后更新文件列表;“使用说明”命令用于详细介绍软件操作技巧;“单位博客”命令根据部门实际设置固定的网站链接,方便文档管理人员快捷查阅网络资料。

(2)左侧文件列表区:该区域位于界面中部整个左侧区域。设置一个“文件列表File List”文本框用于显示软件系统实际收录的林业文档(可以导入任意格式的文件)。文件列表框上方实时显示系统实际收录的文档数量及当前时间。

(3)右侧文档信息区:该区域位于界面中部及下部整个右侧区域。设置两个文本框:“当前选中文件Current selected file”(用于显示当前选中文件的完整文件名)和“文件简介Introduction”(用于显示具体文档的属性信息等)。在“文件简介”文本框下方实时显示当前文档简介字数等统计信息。右下部为“修改简介Modify Introduction”命令按钮,通过该按钮实现对文档简介的修改。为使文档免于意外修改,在软件主界面上不允许直接复制、修改及删除文档,而需通过软件默认的快捷键执行上述操作。

(4)底部多媒体区:位于界面左下部。设置一个“Windows Media播放器控件”(用于自动播放指定音频文件)。

图1 林业文档管理软件界面设计图

2.2 主要功能代码

为使软件符合操作简便、运行快速的要求,在代码编写中力求精简优化,重点满足核心功能的代码需求。通过逐步的代码优化,最终主程序仅占用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)系统内部复制(选中后按C键实现):

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)系统内部重命名(选中后按R键实现):

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)系统内部删除(选中后按D键实现):

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)+"本系统目前总计收录"+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)+"本系统目前总计收录"+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)网站链接:

Private Sub Commandweb_Click()

Dim website As String

Shell"C:\Program Files\Internet Explorer\IEXPLORE.exe http://www.sdau.edu.cn/"

End Sub

(10)实时校对与显示系统时间:

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

3 结论与讨论

通过Visual Basic语言构建林业电子文档管理软件是完全可行的。此类软件系统可以导入任意格式的电子文档,并可以进行文件的复制、修改、重命名等基本操作,而且还可以对任意文件添加文件简介,该功能可以使文档管理人员在不打开原文件的情况下回顾文件内容,提高工作效率。软件系统还可以增加音频播放、网站直达等功能,保持工作人员高效工作状态。此外,采用上述界面设计和代码编程的软件主程序所占磁盘空间仅为132 KB,无需安装直接可以使用,软件运行对电脑硬件配置要求极低,运行速度快,界面简洁清晰,而且采用中英双语界面,这些都使得软件的应用范围更加广泛,可操作性更强,不仅适于林业管理及科研部门需要,对其他领域相关部门人员的文件管理工作也具有普遍适用性和较高应用价值。

基于Visual Basic开发的林业电子文档管理软件也存在一定的不足:只能在Windows操作系统中运行。该缺点使得使用其他操作平台的文档管理人员无法使用该类软件。不过,由于目前大多数计算机采用的是Windows操作平台,因而,上述缺点对大多数林业文档管理人员的实际工作不会造成影响。

[1]李磊,徐宗学.基于VB 6.0的生态基流计算软件开发与应用[J].水土保持通报,2012,32(3):145-149.

[2]王伟平,谢力生.基于VB的人造板多层热压机杠杆式同时闭合装置专家系统程序设计 [J].林业机械与木工设备,2008,36(11):38-40.

[3]冯国红,朱玉杰,安丽华.基于VB的木材无损检测近红外光谱图检索系统的实现 [J].森林工程,2011,27(1):16-18.

[4]王志平,李耀翔,万道印.基于VB的森林资源数据采集系统构建[J].森林工程,2010,26(1):12-15.

[5]唐朝辉.浅谈基层林业档案管理存在的问题[J].吉林农业,2011,(6):221.

[6]李东平.基于MapInfo和VB的林业地图跨平台制图自动化研究[D].西北师范大学硕士学位论文,2003.

猜你喜欢
管理软件列表文档
仓储管理软件在物流自动化解决方案中的应用与发展
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
学习运用列表法
扩列吧
项目法在工程造价管理软件中的应用
共享电单车的管理软件
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
列表画树状图各有所长