張鳳 岳群峰 林惠明 張旭
摘 ? 要:針對(duì)無(wú)機(jī)功能材料化學(xué)實(shí)驗(yàn)數(shù)據(jù)處理中的可逆性判定問(wèn)題,以Visual Basic.net作為開(kāi)發(fā)工具,利用VB語(yǔ)言編寫(xiě)的電極反應(yīng)可逆性判定的程序;利用程序設(shè)計(jì)的窗體,僅導(dǎo)入實(shí)驗(yàn)數(shù)據(jù),經(jīng)過(guò)程序的后臺(tái)運(yùn)行就可輸出實(shí)驗(yàn)結(jié)果和圖表。
關(guān)鍵詞:電化學(xué) ?可逆性判定 ?Visual Basic
中圖分類(lèi)號(hào):O642 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2019)02(b)-0077-02
電化學(xué)循環(huán)伏安測(cè)試中,可逆性判定涉及多組數(shù)據(jù)處理,需花費(fèi)大量的時(shí)間[1]。微軟的VB能夠以Windows平臺(tái)為目標(biāo),快速創(chuàng)建簡(jiǎn)單的應(yīng)用程序[2]。利用已成熟的VB軟件開(kāi)發(fā)前臺(tái)應(yīng)用程序,將復(fù)雜數(shù)據(jù)的處理交給EXCEL,最后將處理結(jié)果以WORD文本形式輸出,使用者可以利用WORD自帶的編輯功能對(duì)輸出的結(jié)果進(jìn)行編輯打印[3]。
1 ?電化學(xué)可逆性判據(jù)
電化學(xué)的可逆性是指在工作電極和溶液中的氧化還原種之間發(fā)生電子轉(zhuǎn)移的速率。判斷電極反應(yīng)的可逆性程度的判據(jù):(1)Ipa/Ipc≈1;(2)Epa-Epc=55~65mV(25℃條件下),其中,Ipa和Ipc為氧化和還原的峰電流,Epa和Epc為氧化和還原的峰電位。
2 ?VB程序設(shè)計(jì)編程步驟
2.1 數(shù)據(jù)輸入
選用TXT文本作為數(shù)據(jù)源,利用TabControl控件輸入多組數(shù)據(jù)的,以節(jié)省軟件界面空間。使用OpenFileDialog控件實(shí)現(xiàn)對(duì)數(shù)據(jù)文件的選擇,并將文件路徑顯示到TextBox中:
DKWJ = New OpenFileDialog()
DKWJ.InitialDirectory = "C:\Users\Administrator\Desktop"
DKWJ.Filter = "文本文件|*.txt|所有文件|*.*" '//設(shè)置文件類(lèi)型
DKWJ.FilterIndex = 1
DKWJ.Title = "選擇數(shù)據(jù)源文件" '//設(shè)置標(biāo)題
DKWJ.FileName = ""
DKWJ.AutoUpgradeEnabled = True '//隨系統(tǒng)升級(jí)而升級(jí)外觀
DKWJ.RestoreDirectory = True '還原當(dāng)前目錄
If (DKWJ.ShowDialog() = DialogResult.OK) Then '//如果點(diǎn)的是確定就得到文件路徑
DKWJ.FileName = DKWJ.FileName '//得到文件路徑
Dim sr As New System.IO.StreamReader(DKWJ.FileName, System.Text.Encoding.GetEncoding("gb2312"))
Dim lujing As String
lujing = System.IO.Path.GetDirectoryName(DKWJ.FileName) + "\" + System.IO.Path.GetFileName(DKWJ.FileName)
TextBox1.Text = lujing
2.2 數(shù)據(jù)分析
(1)創(chuàng)建excel的代碼。
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
xlApp = CreateObject("Excel.Application") '創(chuàng)建一個(gè)excel副本
xlBook = xlApp.Workbooks.Add '打開(kāi)已存在的EXCEL工件簿文件
xlSheet = xlBook.Worksheets("Sheet1") '設(shè)置活動(dòng)工作表
xlSheet.Activate()
(2)EXCEL創(chuàng)建完畢后,導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)。
Do While Not sr.EndOfStream
Dim a, b As Integer
Dim c As Integer = 1
a = arrlTemp.Count
For b = 0 To a
TextBox2.Text = b
Dim parts As String() = arrlTemp(b).Split(New Char() {" "c}) '分割單句文本
Dim part As String
xlSheet.Cells(b + 1, 1) = c ?'將分割的值賦值給指定單元格
Dim d As Long = 1
For Each part In parts