asp读INI配置文件的函数

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")             '数据库用户名  
            dbpwd=Chr("SMSVote","PassWord")     '数据库用户口令  
            dbname=Chr("SMSVote","DB")               '数据库名  
            dbip=Chr("SMSVote","server")           '数据库所在的IP地址  
   
  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  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值