加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

用ASP读INI配置文件的函数 - ASP教程

发布时间:2016-05-18 22:18:38 所属栏目:Asp教程 来源:网络整理
导读:要求: 能够读取按照INI文件的Section和Key来读出相应的Value。 比如一个配置文件 SMSVote.ini --------------------------------- [SMSVote] Server=(local) D
要求:

能够读取按照INI文件的Section和Key来读出相应的Value。

比如一个配置文件

SMSVote.ini
---------------------------------
[SMSVote]
Server=(local)
DB=SMSVote
User=sa
PassWord=123
[DB2Vote]
Server=192.168.0.1
DB=DB2
User=sa
PassWord=
---------------------------------

主体程序(方法) :

inifile.asp

-----------------------------------------------

<%
set IniFileDictionary = CreateObject("Scripting.Dictionary")
Sub IniFileLoad(ByVal FilSpc)
IniFileDictionary.RemoveAll
FilSpc = lcase(FilSpc)
if left(FilSpc, 1) = "p" then
'Physical path
PhyPth = mid(FilSpc, instr(FilSpc, "=") + 1)
else
'Virtual path
PhyPth = Server.MapPath(mid(FilSpc, instr(FilSpc, "=") + 1))
end if
set FilSys = CreateObject("Scripting.FileSystemObject")
set IniFil = FilSys.OpenTextFile(PhyPth, 1)
do while not IniFil.AtEndOfStream
StrBuf = IniFil.ReadLine
if StrBuf <> "" then
'There is data on this line
if left(StrBuf, 1) <> ";" then
'It's not a comment
if left(StrBuf, 1) = "[" then
'It's a section header
HdrBuf = mid(StrBuf, 2, len(StrBuf) - 2)
else
'It's a value
StrPtr = instr(StrBuf, "=")

AltBuf = lcase(HdrBuf & " ¦" & left(StrBuf, StrPtr - 1))
do while IniFileDictionary.Exists(AltBuf)
AltBuf = AltBuf & "_"
loop
IniFileDictionary.Add AltBuf, mid(StrBuf, StrPtr + 1)
end if
end if
end if
loop
IniFil.Close
set IniFil = nothing
set FilSys = nothing
End Sub
Function IniFileValue(ByVal ValSpc)
dim ifarray
StrPtr = instr(ValSpc, " ¦")
ValSpc = lcase(ValSpc)
if StrPtr = 0 then
'They want the whole section
StrBuf = ""
StrPtr = len(ValSpc) + 1
ValSpc = ValSpc + " ¦"
ifarray = IniFileDictionary.Keys 
for i = 0 to IniFileDictionary.Count - 1
if left(ifarray(i), StrPtr) = ValSpc then
'This is from the section
if StrBuf <> "" then
StrBuf = StrBuf & "~"
end if
StrBuf = StrBuf & ifarray(i) & "=" & IniFileDictionary(ifarray(i))

end if
next
else
'They want a specific value
StrBuf = IniFileDictionary(ValSpc)
end if
IniFileValue = StrBuf
End Function
Function Chr(section,key)
char1=IniFileValue(section)
SearchString =char1
SearchChar = key
MyPos=Instr(1,SearchString,SearchChar,1)
'char2=section+key
char1=mid(char1,MyPos+len(key)+1,len(char1)-MyPos+1)
SearchString =char1
SearchChar = "~"
MyPos=Instr(1,SearchString,SearchChar,1)
if MyPos<>0 then
char1=mid(char1,1,MyPos-1)
else
char1=mid(char1,1)
end if
Chr = char1
End Function
%>

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读