大灰狼的ASP工具箱——用ASP讀INI設定檔的函數。

來源:互聯網
上載者:User
函數|函數 要求:  
能夠讀取按照  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  
               'Thi



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.