VB与SQLServer2000数据库连接时,将连接信息写成ini文件或者记录文件
ini的内容至少包括servername,databasename,username,password四个方面内容,请问,如何在VB执行时取来ini文件的信息,它的执行过程如何?
ini的内容至少包括servername,databasename,username,password四个方面内容,请问,如何在VB执行时取来ini文件的信息,它的执行过程如何?
解决方案 »
- 一个文本框数据绑定的问题
- vb 电子版下载
- 如何给编写的控件提供一个容器
- 如何做向导?
- 求助VB通讯数据识别处理
- 将图片以二进制的形式写入数据库mdb出错
- 如何将小数转换成整数?
- 急急急!!! 哪位大虾能够解决这个大问题,100分重谢!关于vb和sourcesafe的
- 我做了一个控件,其中用了Tabstript控件,所以要保证在用户的机器上system目录下有comctl32.ocx,我怎么发布我的控件,也就是说如果用户没有comctl32.ocx,我就要把它拷到用户的system下??请教各位。
- 这么简单的程式我都弄不来 , 真笨啊!!!!帮我一把 各位!!!!!
- 高手帮忙看为什么出错啊
- 报表问题!!!想把两个字段的合打印出来如何实现!
'读写INI文件模块
Public 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
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal AppName As String, ByVal KeyName As String, ByVal keydefault As String, ByVal Filename As String) As LongPublic Function myReadINI(iniFileName, iniSection, iniKey, iniDefault)
'该函数的使用与读注册表类似
'inifilename为INI文件名,inisection为INI文件中的项目,inikey为项目下的键名称,inidefault为默认键值
'If no section (appname), default is first appname
'(若无项目名,默认为初始名称)
'if no key, default is first key
'(若无键名,默认为初始键名)
Dim lpApplicationName As String
Dim lpKeyName As String
Dim lpDefault As String
Dim lpReturnedString As String
Dim nSize As Long
Dim lpFileName As String
Dim retval As Long
Dim Filename As String
'判断INI文件是否存在
If Dir(iniFileName) <> "" Then
lpDefault = Space$(254)
lpDefault = iniDefault
lpReturnedString = Space$(254)
nSize = 254
lpFileName = iniFileName
lpApplicationName = iniSection
lpKeyName = iniKey
Filename = lpFileName
retval = GetPrivateProfileString(lpApplicationName, lpKeyName, lpDefault, lpReturnedString, nSize, lpFileName)
myReadINI = lpReturnedString
End If
End FunctionPublic Function myWriteINI(iniFileName As String, iniSection As String, iniKey As String, Info As String) As String
'该函数的使用与写注册表类似,可在INI文件中添加或修改项、键、值
'iniFileName为INI文件名,inisection为INI文件中的项目,inikey为项目下的键名称,Info为键值
Dim retval As Long
retval = WritePrivateProfileString(iniSection, iniKey, Info, iniFileName)
myWriteINI = LTrim$(Str$(retval))
End FunctionPublic Sub DelSectionINI(iniFileName As String, iniSection As String)
'该过程可删除INI文件中指定的项
'iniFileName为INI文件名,iniSection为指定的项
'判断INI文件是否存在
If Dir(iniFileName) <> "" Then
WritePrivateProfileString iniSection, vbNullString, vbNullString, iniFileName
End If
End SubPublic Sub DelKeyINI(iniFileName As String, iniSection As String, iniKey As String)
'该过程可删除INI文件中指定的键
'iniFileName为INI文件名,iniSection为指定的项,iniKey为指定的键
'判断INI文件是否存在
If Dir(iniFileName) <> "" Then
WritePrivateProfileString iniSection, iniKey, vbNullString, iniFileName
End If
End SubPublic Sub DelValueINI(iniFileName As String, iniSection As String, iniKey As String)
'该过程可删除INI文件中指定键的值
'iniFileName为INI文件名,iniSection为指定的项,iniKey为指定的键
'判断INI文件是否存在
If Dir(iniFileName) <> "" Then
WritePrivateProfileString iniSection, iniKey, "", iniFileName
End If
End SubPublic Sub DelFileINI(iniFileName As String)
'该过程可删除INI文件
'iniFileName为INI文件名
'判断INI文件是否存在
If Dir(iniFileName) <> "" Then
Kill iniFileName
End If
End Sub
'功能:ini文件读写函数
'作者:黄旭东
'日期:2004-10-22
'版权:CopyRight 2001-2005 By Faib Studio
'网址:http://faib.yeah.net
'邮件:[email protected] ExplicitPrivate 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 GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName 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 LongDim i As Integer, Buffer As StringPublic Function GetValue(FileName As String, Section As String, Name As String) As String
'读取INI文件值
On Error GoTo er
Dim s As String
s = String(1024, 0)
s = Left(s, Val(GetPrivateProfileString(Section, Name, "", s, Len(s), FileName)))
i = InStr(s, Chr(0))
If i <> 0 Then GetValue = Left(s, i - 1) Else GetValue = s
er:
If Err.number <> 0 Then GetValue = vbNullChar
End FunctionPublic Function DeleteSection(FileName As String, Section As String) As Long
'删除指定节点
DeleteSection = WritePrivateProfileString(Section, vbNullString, vbNullString, FileName)
End FunctionPublic Function DeleteValue(FileName As String, Section As String, Name As String) As Long
'删除指定键名
DeleteValue = WritePrivateProfileString(Section, Name, vbNullString, FileName)
End FunctionPublic Function SetValue(FileName As String, Section As String, Name As String, Value As String) As Long
'设置指定键的值
SetValue = WritePrivateProfileString(Section, Name, Value, FileName)
End FunctionPublic Function EnumValue(FileName As String, Section As String, Key() As String) As Long
'获取指定节点下的所有键
On Error GoTo er
Dim ss As String
Dim pos As Integer, Count As Integer
Buffer = String(32767, 0)
GetPrivateProfileSection Section, Buffer, Len(Buffer), FileName
pos = InStr(Buffer, Chr(0))
Do
ReDim Preserve Key(Count)
ss = Left(Buffer, pos - 1)
Key(Count) = Left(ss, InStr(1, ss, "=") - 1)
Buffer = Mid(Buffer, pos + 1)
pos = InStr(Buffer, Chr(0))
If pos <= 1 Then Exit Do
Count = Count + 1
Loop
EnumValue = Count
Exit Function
er:
ReDim Key(0)
EnumValue = 0
End FunctionPublic Function EnumSection(FileName As String, Section() As String) As Long
'获取所有节点
On Error GoTo er
Dim Length As Long, pos As Integer, Count As Integer
Buffer = String(32767, 0)
Length = GetPrivateProfileString(vbNullString, vbNullString, "", Buffer, Len(Buffer), FileName)
Buffer = Left(Buffer, Length)
Do
ReDim Preserve Section(Count)
pos = InStr(Buffer, Chr(0))
If Left(Buffer, pos - 1) = "" Then Exit Do
Section(Count) = Left(Buffer, pos - 1)
Buffer = Mid(Buffer, pos + 1)
If Len(Buffer) <= 0 Then Exit Do
Count = Count + 1
Loop
EnumSection = Count
Exit Function
er:
ReDim Section(0)
EnumSection = 0
End FunctionPublic Function SectionExists(FileName As String, Section As String) As Boolean
On Error GoTo er
Dim Length As Long, pos As Integer, Count As Integer
Buffer = String(32767, 0)
Length = GetPrivateProfileString(vbNullString, vbNullString, "", Buffer, Len(Buffer), FileName)
Buffer = Left(Buffer, Length)
Do
pos = InStr(Buffer, Chr(0))
If Left(Buffer, pos - 1) = "" Then Exit Do
If UCase(Left(Buffer, pos - 1)) = UCase(Section) Then SectionExists = True: Exit Do
Buffer = Mid(Buffer, pos + 1)
If Len(Buffer) <= 0 Then Exit Do
Loop
Exit Function
er:
SectionExists = False
End Function
Ini.SetValue FileName, "data", "servername", ServerName
Ini.SetValue FileName, "data", "databasename", DatabaseName
Ini.SetValue FileName, "data", "username", Username
Ini.SetValue FileName, "data", "password", Password
读:
ServerName = Ini.GetValue(FileName, "data", "servername")
DatabaseName = Ini.GetValue(FileName, "data", "databasename")
Username = Ini.GetValue(FileName, "data", "username")
Password = Ini.GetValue(FileName, "data", "password")
我在VB中读写ini在窗体中怎么写?