谢建军
摘要:在教学工作中,特别是高考报名、学籍管理以及我们使用自行设计的高中信息技术学业水平考试系统的过程中,经常需要对学生的照片进行重命名,重命名后,批量导入系统中,因此设计了本工具。
关键词:图片;重命名;VB
在实际工作中,经常遇到要把所拍的照片进行重命名,重命名简单四步就可以完成,但如果对大量的照片重命名,就不简单。在学籍管理、高考报名、我们设计的高中信息技术学考模拟系统应用中需要对大量的照片进行重命名。数码相机所拍照片的文件名往往是以Img+XXXX的形式自动命名,而管理工作中一般是以身份证或证件号来命名。为提高重命名的效率,需要设计一个图片重命名工具。如何设计图片重命名工具?具体如下。
一、调查需求
根据工作需求,图片重命名工具的操作顺序过程是这样:定位图片所在文件夹,显示图片文件名,选定文件名后,能预览图片,显示姓名+身份证号,比对相片与姓名并选定,单击“重命名”按钮,完成一个图片的重命名。
二、建立数据库
数据库采用Access,主要用来存放学生信息,字段有ID,姓名、性别、证件号、相片名,ID使用自动编号,其余字段全部使用文本,姓名字段长宽为10,性别字段长度为2,证件号字段考虑到使用身份证作为证件号,所以长度为18,当然也可以使用1701001这样的形式作为证件号,表示17级01班第一个同学。相片名字段是用来显示姓名+证件号的内容,所以长度是姓名的长度+证件号的长度,长度为28。
三、图片重命名工具的设计
软件采用VB 6.0设计,图片重命名操作需要完成5步工作,分别是:
1.下载模板
首先,根据数据库的字段设计情况,利用Excel建立模板文件,对应的字段是姓名、性别、证件号、相片名,全部设置为文本,存放在系统文件夹下的downtemplate 文件夹里。用户点击“下载模板”按钮就可以完成。按钮的关键代码如下:
MyFos.CopyFile sourcefile, targetfile, True
Sourcefile为源文件,targetfile为目标文件,用户在使用中下载好模板后,就填写好模板,可以利用全国学籍系统导出的信息完成模板信息的建立。
2.导入考生信息
完成学生信息模板的建立后,接下来就是导入学生信息了,一般在导入前,需要把旧的学生信息先删除,再导入新的。所以导入考生信息这一步需要两个命令按钮来完成,一个是删除旧信息,一个是导入新的学生信息。
“删除旧信息”命令按钮的关键代码是:
delsql = "delete from bmb":cn.Execute delsql
“导入学生信息”命令按钮的的关键代码是:
sql = "insert into bmb(姓名,性别,班级,证件号) values ('" & rss.Fields(0) & "','" & rss.Fields(1) & "','" & rss.Fields(2) & "','" & rss.Fields(3) & "')"
3.选择要重命名的图片(相片)
导入好学生信息后,就可以进行重命名的工作了。重命名首先要选择文件,选择文件的设计需要用到的控件有:Drive、DirListBox、FileListBox三个控件,利用Drive控件选择驱动器,再利用DirListBox控件选择文件夹,最后利用FileListBox控件选择文件。Drive控件的Change事件代码为Dir1.Path = Drive1.Drive,DirListBox控件的Change事件代码为File1.FileName = Dir1.Path & "\*.jpg",FileListBox控件的单击事件代码为:
Image1.Stretch = True
Image1.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)
从FileListBox控件的单击事件代码知道使用image控件来预览图片,image控件的Stretch属性设置为 True,让图片适应image控件的大小来显示。
4.筛选名单
为了更好地找到对应的证件号,从而能快速重命名图片,筛选工作就突显其重要性。筛选的设计使用了一个文件框和一个命令按钮,文件框用来输入班级,命令按钮实现筛选功能,“筛选”命令按钮的的关键代码如下:
rs.open "select * from bmb where 班级 ='" & Trim(Text1.Text) & "'", cn, adOpenDynamic, adLockOptimistic
rs记录集对象,通过SQL 结构化语言实现筛选,通过List1.AddItem把数据表的相片名字段信息添加到list1控件中。
5.重命名
筛选完成后,选择源文件,预览图片,通过观览图片比对目标文件名,选择对应的目标文件名,单击“重命名”按钮,就可以完成一个图片的重命名,重复3和5,完成不同图片的重命名。“重命名”按钮的关键代码如下:
Name Trim(Text3.Text) As App.Path & "\process\" & Trim(Text2.Text) & ".jpg"
每完成一個图片的重命名,就在List1控件清除,使用list的removeitem方法即可实现,使用file控件的Refresh方法刷新File1控件的文件列表。这样方便选择源文件和确认下一个图片的新文件名。通过这5步就完成图片重命名工具的设计。
在使用过程中,第一、二、四步是准备工作,完成这两步工作后,只需要重复执行第三、五步就可以快速完成图片重命名了。通过此工具的使用,可以解放系统管理员的工作,图片重命名工作可以留给班主任或同班同学来完成,提高了工作效率,是一个功能专一效率惊人的好工具。
(作者单位:广西横县横州中学 530300)