您正在使用 IPV4 [44.211.116.163] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
悟空收录网       [公益]保护绿色环境,构建和谐社会      

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折      
[公益] 地球是我家,绿化靠大家      
2024年 清明节 006
2024年 劳动节 033
2025年 元 旦 278
2025年 春 节 306
 
您现在的位置:首页 >> ASP/ASP.net >> 内容
本类新增
本类热门
用ASP读INI配置文件的函数
内容摘要: 选择自 mind_1220 的 Blog 要求:能够读取按照INI文件的Section和Key来读出相应的Value。比如一个配置文件SMSVote.ini---------------------------------[SMSVote]Server=(local)DB=SMSVoteUser=saPassWord=123[DB2Vote]Server=1......

选择自 mind_1220 的 Blog

要求:

能够读取按照 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

%>

如何使用?

看看这个:

conn.asp

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

<!--#include file="inifile.asp"-->

<%

on error resume next

dim conn,connstr,dbuid,dbpwd,dbname,dbip

call IniFileLoad("virtual=SMSVote.ini") '配置文件的名字

dbuid=Chr("SMSVote","User") 'Section="SMSVote",Key="User"

dbpwd=Chr("SMSVote","PassWord") 'Section="SMSVote",Key="PassWord"

dbname=Chr("SMSVote","DB") 'Section="SMSVote",Key="DB"

dbip=Chr("SMSVote","server") 'Section="SMSVote",Key="server"

set conn=Server.CreateObject("adodb.Connection")

connstr="PROVIDER=SQLOLEDB;DATA SOURCE="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname

conn.open connstr

'response.write conn

response.write err.description

%>

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:限制某段IP地址

 

下一篇:ASP将access数据导出为excel电子表的方法

发布日期:2021/6/15
手机扫二维码直达本页
发布时间:12:34:56
点  击:8
录  入:齐天大圣
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....