读写ini文件函数(vb)

上传人:子 文档编号:43194689 上传时间:2018-06-04 格式:DOC 页数:8 大小:34KB
返回 下载 相关 举报
读写ini文件函数(vb)_第1页
第1页 / 共8页
读写ini文件函数(vb)_第2页
第2页 / 共8页
读写ini文件函数(vb)_第3页
第3页 / 共8页
读写ini文件函数(vb)_第4页
第4页 / 共8页
读写ini文件函数(vb)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《读写ini文件函数(vb)》由会员分享,可在线阅读,更多相关《读写ini文件函数(vb)(8页珍藏版)》请在金锄头文库上搜索。

1、读写读写 INIINI 文件函数文件函数(VB)(VB)VB 读写 INI 文件函数详解1、 Private Declare Function GetPrivateProfileInt Lib “kernel32“ Alias “GetPrivateProfileIntA“ (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long 说明:为初始化文件中指定的条目获取一个整数值,返回值 Long,找到的条目的值

2、;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其中合法的一部分。如,对于“xyz=55zz”这个条目,函数返回 55。这个函数也能理解采用标准 C 语言格式的十六进制数字:用 0x 作为一个十六进制数字的前缀所以 0x55ab 等价于 vb 的&H55AB参数类型及说明lpApplicationName String,指定在其中查找条目的小节。注意这个字串是不区分大小写的lpKeyName String,欲获取的设置项或条目。这个支持不区分大小写nDefault Long,指定条目未找到时返回的默认值lpFileName String,初始化文件的名字。如果没有

3、指定完整的路径名,windows 就会在 Windows 目录中搜索文件 2、 Private Declare Function GetPrivateProfileString Lib “kernel32“ Alias “GetPrivateProfileStringA“ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As S

4、tring) As Long说明 :为初始化文件中指定的条目取得字串,返回值 Long,复制到lpReturnedString 缓冲区的字节数量,其中不包括那些 NULL 中止字符。如 lpReturnedString 缓冲区不够大,不能容下全部信息,就返回 nSize-1 若 lpApplicationName 或 lpKeyName 为 NULL,则返回nSize-2)参数类型及说明:lpApplicationName String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为 vbNullString,就在lpReturnedString 缓冲区内装载这个 ini 文件所有小

5、节的列表lpKeyName String,欲获取的项名或条目名。这个字串不区分大小写。如设为 vbNullString,就在 lpReturnedString 缓冲区内装载指定小节所有项的列表lpDefault String,指定的条目没有找到时返回的默认值。可设为空(“)lpReturnedString String,指定一个字串缓冲区,长度至少为nSizenSize Long,指定装载到 lpReturnedString 缓冲区的最大字符数量lpFileName String,初始化文件的名字。如没有指定一个完整路径名,windows 就在 Windows 目录中查找文件注解:如 lpKe

6、yName 参数为 vbNullString,那么lpReturnedString 缓冲区会载入指定小节所有设置项的一个列表。每个项都用一个 NULL 字符分隔,最后一个项用两个 NULL 字符中止。也请参考 GetPrivateProfileInt 函数的注解3、 Private Declare Function WritePrivateProfileString Lib “kernel32“ Alias “WritePrivateProfileStringA“ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal

7、 lpString As Any, ByVal lpFileName As String) As Long说明: 在初始化文件指定小节内设置一个字串 ,返回值 Long,非零表示成功,零表示失败。会设置 GetLastError参数类型及说明:lpApplicationName - String,要在其中写入新字串的小节名称。这个字串不区分大小写。lpKeyName - Any,要设置的项名或条目名。这个字串不区分大小写。用 vbNullString 可删除这个小节的所有设置项。lpString - String,指定为这个项写入的字串值。用vbNullString 表示删除这个项现有的字串。

8、lpFileName - String,初始化文件的名字。如果没有指定完整路径名,则 windows 会在 windows 目录查找文件。如果文件没有找到,则函数会创建它。4、 Private Declare Function GetWindowsDirectory Lib “kernel32“ Alias “GetWindowsDirectoryA“ (ByVal lpBuffer As String, ByVal nSize As Long) As Long说明:这个函数能获取 Windows 目录的完整路径名。在这个目录里,保存了大多数 windows 应用程序文件及初始化文件,返回值

9、Long,复制到 lpBuffer 的一个字串的长度。如 lpBuffer 不够大,不能容下整个字串,就会返回 lpBuffer 要求的长度。零表示失败。会设置GetLastError 参数类型及说明:lpBuffer String,指定一个字串缓冲区,用于装载 Windows目录名。除非是根目录,否则目录中不会有一个中止用的“”字符nSize Long,lpBuffer 字串的最大长度 自定义读写 INI 函数: 写 INI 文件(字符串)Public Sub WriteINI(ByVal FileName As String, ByVal App As String, ByVal Key

10、As String, ByVal strValue As String) Dim Result As Long Result = WritePrivateProfileString(App, Key, strValue, FileName) End Sub 读整型 Public Function GetINIint(ByVal FileName As String, ByVal App As String, ByVal Key As String) As Long Dim Result As Long Result = GetPrivateProfileInt(App, Key, 0, Fil

11、eName) GetINIint = Result End Function 读字符串 Public Function GetINIstr(ByVal FileName As String, ByVal App As String, ByVal Key As String) As String Dim Result As Long Dim BufferStr As String * 255 Result = GetPrivateProfileString(App, Key, “, BufferStr, Len(BufferStr), FileName) If Result = 0 Then G

12、etINIstr = “ Else GetINIstr = Left(BufferStr, Result) End If End Function 例子: 文件名 SourceDB.ini 文件 Private Declare Function GetPrivateProfileString Lib “kernel32“ Alias “GetPrivateProfileStringA“ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedSt

13、ring As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib “kernel32“ Alias “WritePrivateProfileStringA“ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long 以下两个函数,

14、读/写 ini 文件,固定节点 setting,in_key 为写入/读取的主键 仅仅针对是非值 Y:yes,N:no,E:error Public Function GetIniTF(ByVal In_Key As String) As Boolean On Error GoTo GetIniTFErr GetIniTF = True Dim GetStr As String GetStr = VBA.String(128, 0) GetPrivateProfileString “Setting“, In_Key, “, GetStr, 256, App.Path & “SourceDB.i

15、ni“ GetStr = VBA.Replace(GetStr, VBA.Chr0), “) If GetStr = “1“ Then GetIniTF = True GetStr = “ Else GoTo GetIniTFErr End If Exit Function GetIniTFErr: Err.Clear GetIniTF = False GetStr = “ End Function Public Function WriteIniTF(ByVal In_Key As String, ByVal In_Data As Boolean) As Boolean On Error G

16、oTo WriteIniTFErr WriteIniTF = True If In_Data = True Then WritePrivateProfileString “Setting“, In_Key, “1“, App.Path & “SourceDB.ini“ Else WritePrivateProfileString “Setting“, In_Key, “0“, App.Path & “SourceDB.ini“ End If Exit Function WriteIniTFErr: Err.Clear WriteIniTF = False End Function 以下两个函数,读/写 ini 文件,不固定节点,in_key 为写入/读取的主键 针对字符串值 空值表示出错 Public Function GetIniStr(ByVal AppName As String, ByVal In_Key As String) As String On Error GoTo GetIniStrErr If VBA.Trim(In_K

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号