如何读写ini文件

tyjk 2003-06-09 06:13:05
比如说,我在程序的目录下面建立了一个aaa.ini文件,内容是
[v1]
a=12
b=50
c=30
[v2]
a=12
b=50
c=30
[v3]
a=12
b=50
c=30
如果我要在程序中把v1下面的a键的值读入到程序中的text1.text中,怎么编程
还有怎么把text1.text中的数据写入到v1的a的健值中
...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rappercn 2003-06-09
  • 打赏
  • 举报
回复
VB没有直接读写INI文件的语句,必须借助Windows API来操作INI文件。相应的Windows API函数有两类:一类是GetProfileInt、GetProfileString、WriteProfileInt和WriteProfileString,它们是读写Win.ini中的设置;另一类是GetPrivateProfileInt、GetPrivateProfileString、WritePrivateProfileInt和WritePrivateProfileString,它们可以读写如何一个.ini文件。这些函数的声明都在Win32api.txt中找到。先在VB中建立一个模块,输入以下代码:
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 String) As Long

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
下面的例子将从njcom.ini中读取NJStar Communicator的目录。
Dim s As String * 256

GetPrivateProfileString "NJCOM Options", _
"Home Directory", "", s, 256, "njcom.ini"
Label1.Caption = s
下面的例子将利用WritePrivateProfileString删除掉njcom.ini中Home Directory设置。这里我们的第三个参数不是通常的字符串,而是0&,这里你可以看到我们在声明参数类型时使用As Any的好处。
WritePrivateProfileString "NJCOM Options", _
"Home Directory", 0&, "njcom.ini"
lihonggen0 2003-06-09
  • 打赏
  • 举报
回复
http://www.dapha.net/down/list.asp?id=374

http://www.dapha.net/down/list.asp?id=950
lihonggen0 2003-06-09
  • 打赏
  • 举报
回复

建立与读取.ini文件

作者: cww 

  虽然进入win95之後,一般读写ini文件被读写Registry所取代,但我们还是可以透过
win31的传统方式读写ini文件,以存程式目前的相关设定,而於下一次程式执行时再
读回来。目前建议使用GetSetting SaveSetting的方式存於Registry中,不用目前
的方式。 储存程式的设定
'请於form中放3个TextBox,一个CommandBox
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 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

Private Sub Command1_Click()
Dim success As Long
success = WritePrivateProfileString("MyApp", "text1", Text1.Text, "c:\aa.ini")
'叁数一 Section Name
'叁数二 於.ini中的项目
'叁数三 项目的内容
'叁数四 .ini文件的名称
success = WritePrivateProfileString("MyApp", "text2", Text2.Text, "c:\aa.ini")
success = WritePrivateProfileString("MyApp2", "text3", Text3.Text, "c:\aa.ini")
End Sub

Private Sub Form_load()
Dim ret As Long
Dim buff As String
buff = String(255, 0)
ret = GetPrivateProfileString("Myapp", "text1", "text1", buff, 256, "c:\aa.ini")
'若.ini MyApp中无text1,则采用叁数三的值
Text1.Text = buff
buff = String(255, 0)
ret = GetPrivateProfileString("Myapp", "text2", "text2", buff, 256, "c:\aa.ini")
Text2.Text = buff
buff = String(255, 0)
ret = GetPrivateProfileString("Myapp2", "text3", "text3", buff, 256, "c:\aa.ini")
Text3.Text = buff
End Sub



 


7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧