VB.NET如何实现ini文件的读写操作示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计678个文字,预计阅读时间需要3分钟。
csharpImports System.Collections.GenericImports System.TextImports System.Runtime.InteropServices
Public Class IniFile Public filePath As String
Private Shared Function WritePrivateProfileString(ByVal section As String, ByVal key As String, ByVal value As String, ByVal filePath As String) As Boolean End Function
Imports System.Collections.Generic Imports System.Text Imports System.Runtime.InteropServices Public Class IniFile Public filePath As String <DllImport("kernel32")> _ Private Shared Function WritePrivateProfileString(ByVal section As String, ByVal key As String, ByVal val As String, ByVal filePath As String) As Long End Function <DllImport("kernel32")> _ 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文件(*.ini)|*.ini" If OpenFileDialog.ShowDialog = DialogResult.OK Then Dim filePath As String = OpenFileDialog.FileName If Not filePath.EndsWith(".ini") Then MsgBox("请选择以INI结尾的文件") End If ‘读取配置文件 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 ‘保存配置文件 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
本文共计678个文字,预计阅读时间需要3分钟。
csharpImports System.Collections.GenericImports System.TextImports System.Runtime.InteropServices
Public Class IniFile Public filePath As String
Private Shared Function WritePrivateProfileString(ByVal section As String, ByVal key As String, ByVal value As String, ByVal filePath As String) As Boolean End Function
Imports System.Collections.Generic Imports System.Text Imports System.Runtime.InteropServices Public Class IniFile Public filePath As String <DllImport("kernel32")> _ Private Shared Function WritePrivateProfileString(ByVal section As String, ByVal key As String, ByVal val As String, ByVal filePath As String) As Long End Function <DllImport("kernel32")> _ 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文件(*.ini)|*.ini" If OpenFileDialog.ShowDialog = DialogResult.OK Then Dim filePath As String = OpenFileDialog.FileName If Not filePath.EndsWith(".ini") Then MsgBox("请选择以INI结尾的文件") End If ‘读取配置文件 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 ‘保存配置文件 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

