正文

用VB操作INI文件2008-09-21 08:51:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/enc999/38402.html

分享到:

一、实现方法如下:

1、新建一个工程/窗体(窗体取名为ini.frm),在此窗体中添加三个命令按钮控件,分别为command1、command2、command3
command1.Caption= "write"
command2.Caption= "read"
command3.Caption= "End"

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 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 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


Private Sub Command1_Click()
Dim A As Long
'写信息
'修改ABC.INI文件中各字段中关键字的值
'如果该文件不存在会自动建立,当函数返回值为0时说明修改不成功
A = WritePrivateProfileString("系统时间", "本次操作日期", Str$(Date), App.Path & "\ABC.INI")
A = WritePrivateProfileString("系统时间", "本次操作时间", Str$(Time), App.Path & "\ABC.INI")
A = WritePrivateProfileString("窗体位置及大小", "顶部", Str$(Form1.Top), App.Path & "\ABC.INI")
A = WritePrivateProfileString("窗体位置及大小", "高度", Str$(Form1.Height), App.Path & "\ABC.INI")
A = WritePrivateProfileString("窗体位置及大小", "宽度", Str$(Form1.Width), App.Path & "\ABC.INI")
A = WritePrivateProfileString("窗体位置及大小", "左部", Str$(Form1.Left), App.Path & "\ABC.INI")
If A = 0 Then MsgBox ("写文件时出错")
End Sub


Private Sub Command2_Click()
Dim A As Long
Dim T As String
Dim x As Integer
'读取信息
Form1.Cls  'Form1清屏
T = Space$(1000) '事先定义读取值的字串宽度
'读取ABC.INI文件中TIP字段中START的值并打印出来
'当函数返回值为0时说明读取数据出错
A = GetPrivateProfileString("系统时间", "本次操作时间", "", T, 1000, App.Path & "\ABC.INI")
Print Left$(T, Len(Trim$(T)) - 1)
If A = 0 Then MsgBox "找不到所需字段": Exit Sub
x = GetPrivateProfileInt("窗体位置及大小", "高度", x, App.Path & "\ABC.INI")
Print "高度=" & x
x = GetPrivateProfileInt("窗体位置及大小", "宽度", x, App.Path & "\ABC.INI")
Print "宽度=" & x
x = GetPrivateProfileInt("窗体位置及大小", "左部", x, App.Path & "\ABC.INI")
Print "左部=" & x
x = GetPrivateProfileInt("窗体位置及大小", "顶部", x, App.Path & "\ABC.INI")
Print "顶部=" & x
If A = 0 Then MsgBox "找不到所需字段": Exit Sub
A = GetPrivateProfileString("系统时间", "本次操作日期", "", T, 1000, App.Path & "\ABC.INI")
Print Left$(T, Len(Trim$(T)) - 1)
End Sub

Private Sub Command3_Click()
Call Command1_Click
End
End Sub

Private Sub Form_Load()
Dim A As Long
Dim T As String
Dim x As Integer
'读取信息
x = 0
T = Space$(1000) '事先定义读取值的字串宽度
'读取ABC.INI文件中TIP字段中START的值并打印出来
'当函数返回值为0时说明读取数据出错
x = GetPrivateProfileInt("窗体位置及大小", "高度", x, App.Path & "\ABC.INI")
Form1.Height = x
x = GetPrivateProfileInt("窗体位置及大小", "宽度", x, App.Path & "\ABC.INI")
Form1.Width = x
x = GetPrivateProfileInt("窗体位置及大小", "左部", x, App.Path & "\ABC.INI")
Form1.Left = x
x = GetPrivateProfileInt("窗体位置及大小", "顶部", x, App.Path & "\ABC.INI")
Form1.Top = x
End Sub


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Select Case UnloadMode
Case 0:
    Call Command1_Click
Case 1:
    Call Command1_Click
Case 2:
    Call Command1_Click
End Select
End Sub


二、说明:
注意是指定数据否与函数参数类型相一致

阅读(2666) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册