2010-05-17 40 views

回答

2

粘土,

看看这篇文章在DevX.com

Read/Write INI without using API

这应该让你在一个很好的方向指向。这些模块有点脏,在这一点上,需要存储INI的路径。相反,只需修改模块以直接使用您的字符串,您应该会收到所需的结果。让我知道这是如何解决你的。

1

ini文件将存储在硬盘上。如果你想保存在注册表中,而不是(这应该被添加到注册表文件也是如此),你可以使用这些功能:

SaveSetting 
GetSetting 
0

如果你不想把它保存在磁盘上,我认为这可能是困难使用任何特定的API调用。但是,如果它是一个ini文件,它应该是结构化的格式,为什么不直接循环直到你想要的部分,然后从它读取你想要的值。

这是一个漫长的时间,但它应该是这样的,我认为:

只是Split它换行符得到线组成的数组,然后每个部分应该按照一定格式的开始和在那里的每一行你检查它是否包含一个=我认为,如果是这样的话,那么第一个=左边的所有东西都是该值的名称,它右边的所有内容都是值。

0

声明两个Windows API函数进口

Public Declare Function GetPrivateProfileStringA Lib "kernel32.dll" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long 

Public Declare Function WritePrivateProfileStringA Lib "kernel32.dll" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long 

对于阅读

sReturn = Space(255) 
sReturn = Left(sReturn, GetPrivateProfileStringA(header, key, defaultReturn, sReturn, 255, filePath)) 

对于书面方式

WritePrivateProfileStringA header, key, Datum, filePath 

记住的INI文件的结构是

[header] 
key=data 
+0

Carolos,那些从/到FILES而不是从内部字符串读取/写入的。 – 2010-05-21 22:55:46

0

是的,在VB6中几乎所有的东西都是可能的。但我不认为有任何Windows API来做到这一点。

如果你找不到一个图书馆来做到这一点,你将不得不为自己编码。如果您必须自己编写代码,请参阅您是否可以找到一些可用于ini文件的现有代码,以了解如何使用ini文件。

+0

有两个用于处理INI文件的窗口API函数,GetPrivateProfileStringA和WritePrivateProfileStringA。 – 2010-05-21 21:12:50

+0

那些需要一个文件。 – Echo 2010-05-22 05:29:13

相关问题