选择自 mind_1220 的博客
要求:
能够按照INI文件的Section和Key来读取相应的Value。
比如说一个配置文件
短信投票.ini
---------------------------------
[短信投票]
服务器=(本地)
DB=短信投票
用户=sa
密码=123
[DB2投票]
服务器=192.168.0.1
DB=DB2
用户=sa
密码=
---------------------------------
主体程序(方法):
ini文件
-----------------------------------------------------------
<%
设置 IniFileDictionary = CreateObject("Scripting.Dictionary")
子 IniFileLoad(ByVal FilSpc)
IniFileDictionary.RemoveAll
FilSpc = lcase(FilSpc)
如果 left(FilSpc, 1) = "p" 那么
'物理路径
PhyPth = mid(FilSpc, instr(FilSpc, "=") + 1)
别的
'虚拟路径
PhyPth = Server.MapPath(mid(FilSpc, instr(FilSpc, "=") + 1))
结束如果
设置 FilSys = CreateObject("Scripting.FileSystemObject")
设置 IniFil = FilSys.OpenTextFile(PhyPth, 1)
在不 IniFil.AtEndOfStream 时执行
StrBuf = IniFil.ReadLine
如果 StrBuf <> "" 那么
'这条线上有数据
if left(StrBuf, 1) <> ";" 然后
'这不是评论
如果左(StrBuf,1)=“[”那么
'这是一个节标题
HdrBuf = mid(StrBuf, 2, len(StrBuf) - 2)
别的
'这是一个值
StrPtr = instr(StrBuf, "=")
AltBuf = lcase(HdrBuf & " " & left(StrBuf, StrPtr - 1))
while IniFileDictionary.Exists(AltBuf) 执行
AltBuf = AltBuf & "_"
环形
IniFileDictionary.Add AltBuf, mid(StrBuf, StrPtr + 1)
结束如果
结束如果
结束如果
环形
初始关闭
设置 IniFil = 无
设置 FilSys = 无
结束子
函数 IniFileValue(ByVal ValSpc)
昏暗的 ifarray
StrPtr = instr(ValSpc, " ψ")
ValSpc = lcase(ValSpc)
如果 StrPtr = 0 那么
“他们想要整个部分
StrBuf=“”
StrPtr = len(ValSpc) + 1
ValSpc = ValSpc + " "
ifarray = IniFileDictionary.Keys
对于 i = 0 到 IniFileDictionary.Count - 1
如果 left(ifarray(i), StrPtr) = ValSpc 那么
'这是来自该部分
如果 StrBuf <> "" 那么
StrBuf = StrBuf & “~”
结束如果
StrBuf = StrBuf & ifarray(i) & "= & IniFileDictionary(ifarray(i))
结束如果
下一个
别的
“他们想要一个特定的价值
StrBuf = IniFileDictionary(ValSpc)
结束如果
IniFileValue = StrBuf
结束功能
函数 Chr(节,键)
char1=IniFileValue(节)
搜索字符串=char1
搜索字符 = 键
MyPos=Instr(1,搜索字符串,搜索字符,1)
'char2=节+键
char1=mid(char1,MyPos+len(key)+1,len(char1)-MyPos+1)
搜索字符串=char1
搜索字符=“~”
MyPos=Instr(1,搜索字符串,搜索字符,1)
如果 MyPos<>0 那么
char1=mid(char1,1,MyPos-1)
别的
字符1=中(字符1,1)
结束如果
Chr = 字符1
结束功能
%>
如何使用?
看看这个:
康涅狄格州
-----------------------------------------------------------
<!--#include file="inifile.asp"-->
<%
出错时继续下一步
暗淡 conn、connstr、dbuid、dbpwd、dbname、dbip
call IniFileLoad("virtual=SMSVote.ini") '配置文件的名称
dbuid=Chr("SMSVote","用户") 'Section="SMSVote",Key="用户"
dbpwd=Chr("SMSVote","PassWord") 'Section="SMSVote",Key="PassWord"
dbname=Chr("SMSVote","DB") 'Section="SMSVote",Key="DB"
dbip=Chr("SMSVote","服务器") 'Section="SMSVote",Key="服务器"
设置 conn=Server.CreateObject("adodb.Connection")
connstr="PROVIDER=SQLOLEDB;DATA SOURCE="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname
conn.打开 connstr
'response.write conn 'response.write conn
响应.写错误.描述
%>