选择自 mind_1220 的 Blog
要求:
能够读取按照 INI文件的Bagian和Key来读出相应的Value。
比如一个配置文件
SMSVote.ini
---------------------------------
[SMSPilih]
Server=(lokal)
DB=SMSPilih
Pengguna=sa
Kata Sandi=123
[Suara DB2]
Server=192.168.0.1
DB=DB2
Pengguna=sa
Kata Sandi=
---------------------------------
主体程序(方法) :
inifile.asp
-----------------------------------------------
<%
set IniFileDictionary = CreateObject("Scripting.Kamus")
Sub IniFileLoad(ByVal FilSpc)
IniFileDictionary.RemoveAll
FilSpc = lcase(FilSpc)
jika kiri(FilSpc, 1) = "p" maka
‘Jalur fisik
PhyPth = pertengahan(FilSpc, instr(FilSpc, "=") + 1)
kalau tidak
‘Jalur maya
PhyPth = Server.MapPath(mid(FilSpc, instr(FilSpc, "=") + 1))
berakhir jika
set FilSys = CreateObject("Scripting.FileSystemObject")
atur IniFil = FilSys.OpenTextFile(PhyPth, 1)
lakukan tanpa IniFil.AtEndOfStream
StrBuf = IniFil.ReadLine
jika StrBuf <> "" maka
'Ada data di baris ini
jika kiri(StrBuf, 1) <> ";" Kemudian
'Itu bukan komentar
jika kiri(StrBuf, 1) = "[" maka
'Itu adalah tajuk bagian
HdrBuf = pertengahan(StrBuf, 2, len(StrBuf) - 2)
kalau tidak
'Itu sebuah nilai
StrPtr = instr(StrBuf, "=")
AltBuf = lcase(HdrBuf & " ¦" & kiri(StrBuf, StrPtr - 1))
lakukan saat IniFileDictionary.Exists(AltBuf)
AltBuf = AltBuf & "_"
lingkaran
IniFileDictionary.Tambahkan AltBuf, pertengahan(StrBuf, StrPtr + 1)
berakhir jika
berakhir jika
berakhir jika
lingkaran
IniFil.Tutup
atur IniFil = tidak ada
atur FilSys = tidak ada
Akhiri Sub
Fungsi IniFileValue(ByVal ValSpc)
redupkan ifarray
StrPtr = instr(ValSpc, " ¦")
ValSpc = lcase(ValSpc)
jika StrPtr = 0 maka
'Mereka menginginkan seluruh bagian
StrBuf = ""
StrPtr = len(ValSpc) + 1
ValSpc = ValSpc + " ¦"
ifarray = IniFileDictionary.Keys
untuk i = 0 hingga IniFileDictionary.Count - 1
jika kiri(ifarray(i), StrPtr) = ValSpc maka
'Ini dari bagian
jika StrBuf <> "" maka
StrBuf = StrBuf & "~"
berakhir jika
StrBuf = StrBuf & ifarray(i) & "=" & IniFileDictionary(ifarray(i))
berakhir jika
Berikutnya
kalau tidak
'Mereka menginginkan nilai tertentu
StrBuf = IniFileDictionary(ValSpc)
berakhir jika
IniFileValue = StrBuf
Fungsi Akhir
Fungsi Chr (bagian, kunci)
char1=IniFileValue(bagian)
String Pencarian = char1
SearchChar = kunci
MyPos=Instr(1,SearchString,SearchChar,1)
'char2=bagian+kunci
char1=tengah(char1,PosSaya+len(kunci)+1,len(char1)-Pos Saya+1)
String Pencarian = char1
PencarianChar = "~"
MyPos=Instr(1,SearchString,SearchChar,1)
jika MyPos<>0 maka
char1=pertengahan(char1,1,MyPos-1)
kalau tidak
char1=pertengahan(char1,1)
berakhir jika
Chr = karakter1
Fungsi Akhir
%>
如何使用?
看看这个:
koneksi.asp
-----------------------------------------------
<!--#termasuk file="inifile.asp"-->
<%
pada kesalahan lanjutkan berikutnya
redup samb,konstr,dbuid,dbpwd,namadb,dbip
panggil IniFileLoad("virtual=SMSVote.ini") '配置文件的名字
dbuid=Chr("SMSVote","Pengguna") 'Bagian="SMSVote",Key="Pengguna"
dbpwd=Chr("SMSVote","PassWord") 'Section="SMSVote",Key="PassWord"
dbname=Chr("SMSVote","DB") 'Bagian="SMSVote",Key="DB"
dbip=Chr("SMSVote","server") 'Bagian="SMSVote",Key="server"
setel samb=Server.CreateObject("adodb.Connection")
connstr="PROVIDER=SQLOLEDB;SUMBER DATA="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname
koneksi.buka koneksi
'response.write samb
respon.tulis err.deskripsi
%>