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

科普:

.ini 文件,即Initialization File的缩写,是Windows系统配置文件所采用的存储格式,负责管理Windows的各种配置。通常,用户可以通过Windows提供的图形化管理界面来实现相同的配置,但在某些情况下,直接编辑.ini文件会更加方便。不过,这通常需要对Windows系统有较深入的了解。

.ini文件最初用于WIN3X系统,后来在WIN95中被注册表所取代。文件中的节相当于注册表中的键。

应用:

用户名记录:类似于QQ,可以记住用户名和密码,下次打开软件时直接加载,避免用户重复输入用户名和密码。

软件配置记录:可以记录软件自身的配置,下次打开时直接加载。

写入操作及文件展示:

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

标书对比王 标书对比王

标书对比王是一款标书查重工具,支持多份投标文件两两相互比对,重复内容高亮标记,可快速定位重复内容原文所在位置,并可导出比对报告。

标书对比王 58 查看详情 标书对比王

读取及展示:

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

用法示例:

Dim a As New cls_inia.insert_ini("vb小源码公众号", "vb小源码公众号作者", "巴西_prince")TextBox1.Text = a.getstr_ini("vb小源码公众号", "vb小源码公众号作者", "")

类文件源码:

Imports System.IO

Public Class cls_ini'''

''' 定义获取ini整数型的ini值''' ''' 节点名''' 配置项名''' 要获得的值''' 文件路径''' ''' Private Declare Function get_intini Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal node_ini As String, ByVal key_ini As String, ByVal getvalue As Integer, ByVal path_ini As String) As Integer

''' ''' 定义获取ini字符串类型的值''' ''' 节点名''' 配置项名''' 要获得的值''' 获得缓冲值''' 获得缓冲值长度''' 文件路径''' ''' 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''' ''' 定义向ini写入字符串值''' ''' 节点名''' 配置项名''' 要写入的值''' 文件路径''' ''' 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''' ''' 从INI配置文件中获取类型为Int的配置项的值''' ''' 节点名''' 配置项名''' 获取值''' ''' 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''' ''' 从INI配置文件中获取类型为string的配置项的值''' ''' 节点名''' 配置项名''' 获取值''' ''' 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''' ''' 向INI配置文件中写入类型为string的配置项的值''' ''' 节点名''' 配置项名''' 设置值''' ''' 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_strEnd FunctionPrivate Function create_ini() As String    Dim path As String = ""    Dim fd_path As String = ""    fd_path = "C:Users" & Environment.UserName & "AppDataRoamingvb_小源码"    path = "C:Users" & Environment.UserName & "AppDataRoamingvb_小源码vb_小源码.ini"    If Directory.Exists(fd_path) = False Then Directory.CreateDirectory(fd_path)    If Not File.Exists(path) Then File.Create(path)    Return pathEnd Function

End Class

以上就是VB.NET 对ini配置文件操作类的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/375328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月6日 09:29:08
下一篇 2025年11月6日 09:30:13

相关推荐

  • Golang如何优雅地使用工厂模式 对比简单工厂与抽象工厂差异

    简单工厂适合对象种类不多的情况,通过统一的工厂函数根据参数返回不同实例,如创建dog和cat对象;抽象工厂用于创建一组相互关联的对象且存在多种变体,例如根据不同操作系统创建对应的ui控件。两者核心区别在于处理对象关系的复杂度:简单工厂仅支持单一类别,新增类型需修改工厂逻辑;抽象工厂支持多组合扩展,符…

    2025年12月15日 好文分享
    000
  • Golang如何实现跨平台文件锁 讲解flock与fcntl系统调用封装

    1.flock与fcntl的主要区别在于锁定粒度和作用对象。flock是文件级锁,作用于文件描述符,适用于整个文件的互斥访问;而fcntl是字节级锁,作用于文件inode,支持对文件特定区域加锁。2.适用场景上,flock适合简单进程互斥,如防止程序重复启动;fcntl适合复杂并发控制,如数据库多进…

    2025年12月15日 好文分享
    000
  • Golang如何发布私有模块 配置GOPRIVATE环境变量最佳实践

    要发布golang私有模块并成功引用,主要步骤是:1.将模块代码推送到私有仓库;2.打版本标签并推送远程;3.在客户端设置goprivate环境变量;4.配置ssh或https认证。goprivate通过绕过公共代理和校验,解决私有模块无法访问、认证失败及隐私泄露问题,其支持通配符匹配路径,需根据实…

    2025年12月15日 好文分享
    000
  • Go语言程序编译:从源码到可执行文件的路径

    Go语言的程序编译过程设计简洁高效,通常涉及将源代码编译为中间对象文件,再链接生成可执行程序。本教程将详细解析Go程序编译的两种主要方法:一是通过独立的编译器(如6g)和链接器(如6l)分步完成,二是通过集成式编译器(如gccgo)一键生成可执行文件,展示Go语言在不同工具链下的编译实践。 Go程序…

    2025年12月15日
    000
  • Go语言程序编译与执行详解

    Go语言的编译过程极其简洁高效,通常只需一个命令即可将源代码编译为独立的可执行文件。本文将详细介绍Go程序从源代码到运行的完整流程,涵盖了现代常用的go build和go run命令,并简要提及了历史上的编译工具,旨在帮助开发者深入理解Go的编译机制,实现高效的开发与部署。 Go语言的现代编译方式:…

    2025年12月15日
    000
  • Go语言程序编译入门指南

    Go语言的编译过程通常非常直接和高效。开发者主要通过Go标准工具链中的go build命令将源代码编译成可执行文件,或使用go run直接运行源代码。本文将详细介绍Go语言的编译流程,包括现代常用的go build和go run命令,并简要提及早期编译工具,帮助读者轻松掌握Go程序的编译与执行。 1…

    2025年12月15日
    000
  • Go 语言编译指南:从源代码到可执行文件

    本文详细阐述 Go 语言程序的编译过程,从源码到生成可执行文件。我们将重点介绍 Go 官方工具链中最常用的 go build 命令,它极大地简化了编译流程。同时,也会探讨早期工具链(如 6g 和 6l)以及替代编译器 gccgo 的工作原理,帮助读者全面理解 Go 语言的高效编译机制及其演进,从而更…

    2025年12月15日
    000
  • Go语言与GUI开发:现状、挑战与实践选择

    Go语言并非主要为图形用户界面(GUI)开发而设计,因此其主流集成开发环境(IDE)通常不内置类似Visual Studio或NetBeans那样的可视化GUI设计器。尽管Go语言本身具备构建GUI应用的能力,但其生态系统在这方面相对不成熟,开发者需依赖第三方库和工具,并通常采用代码驱动或Web技术…

    2025年12月15日
    000
  • 深入理解Go语言编译流程:从源码到可执行文件

    Go语言的编译过程以其简洁高效著称。开发者通常通过官方工具链(如go build或go run)将Go源代码直接编译成独立的可执行文件,无需外部依赖。本文将详细介绍Go语言的编译机制,包括传统工具链、gccgo以及现代go build命令的使用,并提供实践示例和注意事项,帮助读者全面掌握Go程序的编…

    2025年12月15日
    000
  • Golang如何实现高效的文件复制 对比io.Copy与syscall.Sendfile性能差异

    在 golang 中,若要在性能敏感场景中高效复制文件,应优先选择 syscall.sendfile。1. io.copy 通用性强但性能较低,因其涉及多次内存拷贝和上下文切换;2. sendfile 利用零拷贝技术,在内核态直接传输数据,显著提升大文件传输效率;3. io.copy 在某些情况下会…

    2025年12月15日 好文分享
    000
  • Golang如何创建和删除目录 目录操作API使用指南

    在 golang 中创建和删除目录主要通过 os 库实现,1. 使用 os.mkdir 创建单层目录,需确保父目录存在;2. 使用 os.mkdirall 递归创建多级目录;3. 删除空目录用 os.remove;4. 删除非空目录用 os.removeall,需谨慎使用;5. 注意权限设置、路径选…

    2025年12月15日 好文分享
    000
  • Golang如何安全地处理文件路径 讲解filepath包的跨平台特性

    使用filepath包的原因是其能跨平台自动选择正确路径分隔符,避免移植问题。1. filepath.join用于安全拼接路径,自动适配系统分隔符;2. filepath.clean用于规范化路径,合并多余符号;3. filepath.abs用于获取绝对路径;4. filepath.split用于拆…

    2025年12月15日 好文分享
    000
  • Golang二进制文件体积大 如何精简可执行文件

    golang编译出的二进制文件体积大,主要因静态链接、调试信息和符号表等默认保留内容所致。1. 使用 -s -w 参数可去除调试信息和符号表,减少几十kb到几mb体积;2. 利用 upx 工具压缩文件,压缩率可达原大小的 1/3 至 1/4,但需注意可能触发安全软件误报;3. 减少依赖库引入,清理 …

    2025年12月15日 好文分享
    000
  • Go语言在Windows平台上的编译探索:基于早期PE格式支持的实践

    本文详细介绍了在Windows操作系统上编译Go语言(特指早期支持PE格式的特定版本)的实践步骤。教程涵盖了必要的先决条件工具安装、Mercurial代码库的克隆,以及在MSYS环境下配置环境变量和执行编译脚本的具体指令。文章还提供了关于早期端口的注意事项,强调了通过源码编译以保持与项目最新进展同步…

    2025年12月15日
    000
  • 在Windows上编译Go语言(早期实验性版本)指南

    本文详细介绍了在Windows操作系统上编译早期Go语言版本(基于Hectorchu分支)的详细步骤。指南涵盖了从准备开发环境(如MinGW、MSYS、Mercurial等)到执行编译脚本的全过程,并提供了必要的环境变量配置。鉴于这是Go语言在Windows上的早期实验性移植,文章强调了其历史性和实…

    2025年12月15日
    000
  • Go语言在Windows上的编译实践:探索PE格式支持

    本教程详细介绍了在Go语言早期发展阶段,如何在Windows操作系统上通过特定端口(如Hector的Go-Windows项目)编译Go语言源代码,以生成PE格式的可执行文件。内容涵盖了环境准备、所需工具安装、源代码克隆、MSYS环境配置以及编译过程中的关键步骤与注意事项。旨在为希望深入了解Go语言早…

    2025年12月15日
    000
  • Golang模块如何管理平台特定代码 讲解文件后缀与构建约束

    golang管理平台特定代码的方法主要有两种:文件后缀和构建约束。1. 文件后缀方式简单直接,例如_windows.go只在windows编译,_linux.go只在linux编译,适用于小型项目。2. 构建约束更灵活,通过//go:build windows或//go:build linux等注释…

    2025年12月15日 好文分享
    000
  • Golang中如何安全删除文件 详解os.Remove与权限检查的注意事项

    在 golang 中安全删除文件需注意路径、权限及错误处理等问题。1. 先使用 os.stat 检查文件是否存在,避免误操作;2. 使用 os.remove 删除文件,但需注意其不会递归删除目录且删除后不可恢复;3. 通过 os.openfile 检查是否有写权限,尽管最终仍以 os.remove …

    2025年12月15日 好文分享
    000
  • 如何通过早期端口在Windows上编译Go语言(基于Hector的源代码)

    本教程详细介绍了在Go语言早期发展阶段,如何利用Hector的特定源代码分支在Windows系统上编译Go。文章涵盖了编译所需的MinGW、MSYS、Python和Mercurial等先决条件,并提供了在MSYS环境下设置环境变量、克隆代码库以及执行编译脚本的详细步骤。虽然此方法代表了Go在Wind…

    2025年12月15日
    000
  • Go语言共享库(.so)构建与动态链接实践

    Go语言自引入-linkshared和-buildmode=shared编译标志后,已支持创建和使用共享库(.so文件)。本教程将详细介绍如何通过Go命令构建可共享的标准库和自定义包,并最终动态链接程序,从而显著减小最终可执行文件的大小,提升部署效率。这为Go应用程序的模块化和资源优化提供了新的途径…

    2025年12月15日
    000

发表回复

登录后才能评论
关注微信