謝建軍
摘要:在教學工作中,特別是高考報名、學籍管理以及我們使用自行設計的高中信息技術學業水平考試系統的過程中,經常需要對學生的照片進行重命名,重命名后,批量導入系統中,因此設計了本工具。
關鍵詞:圖片;重命名;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)