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

ASP
ASP 3.0高级编程(十一)
ASP 3.0高级编程(十三)
ASP 3.0高级编程(十四)
ASP 3.0高级编程(十五)
ASP 3.0高级编程(十六)
ASP 3.0高级编程(十七)
ASP 3.0高级编程(十八)
ASP 3.0高级编程(十九)
ASP 3.0高级编程(二十)
ASP 3.0高级编程(二十一)
ASP 3.0高级编程(二十二)
ASP 3.0高级编程(二十三)
ASP+配置 — ASP+配置概念(二)
ASP+配置 — ASP+配置概念(三)
ASP+全新接触(1)
ASP+全新接触(2)
ASP+全新接触(3)
ASP+全新接触(4)
asp+语法教程(一)前言
asp+语法教程(二)书写我们的第一个asp+文件

用ASP读INI配置文件的函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 36 ::
收藏到网摘: 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