Imports System.Collections.Generic Imports System.Text Imports System.Runtime.InteropServices Public Class IniFile Public filePath As String_ Private Shared Function WritePrivateProfileString(ByVal section As String, ByVal key As String, ByVal val As String, ByVal filePath As String) As Long End Function _ Private Shared Function GetPrivateProfileString(ByVal section As String, ByVal key As String, ByVal def As String, ByVal retVal As StringBuilder, ByVal size As Integer, ByVal filePath As String) As Integer End Function Public Sub New(ByVal iniPath As String) filePath = iniPath End Sub Public Sub WriteIniValue(ByVal Section As String, ByVal Key As String, ByVal value As String) WritePrivateProfileString(Section, Key, value, Me.filePath) End Sub Public Function ReadIniValue(ByVal Section As String, ByVal Key As String) As String Dim temp As New StringBuilder(255) Dim i As Integer = GetPrivateProfileString(Section, Key, "", temp, 255, Me.filePath) Return temp.ToString() End Function End Class
Private Sub bt_read_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_read.Click OpenFileDialog.Filter = "ini file (*.ini)|*.ini" If OpenFileDialog.ShowDialog = DialogResult.OK Then Dim filePath As String = OpenFileDialog.FileName If Not filePath.EndsWith(".ini") Then MsgBox("Please select a file ending in INI") End If ‘Read configuration file fileIni = New IniFile(filePath) cmb_id.Text = fileIni.ReadIniValue("Implants", "id") cmb_use.Text = fileIni.ReadIniValue("Implants", "use") cmb_chnum.Text = fileIni.ReadIniValue("Implants", "Chnum") tb_mark.Text = fileIni.ReadIniValue("Implants", "Mark") tb_devid.Text = fileIni.ReadIniValue("Implants", "DevId") tb_modid.Text = fileIni.ReadIniValue("Implants", "ModId") cmb_timenum.Text = fileIni.ReadIniValue("Implants", "Timenum") Dim section As String = "CH" ‘(This.Controls["label1" + s.ToString()] as Label).xxx For i As Integer = 1 To fileIni.ReadIniValue("Implants", "Chnum") Me.Controls("gb_implantsChannleSetting" & i).Controls("cmb_gain" & i).Text = fileIni.ReadIniValue(section & i, "gain") Me.Controls("gb_implantsChannleSetting" & i).Controls("cmb_pole" & i).Text = fileIni.ReadIniValue(section & i, "pole") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_zero" & i).Text = fileIni.ReadIniValue(section & i, "Zero") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_range" & i).Text = fileIni.ReadIniValue(section & i, "Range") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_clear" & i).Text = fileIni.ReadIniValue(section & i, "Clear") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_v_u" & i).Text = fileIni.ReadIniValue(section & i, "V/U") Next End If End Sub
Private Sub bt_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save.Click ‘Save configuration file Dim filePath As String = "setting.ini" If FolderBrowserDialog.ShowDialog = DialogResult.OK Then filePath = FolderBrowserDialog.SelectedPath & "\" & filePath fileIni = New IniFile(filePath) fileIni.WriteIniValue("Implants", "id", cmb_id.Text) fileIni.WriteIniValue("Implants", "use", cmb_use.Text) fileIni.WriteIniValue("Implants", "Chnum", cmb_chnum.Text) fileIni.WriteIniValue("Implants", "Mark", "ox55") fileIni.WriteIniValue("Implants", "DevId", tb_devid.Text) fileIni.WriteIniValue("Implants", "ModId", tb_modid.Text) fileIni.WriteIniValue("Implants", "Timenum", cmb_timenum.Text) fileIni.WriteIniValue("CH1", "gain", cmb_gain1.Text) fileIni.WriteIniValue("CH1", "pole", cmb_pole1.Text) fileIni.WriteIniValue("CH1", "Zero", tb_zero1.Text) fileIni.WriteIniValue("CH1", "Range", tb_range1.Text) fileIni.WriteIniValue("CH1", "Clear", tb_clear1.Text) fileIni.WriteIniValue("CH1", "V/U", tb_v_u1.Text) fileIni.WriteIniValue("CH2", "gain", cmb_gain2.Text) fileIni.WriteIniValue("CH2", "pole", cmb_pole2.Text) fileIni.WriteIniValue("CH2", "Zero", tb_zero2.Text) fileIni.WriteIniValue("CH2", "Range", tb_range2.Text) fileIni.WriteIniValue("CH2", "Clear", tb_clear2.Text) fileIni.WriteIniValue("CH2", "V/U", tb_v_u2.Text) fileIni.WriteIniValue("CH3", "gain", cmb_gain3.Text) fileIni.WriteIniValue("CH3", "pole", cmb_pole3.Text) fileIni.WriteIniValue("CH3", "Zero", tb_zero3.Text) fileIni.WriteIniValue("CH3", "Range", tb_range3.Text) fileIni.WriteIniValue("CH3", "Clear", tb_clear3.Text) fileIni.WriteIniValue("CH3", "V/U", tb_v_u3.Text) fileIni.WriteIniValue("CH4", "gain", cmb_gain4.Text) fileIni.WriteIniValue("CH4", "pole", cmb_pole4.Text) fileIni.WriteIniValue("CH4", "Zero", tb_zero4.Text) fileIni.WriteIniValue("CH4", "Range", tb_range4.Text) fileIni.WriteIniValue("CH4", "Clear", tb_clear4.Text) fileIni.WriteIniValue("CH4", "V/U", tb_v_u4.Text) End If
Imports System.Collections.Generic Imports System.Text Imports System.Runtime.InteropServices Public Class IniFile Public filePath As String_ Private Shared Function WritePrivateProfileString(ByVal section As String, ByVal key As String, ByVal val As String, ByVal filePath As String) As Long End Function _ Private Shared Function GetPrivateProfileString(ByVal section As String, ByVal key As String, ByVal def As String, ByVal retVal As StringBuilder, ByVal size As Integer, ByVal filePath As String) As Integer End Function Public Sub New(ByVal iniPath As String) filePath = iniPath End Sub Public Sub WriteIniValue(ByVal Section As String, ByVal Key As String, ByVal value As String) WritePrivateProfileString(Section, Key, value, Me.filePath) End Sub Public Function ReadIniValue(ByVal Section As String, ByVal Key As String) As String Dim temp As New StringBuilder(255) Dim i As Integer = GetPrivateProfileString(Section, Key, "", temp, 255, Me.filePath) Return temp.ToString() End Function End Class
Private Sub bt_read_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_read.Click OpenFileDialog.Filter = "ini file (*.ini)|*.ini" If OpenFileDialog.ShowDialog = DialogResult.OK Then Dim filePath As String = OpenFileDialog.FileName If Not filePath.EndsWith(".ini") Then MsgBox("Please select a file ending in INI") End If ‘Read configuration file fileIni = New IniFile(filePath) cmb_id.Text = fileIni.ReadIniValue("Implants", "id") cmb_use.Text = fileIni.ReadIniValue("Implants", "use") cmb_chnum.Text = fileIni.ReadIniValue("Implants", "Chnum") tb_mark.Text = fileIni.ReadIniValue("Implants", "Mark") tb_devid.Text = fileIni.ReadIniValue("Implants", "DevId") tb_modid.Text = fileIni.ReadIniValue("Implants", "ModId") cmb_timenum.Text = fileIni.ReadIniValue("Implants", "Timenum") Dim section As String = "CH" ‘(This.Controls["label1" + s.ToString()] as Label).xxx For i As Integer = 1 To fileIni.ReadIniValue("Implants", "Chnum") Me.Controls("gb_implantsChannleSetting" & i).Controls("cmb_gain" & i).Text = fileIni.ReadIniValue(section & i, "gain") Me.Controls("gb_implantsChannleSetting" & i).Controls("cmb_pole" & i).Text = fileIni.ReadIniValue(section & i, "pole") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_zero" & i).Text = fileIni.ReadIniValue(section & i, "Zero") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_range" & i).Text = fileIni.ReadIniValue(section & i, "Range") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_clear" & i).Text = fileIni.ReadIniValue(section & i, "Clear") Me.Controls("gb_implantsChannleSetting" & i).Controls("tb_v_u" & i).Text = fileIni.ReadIniValue(section & i, "V/U") Next End If End Sub
Private Sub bt_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save.Click ‘Save configuration file Dim filePath As String = "setting.ini" If FolderBrowserDialog.ShowDialog = DialogResult.OK Then filePath = FolderBrowserDialog.SelectedPath & "\" & filePath fileIni = New IniFile(filePath) fileIni.WriteIniValue("Implants", "id", cmb_id.Text) fileIni.WriteIniValue("Implants", "use", cmb_use.Text) fileIni.WriteIniValue("Implants", "Chnum", cmb_chnum.Text) fileIni.WriteIniValue("Implants", "Mark", "ox55") fileIni.WriteIniValue("Implants", "DevId", tb_devid.Text) fileIni.WriteIniValue("Implants", "ModId", tb_modid.Text) fileIni.WriteIniValue("Implants", "Timenum", cmb_timenum.Text) fileIni.WriteIniValue("CH1", "gain", cmb_gain1.Text) fileIni.WriteIniValue("CH1", "pole", cmb_pole1.Text) fileIni.WriteIniValue("CH1", "Zero", tb_zero1.Text) fileIni.WriteIniValue("CH1", "Range", tb_range1.Text) fileIni.WriteIniValue("CH1", "Clear", tb_clear1.Text) fileIni.WriteIniValue("CH1", "V/U", tb_v_u1.Text) fileIni.WriteIniValue("CH2", "gain", cmb_gain2.Text) fileIni.WriteIniValue("CH2", "pole", cmb_pole2.Text) fileIni.WriteIniValue("CH2", "Zero", tb_zero2.Text) fileIni.WriteIniValue("CH2", "Range", tb_range2.Text) fileIni.WriteIniValue("CH2", "Clear", tb_clear2.Text) fileIni.WriteIniValue("CH2", "V/U", tb_v_u2.Text) fileIni.WriteIniValue("CH3", "gain", cmb_gain3.Text) fileIni.WriteIniValue("CH3", "pole", cmb_pole3.Text) fileIni.WriteIniValue("CH3", "Zero", tb_zero3.Text) fileIni.WriteIniValue("CH3", "Range", tb_range3.Text) fileIni.WriteIniValue("CH3", "Clear", tb_clear3.Text) fileIni.WriteIniValue("CH3", "V/U", tb_v_u3.Text) fileIni.WriteIniValue("CH4", "gain", cmb_gain4.Text) fileIni.WriteIniValue("CH4", "pole", cmb_pole4.Text) fileIni.WriteIniValue("CH4", "Zero", tb_zero4.Text) fileIni.WriteIniValue("CH4", "Range", tb_range4.Text) fileIni.WriteIniValue("CH4", "Clear", tb_clear4.Text) fileIni.WriteIniValue("CH4", "V/U", tb_v_u4.Text) End If