当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP读INI配置文件的函数

ASP
如何把ASP编写成DLL(3)
ASP实用大全-实战ASP(1)
ASP实用大全-实战ASP(2)
ASP实用大全-实战ASP(3)
ASP实用大全-实战ASP(4)
ASP实用大全-实战ASP(5)
ASP实用大全-实战ASP(6)
ASP实用大全-实战ASP(7)
ASP实用大全-实战ASP(8)
ASP中Cookie使用指南
Flash和Asp数据库的结合应用
asp模块化分页制作详解
ASP中使用SQL语句操作数据库
浅谈ASP中Web页面间的数据传递
一个采集入库生成本地文件的几个FUCTION
微软建议的ASP性能优化28条守则(1)
微软建议的ASP性能优化28条守则(2)
微软建议的ASP性能优化28条守则(3)
微软建议的ASP性能优化28条守则(4)
微软建议的ASP性能优化28条守则(5)

用ASP读INI配置文件的函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 93 ::
收藏到网摘: n/a

 

选择自 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 
                   IniF