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

ASP
IIS的安装和配置全过程
多语言网站开发技术分析
ASP完美转化ACCESS为SQL数据库连接
解决IIS下UTF-8文件报错乱码的问题
ASP打开任何类型文件提示保存
ASP教程:Stream 速查
asp生成UTF-8格式的文件
动态网站建站应知应会
2000/XP IIS配置问题
怎样在xp下配置iis
ASP教程:数组数据排序的程序例子
ASP教程:ASP是不区分大小写
一些语言的标识符的命名规则
ASP教程:表单内容提交到XML文件中
ASP是不是值得学习呢?
详细的关于ASP缓存类的教程
ASP教程:ASP关于数组的应用技巧
ASP教程:Expires 属性的介绍
SQL关于特殊字符处理的基本方法
XMLHTTP实时进行表单数据的校验

用ASP读INI配置文件的函数


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