⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何列举ini文件中所有的项.txt

📁 以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题.对一些VB初学者很用.
💻 TXT
字号:
在 QA000940 “VB中如何读取INI文件”中 介 绍 了 如 何 读 写 INI文 件 。 读 INI文 件 应 该 使 用 GetPrivateProfileString, 该 函 数 定 义 如 下 : 
    Declare Function GetPrivateProfileString Lib _ 
     "kernel32" Alias "GetPrivateProfileStringA" ( _ 
     ByVal lpApplicationName As Any, ByVal lpKeyName As Any, _ 
     ByVal lpDefault As String, ByVal lpReturnedString As String, _ 
     ByVal nSize As Long, ByVal lpFileName As String) As Long 
    请 注 意 这 里 我 们 定 义 前 两 个 参 数 为 Any类 型 。 按 照 API说 明 , 如 果 lpApplicationName参 数 为 NULL, 则 该 函 数 返 回 所 有 的 段 , 如 : 
     Dim s As String 
     s = Space(256) 
     GetPrivateProfileString 0&, 0&, "", s, 256, "control.ini" 
     Dim v As Variant 
     v = Split(s, Chr(0)) 
     Dim i 
     For i = 0 To UBound(v) 
     List1.AddItem v(i) 
     Next 
    这 里 的 Split是 VB6的 新 函 数 , vb6的 用 户 可 以 使 用 : 
     Public Function Split(ByVal sIn As String, Optional sDelim As _ 
     String, Optional nLimit As Long = -1, Optional bCompare As _ 
     VbCompareMethod = vbBinaryCompare) As Variant 
     Dim sRead As String, sOut() As String, nC As Integer 
     If sDelim = "" Then 
     Split = sIn 
     End If 
     sRead = ReadUntil(sIn, sDelim, bCompare) 
     Do 
     ReDim Preserve sOut(nC) 
     sOut(nC) = sRead 
     nC = nC + 1 
     If nLimit <> -1 And nC >= nLimit Then Exit Do 
     sRead = ReadUntil(sIn, sDelim) 
     Loop While sRead <> "" 
     ReDim Preserve sOut(nC) 
     sOut(nC) = sIn 
     Split = sOut 
     End Function 
     
     Public Function ReadUntil(ByRef sIn As String, _ 
     sDelim As String, Optional bCompare As VbCompareMethod _ 
     = vbBinaryCompare) As String 
     Dim nPos As String 
     nPos = InStr(1, sIn, sDelim, bCompare) 
     If nPos > 0 Then 
     ReadUntil = Left(sIn, nPos - 1) 
     sIn = Mid(sIn, nPos + Len(sDelim)) 
     End If 
     End Function 
    而 如 果 第 一 个 参 数 不 为 NULL, 第 二 个 参 数 为 NULL, 则 返 回 段 中 所 有 项 的 名 字 , 如 
     Dim s As String 
     s = Space(256) 
     GetPrivateProfileString "don't load", 0&, "", s, 256, "control.ini" 
     Dim v As Variant 
     v = Split(s, Chr(0)) 
     Dim i 
     For i = 0 To UBound(v) 
     List1.AddItem v(i) 
     Next 
<END>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -