前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB.NET 对ini配置文件操作类

VB.NET 对ini配置文件操作类

作者头像
一线编程
发布2019-07-22 14:46:33
1.3K0
发布2019-07-22 14:46:33
举报
文章被收录于专栏:办公魔盒办公魔盒

科普;

.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了。但在某些情况,还是要直接编辑ini才方便,一般只有很熟悉windows才能去直接编辑。

开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。

'---------------------------------------------------------------------------------------------

应用:

1、可用于用户名记录,即像QQ一样记住用户名和用户密码,下次打开软件,直接加载用户名,可解决用户使用时要输入重复输入用户名密码等操作

2、还可以记录软件自身的配置,下次打开直接加载

'---------------------------------------------------------------------------------------------

写入操作及文件展示:

读取及展示:


用法示例:

Dim a As New cls_ini

a.insert_ini("vb小源码公众号", "vb小源码公众号作者", "巴西_prince")

TextBox1.Text = a.getstr_ini("vb小源码公众号", "vb小源码公众号作者", "")


类文件源码:

Imports System.IO

Public Class cls_ini

''' <summary>

''' 定义获取ini整数型的ini值

''' </summary>

''' <param name="node_ini">节点名</param>

''' <param name="key_ini">配置项名</param>

''' <param name="get_value">要获得的值</param>

''' <param name="path_ini">文件路径</param>

''' <returns></returns>

''' <remarks></remarks>

Private Declare Function get_int_ini Lib "kernel32" Alias "GetPrivateProfileIntA" _

(ByVal node_ini As String, ByVal key_ini As String, ByVal get_value As Integer, ByVal _

path_ini As String) As Integer

''' <summary>

''' 定义获取ini字符串类型的值

''' </summary>

''' <param name="node_ini">节点名</param>

''' <param name="key_ini">配置项名</param>

''' <param name="get_value">要获得的值</param>

''' <param name="buf_value">获得缓冲值</param>

''' <param name="buf_length">获得缓冲值长度</param>

''' <param name="path_ini">文件路径</param>

''' <returns></returns>

''' <remarks></remarks>

Private Declare Function get_str_ini Lib "kernel32" Alias "GetPrivateProfileStringA" _

(ByVal node_ini As String, ByVal key_ini As String, ByVal get_value As String, ByVal _

buf_value As String, ByVal buf_length As Integer, ByVal path_ini As String) As Integer

''' <summary>

''' 定义向ini写入字符串值

''' </summary>

''' <param name="node_ini">节点名</param>

''' <param name="key_ini">配置项名</param>

''' <param name="set_value">要写入的值</param>

''' <param name="path_ini">文件路径</param>

''' <returns></returns>

''' <remarks></remarks>

Private Declare Function insetr_value_ini Lib "kernel32" Alias "WritePrivateProfileStringA" _

(ByVal node_ini As String, ByVal key_ini As String, ByVal set_value As String, ByVal path_ini _

As String) As Integer

''' <summary>

''' 从INI配置文件中获取类型为Int的配置项的值

''' </summary>

''' <param name="node_name">节点名</param>

''' <param name="key_Name">配置项名</param>

''' <param name="get_Value">获取值</param>

''' <returns></returns>

''' <remarks></remarks>

Public Function getint_ini(ByVal node_name As String, ByVal key_Name As String, ByVal get_Value As Integer) As Integer

getint_ini = get_int_ini(node_name, key_Name, get_Value, create_ini)

End Function

''' <summary>

''' 从INI配置文件中获取类型为string的配置项的值

''' </summary>

''' <param name="node_name">节点名</param>

''' <param name="key_Name">配置项名</param>

''' <param name="get_Value">获取值</param>

''' <returns></returns>

''' <remarks></remarks>

Public Function getstr_ini(ByVal node_name As String, ByVal key_Name As String, ByVal get_Value As String) As String

Dim buf_value As String

Dim get_str As Integer

buf_value = Space(256)

get_str = get_str_ini(node_name, key_Name, get_Value, buf_value, buf_value.Length, create_ini)

getstr_ini = Left(buf_value, InStr(buf_value, vbNullChar) - 1)

End Function

''' <summary>

''' 向INI配置文件中写入类型为string的配置项的值

''' </summary>

''' <param name="node_name">节点名</param>

''' <param name="keyName">配置项名</param>

''' <param name="set_value">设置值</param>

''' <returns></returns>

''' <remarks></remarks>

Public Function insert_ini(ByVal node_name As String, ByVal keyName As String, ByVal set_value As String) As Integer

Dim get_str As Integer

get_str = insetr_value_ini(node_name, keyName, set_value, create_ini)

If get_str Then

get_str = 1

End If

insert_ini = get_str

End Function

Private Function create_ini() As String

Dim path As String = ""

Dim fd_path As String = ""

fd_path = "C:\Users\" & Environment.UserName & "\AppData\Roaming\vb_小源码\"

path = "C:\Users\" & Environment.UserName & "\AppData\Roaming\vb_小源码\vb_小源码.ini"

If Directory.Exists(fd_path) = False Then Directory.CreateDirectory(fd_path)

If Not File.Exists(path) Then File.Create(path)

Return path

End Function

End Class

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档